diff options
Diffstat (limited to 'tests/ui/thread-local/non-static.rs')
-rw-r--r-- | tests/ui/thread-local/non-static.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/thread-local/non-static.rs b/tests/ui/thread-local/non-static.rs new file mode 100644 index 000000000..f1c427387 --- /dev/null +++ b/tests/ui/thread-local/non-static.rs @@ -0,0 +1,30 @@ +// Check that #[thread_local] attribute is rejected on non-static items. +#![feature(thread_local)] + +#[thread_local] +//~^ ERROR attribute should be applied to a static +const A: u32 = 0; + +#[thread_local] +//~^ ERROR attribute should be applied to a static +fn main() { + #[thread_local] || {}; + //~^ ERROR attribute should be applied to a static +} + +struct S { + #[thread_local] + //~^ ERROR attribute should be applied to a static + a: String, + b: String, +} + +#[thread_local] +// Static. OK. +static B: u32 = 0; + +extern "C" { + #[thread_local] + // Foreign static. OK. + static C: u32; +} |