
I'm removing empty identifiers everywhere, because in practice they always mean "no identifier" rather than "empty identifier". (An empty identifier is impossible.) It's better to use `Option` to mean "no identifier" because you then can't forget about the "no identifier" possibility. Some specifics: - When testing an attribute for a single name, the commit uses the `has_name` method. - When testing an attribute for multiple names, the commit uses the new `has_any_name` method. - When using `match` on an attribute, the match arms now have `Some` on them. In the tests, we now avoid printing empty identifiers by not printing the identifier in the `error:` line at all, instead letting the carets point out the problem.
80 lines
2.1 KiB
Text
80 lines
2.1 KiB
Text
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:7:19
|
|
|
|
|
LL | #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | / {
|
|
LL | | 1
|
|
LL | | };
|
|
| |_____- not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:13:15
|
|
|
|
|
LL | #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | type InvalidTy = ();
|
|
| -------------------- not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:16:15
|
|
|
|
|
LL | #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | mod invalid_module {}
|
|
| --------------------- not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:20:27
|
|
|
|
|
LL | let _ = #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | (|| 1);
|
|
| ------ not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:24:15
|
|
|
|
|
LL | #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | struct F;
|
|
| --------- not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:27:15
|
|
|
|
|
LL | #[no_sanitize(memory)]
|
|
| ^^^^^^
|
|
LL | / impl F {
|
|
LL | | #[no_sanitize(memory)]
|
|
LL | | fn valid(&self) {}
|
|
LL | | }
|
|
| |_- not a function
|
|
|
|
error: `#[no_sanitize(memory)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:33:24
|
|
|
|
|
LL | #[no_sanitize(address, memory)]
|
|
| ^^^^^^
|
|
LL | static INVALID : i32 = 0;
|
|
| ------------------------- not a function
|
|
|
|
error: `#[no_sanitize(...)]` should be applied to a function
|
|
--> $DIR/no-sanitize.rs:42:15
|
|
|
|
|
LL | #[no_sanitize("address")]
|
|
| ^^^^^^^^^
|
|
...
|
|
LL | static VALID2 : i32 = 0;
|
|
| ------------------------ not a function
|
|
|
|
error: invalid argument for `no_sanitize`
|
|
--> $DIR/no-sanitize.rs:42:15
|
|
|
|
|
LL | #[no_sanitize("address")]
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: expected one of: `address`, `cfi`, `hwaddress`, `kcfi`, `memory`, `memtag`, `shadow-call-stack`, or `thread`
|
|
|
|
error: aborting due to 9 previous errors
|
|
|