summaryrefslogtreecommitdiffstats
path: root/src/test/ui/thread-local/non-static.rs
blob: f1c4273870bffdbdd0e830c2af39e7363714386d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
}