summaryrefslogtreecommitdiffstats
path: root/src/test/ui/structs/struct-field-cfg.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/structs/struct-field-cfg.stderr')
-rw-r--r--src/test/ui/structs/struct-field-cfg.stderr39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/structs/struct-field-cfg.stderr b/src/test/ui/structs/struct-field-cfg.stderr
new file mode 100644
index 000000000..5ec47c093
--- /dev/null
+++ b/src/test/ui/structs/struct-field-cfg.stderr
@@ -0,0 +1,39 @@
+error[E0063]: missing field `present` in initializer of `Foo`
+ --> $DIR/struct-field-cfg.rs:7:13
+ |
+LL | let _ = Foo { #[cfg(any())] present: () };
+ | ^^^ missing `present`
+
+error[E0560]: struct `Foo` has no field named `absent`
+ --> $DIR/struct-field-cfg.rs:10:46
+ |
+LL | let _ = Foo { present: (), #[cfg(all())] absent: () };
+ | ^^^^^^ `Foo` does not have this field
+ |
+ = note: available fields are: `present`
+
+error[E0027]: pattern does not mention field `present`
+ --> $DIR/struct-field-cfg.rs:13:9
+ |
+LL | let Foo { #[cfg(any())] present: () } = foo;
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing field `present`
+ |
+help: include the missing field in the pattern
+ |
+LL | let Foo { present } = foo;
+ | ~~~~~~~~~~~
+help: if you don't care about this missing field, you can explicitly ignore it
+ |
+LL | let Foo { .. } = foo;
+ | ~~~~~~
+
+error[E0026]: struct `Foo` does not have a field named `absent`
+ --> $DIR/struct-field-cfg.rs:16:42
+ |
+LL | let Foo { present: (), #[cfg(all())] absent: () } = foo;
+ | ^^^^^^ struct `Foo` does not have this field
+
+error: aborting due to 4 previous errors
+
+Some errors have detailed explanations: E0026, E0027, E0063, E0560.
+For more information about an error, try `rustc --explain E0026`.