1 // min-lldb-version: 310 2 3 // compile-flags:-g 4 5 #![allow(dead_code, unused_variables)] 6 #![feature(omit_gdb_pretty_printer_section)] 7 #![omit_gdb_pretty_printer_section] 8 9 // This test makes sure that the compiler doesn't crash when trying to assign 10 // debug locations to const-expressions. 11 12 use std::cell::UnsafeCell; 13 14 const CONSTANT: u64 = 3 + 4; 15 16 struct Struct { 17 a: isize, 18 b: usize, 19 } 20 const STRUCT: Struct = Struct { a: 1, b: 2 }; 21 22 struct TupleStruct(u32); 23 const TUPLE_STRUCT: TupleStruct = TupleStruct(4); 24 25 enum Enum { 26 Variant1(char), 27 Variant2 { a: u8 }, 28 Variant3 29 } 30 31 const VARIANT1: Enum = Enum::Variant1('v'); 32 const VARIANT2: Enum = Enum::Variant2 { a: 2 }; 33 const VARIANT3: Enum = Enum::Variant3; 34 35 const STRING: &'static str = "String"; 36 37 const VEC: [u32; 8] = [0; 8]; 38 39 const NESTED: (Struct, TupleStruct) = (STRUCT, TUPLE_STRUCT); 40 41 const UNSAFE_CELL: UnsafeCell<bool> = UnsafeCell::new(false); 42 main()43fn main() { 44 let mut _constant = CONSTANT; 45 let mut _struct = STRUCT; 46 let mut _tuple_struct = TUPLE_STRUCT; 47 let mut _variant1 = VARIANT1; 48 let mut _variant2 = VARIANT2; 49 let mut _variant3 = VARIANT3; 50 let mut _string = STRING; 51 let mut _vec = VEC; 52 let mut _nested = NESTED; 53 let mut _unsafe_cell = UNSAFE_CELL; 54 } 55