1 // min-lldb-version: 310
5 #![allow(dead_code, unused_variables)]
6 #![feature(omit_gdb_pretty_printer_section)]
7 #![omit_gdb_pretty_printer_section]
9 // This test makes sure that the compiler doesn't crash when trying to assign
10 // debug locations to 'constant' patterns in match expressions.
12 const CONSTANT: u64 = 3;
14 #[derive(PartialEq, Eq)]
19 const STRUCT: Struct = Struct { a: 1, b: 2 };
21 #[derive(PartialEq, Eq)]
22 struct TupleStruct(u32);
23 const TUPLE_STRUCT: TupleStruct = TupleStruct(4);
25 #[derive(PartialEq, Eq)]
31 const VARIANT1: Enum = Enum::Variant1('v');
32 const VARIANT2: Enum = Enum::Variant2 { a: 2 };
33 const VARIANT3: Enum = Enum::Variant3;
35 const STRING: &'static str = "String";
44 // if let 3 = CONSTANT {}
46 match (Struct { a: 2, b: 2 }) {
51 // if let STRUCT = STRUCT {}
53 match TupleStruct(3) {
58 // if let TupleStruct(4) = TUPLE_STRUCT {}
67 match (VARIANT3, VARIANT2) {
68 (VARIANT1, VARIANT3) => {},
69 (VARIANT2, VARIANT2) => {},
70 (VARIANT3, VARIANT1) => {},
74 // if let VARIANT1 = Enum::Variant3 {}
75 // if let VARIANT2 = Enum::Variant3 {}
76 // if let VARIANT3 = Enum::Variant3 {}
83 if let STRING = "def" {}