-
Notifications
You must be signed in to change notification settings - Fork 32
/
static-drop-scope.rs
50 lines (38 loc) · 1.04 KB
/
static-drop-scope.rs
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
struct WithDtor;
impl Drop for WithDtor {
fn drop(&mut self) {}
}
static PROMOTION_FAIL_S: Option<&'static WithDtor> = Some(&WithDtor);
//~^ ERROR destructor of
const PROMOTION_FAIL_C: Option<&'static WithDtor> = Some(&WithDtor);
//~^ ERROR destructor of
static EARLY_DROP_S: i32 = (WithDtor, 0).1;
//~^ ERROR destructor of
const EARLY_DROP_C: i32 = (WithDtor, 0).1;
//~^ ERROR destructor of
const fn const_drop<T>(_: T) {}
//~^ ERROR destructor of
const fn const_drop2<T>(x: T) {
(x, ()).1
//~^ ERROR destructor of
}
const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;
//~^ ERROR destructor of
const HELPER: Option<WithDtor> = Some(WithDtor);
const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;
//~^ ERROR destructor of
fn main () {}
// ferrocene-annotations: fls_ixjc5jaamx84
// Constants
//
// ferrocene-annotations: fls_4jiw35pan7vn
// Destruction
//
// ferrocene-annotations: fls_u2mzjgiwbkz0
// Destructors
//
// ferrocene-annotations: fls_rm4ncoopcdvj
// Drop Scopes
//
// ferrocene-annotations: fls_afafmafz4hf2
// Drop Order