diff options
Diffstat (limited to 'tests/ui/consts/const-needs_drop.rs')
-rw-r--r-- | tests/ui/consts/const-needs_drop.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui/consts/const-needs_drop.rs b/tests/ui/consts/const-needs_drop.rs new file mode 100644 index 000000000..11ee7084c --- /dev/null +++ b/tests/ui/consts/const-needs_drop.rs @@ -0,0 +1,31 @@ +// run-pass + +use std::mem; + +#[allow(unused_tuple_struct_fields)] +struct Trivial(u8, f32); + +#[allow(unused_tuple_struct_fields)] +struct NonTrivial(u8, String); + +const CONST_U8: bool = mem::needs_drop::<u8>(); +const CONST_STRING: bool = mem::needs_drop::<String>(); +const CONST_TRIVIAL: bool = mem::needs_drop::<Trivial>(); +const CONST_NON_TRIVIAL: bool = mem::needs_drop::<NonTrivial>(); + +static STATIC_U8: bool = mem::needs_drop::<u8>(); +static STATIC_STRING: bool = mem::needs_drop::<String>(); +static STATIC_TRIVIAL: bool = mem::needs_drop::<Trivial>(); +static STATIC_NON_TRIVIAL: bool = mem::needs_drop::<NonTrivial>(); + +fn main() { + assert!(!CONST_U8); + assert!(CONST_STRING); + assert!(!CONST_TRIVIAL); + assert!(CONST_NON_TRIVIAL); + + assert!(!STATIC_U8); + assert!(STATIC_STRING); + assert!(!STATIC_TRIVIAL); + assert!(STATIC_NON_TRIVIAL); +} |