Skip to content

Commit ef6a3ef

Browse files
authored
Merge pull request #1909 from ehuss/no_builtins
Update `no_builtins` to use the attribute template
2 parents a1749c0 + d42abcd commit ef6a3ef

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

src/attributes/codegen.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,27 @@ The [testing attributes](testing.md) cannot be applied to a naked function.
8585
r[attributes.codegen.no_builtins]
8686
## The `no_builtins` attribute
8787

88-
The *`no_builtins` [attribute]* may be applied at the crate level to disable
89-
optimizing certain code patterns to invocations of library functions that are
90-
assumed to exist.
88+
r[attributes.codegen.no_builtins.intro]
89+
The *`no_builtins` [attribute]* disables optimization of certain code patterns related to calls to library functions that are assumed to exist.
90+
91+
<!-- TODO: This needs expanding, see <https://github.com/rust-lang/reference/issues/542>. -->
92+
93+
> [!EXAMPLE]
94+
> ```rust
95+
> #![no_builtins]
96+
> ```
97+
98+
r[attributes.codegen.no_builtins.syntax]
99+
The `no_builtins` attribute uses the [MetaWord] syntax.
100+
101+
r[attributes.codegen.no_builtins.allowed-positions]
102+
The `no_builtins` attribute can only be applied to the crate root.
103+
104+
r[attributes.codegen.no_builtins.duplicates]
105+
Only the first use of the `no_builtins` attribute has effect.
106+
107+
> [!NOTE]
108+
> `rustc` currently lints against uses following the first.
91109
92110
r[attributes.codegen.target_feature]
93111
## The `target_feature` attribute

0 commit comments

Comments
 (0)