13 static STATIC: () = ();
18 let doesnt_matter = 0;
21 UnitStruct => {} // OK, `UnitStruct` is a unit struct pattern
24 TupleStruct => {} //~ ERROR match bindings cannot shadow tuple structs
27 BracedStruct => {} // OK, `BracedStruct` is a fresh binding
30 UnitVariant => {} // OK, `UnitVariant` is a unit variant pattern
33 TupleVariant => {} //~ ERROR match bindings cannot shadow tuple variants
36 BracedVariant => {} //~ ERROR match bindings cannot shadow struct variants
39 CONST => {} // OK, `CONST` is a const pattern
42 STATIC => {} //~ ERROR match bindings cannot shadow statics
45 function => {} // OK, `function` is a fresh binding
48 let UnitStruct = UnitStruct; // OK, `UnitStruct` is a unit struct pattern
49 let TupleStruct = doesnt_matter; //~ ERROR let bindings cannot shadow tuple structs
50 let BracedStruct = doesnt_matter; // OK, `BracedStruct` is a fresh binding
51 let UnitVariant = UnitVariant; // OK, `UnitVariant` is a unit variant pattern
52 let TupleVariant = doesnt_matter; //~ ERROR let bindings cannot shadow tuple variants
53 let BracedVariant = doesnt_matter; //~ ERROR let bindings cannot shadow struct variants
54 let CONST = CONST; // OK, `CONST` is a const pattern
55 let STATIC = doesnt_matter; //~ ERROR let bindings cannot shadow statics
56 let function = doesnt_matter; // OK, `function` is a fresh binding