about summary refs log tree commit diff
path: root/tests/ui/error-codes/E0423.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/error-codes/E0423.rs')
-rw-r--r--tests/ui/error-codes/E0423.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/error-codes/E0423.rs b/tests/ui/error-codes/E0423.rs
new file mode 100644
index 00000000000..5080a5e0599
--- /dev/null
+++ b/tests/ui/error-codes/E0423.rs
@@ -0,0 +1,22 @@
+fn main () {
+    struct Foo { a: bool };
+
+    let f = Foo(); //~ ERROR E0423
+}
+
+fn bar() {
+    struct S { x: i32, y: i32 }
+    #[derive(PartialEq)]
+    struct T {}
+
+    if let S { x: _x, y: 2 } = S { x: 1, y: 2 } { println!("Ok"); }
+    //~^ ERROR struct literals are not allowed here
+    if T {} == T {} { println!("Ok"); }
+    //~^ ERROR E0423
+    //~| ERROR expected expression, found `==`
+}
+
+fn foo() {
+    for _ in std::ops::Range { start: 0, end: 10 } {}
+    //~^ ERROR struct literals are not allowed here
+}