| //@ edition:2018 |
| //@ aux-build:builtin-attrs.rs |
| #![feature(decl_macro)] //~ ERROR `feature` is ambiguous |
| |
| extern crate builtin_attrs; |
| use builtin_attrs::*; |
| use builtin_attrs::{bench, test}; |
| |
| #[repr(C)] //~ ERROR `repr` is ambiguous |
| struct S; |
| #[cfg_attr(all(), repr(C))] //~ ERROR `repr` is ambiguous |
| struct SCond; |
| |
| #[test] // OK, shadowed |
| fn test() {} |
| |
| #[bench] // OK, shadowed |
| fn bench() {} |
| |
| fn non_macro_expanded_location<#[repr(C)] T>() { |
| //~^ ERROR `repr` is ambiguous |
| //~| ERROR attribute should be applied to a struct, enum, or union |
| match 0u8 { |
| #[repr(C)] |
| //~^ ERROR `repr` is ambiguous |
| //~| ERROR attribute should be applied to a struct, enum, or union |
| _ => {} |
| } |
| } |
| |
| fn main() { |
| Test; |
| Bench; |
| NonExistent; //~ ERROR cannot find value `NonExistent` in this scope |
| } |
| |
| use deny as allow; |
| #[allow(unused)] //~ ERROR `allow` is ambiguous |
| fn builtin_renamed() {} |