New example for E0536

This commit is contained in:
Jonathan Brouwer
2025-07-07 09:10:54 +02:00
parent c7f5ddc098
commit 7a7c74ad89
3 changed files with 13 additions and 16 deletions

View File

@@ -3,22 +3,20 @@ The `not` cfg-predicate was malformed.
Erroneous code example:
```compile_fail,E0536
#[cfg(not())] // error: expected 1 cfg-pattern
pub fn something() {}
pub fn main() {}
pub fn main() {
if cfg!(not()) { }
}
```
The `not` predicate expects one cfg-pattern. Example:
```
#[cfg(not(target_os = "linux"))] // ok!
pub fn something() {}
pub fn main() {}
pub fn main() {
if cfg!(not(target_os = "linux")) { } // ok!
}
```
For more information about the `cfg` attribute, read the section on
For more information about the `cfg` macro, read the section on
[Conditional Compilation][conditional-compilation] in the Reference.
[conditional-compilation]: https://doc.rust-lang.org/reference/conditional-compilation.html

View File

@@ -1,4 +1,3 @@
#[cfg(not())] //~ ERROR E0536
pub fn something() {}
pub fn main() {}
pub fn main() {
if cfg!(not()) { } //~ ERROR E0536
}

View File

@@ -1,7 +1,7 @@
error[E0536]: expected 1 cfg-pattern
--> $DIR/E0536.rs:1:7
--> $DIR/E0536.rs:2:13
|
LL | #[cfg(not())]
LL | if cfg!(not()) { }
| ^^^^^
error: aborting due to 1 previous error