]> git.lizzy.rs Git - rust.git/blob - tests/debuginfo/constant-debug-locs.rs
Extend `BYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE`.
[rust.git] / tests / debuginfo / constant-debug-locs.rs
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
43 fn 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 }