diff options
Diffstat (limited to 'src/test/ui/tuple/tuple-struct-fields')
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test.rs | 9 | ||||
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test.stderr | 17 | ||||
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test2.rs | 15 | ||||
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test2.stderr | 28 | ||||
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test3.rs | 15 | ||||
-rw-r--r-- | src/test/ui/tuple/tuple-struct-fields/test3.stderr | 28 |
6 files changed, 112 insertions, 0 deletions
diff --git a/src/test/ui/tuple/tuple-struct-fields/test.rs b/src/test/ui/tuple/tuple-struct-fields/test.rs new file mode 100644 index 000000000..00677090d --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test.rs @@ -0,0 +1,9 @@ +mod foo { + type T = (); + struct S1(pub(in foo) (), pub(T), pub(crate) (), pub(((), T))); + struct S2(pub((foo)) ()); + //~^ ERROR expected one of `)` or `,`, found `(` + //~| ERROR cannot find type `foo` in this scope +} + +fn main() {} diff --git a/src/test/ui/tuple/tuple-struct-fields/test.stderr b/src/test/ui/tuple/tuple-struct-fields/test.stderr new file mode 100644 index 000000000..bfa0b32fd --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test.stderr @@ -0,0 +1,17 @@ +error: expected one of `)` or `,`, found `(` + --> $DIR/test.rs:4:26 + | +LL | struct S2(pub((foo)) ()); + | -^ expected one of `)` or `,` + | | + | help: missing `,` + +error[E0412]: cannot find type `foo` in this scope + --> $DIR/test.rs:4:20 + | +LL | struct S2(pub((foo)) ()); + | ^^^ not found in this scope + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/tuple/tuple-struct-fields/test2.rs b/src/test/ui/tuple/tuple-struct-fields/test2.rs new file mode 100644 index 000000000..2b2a2c127 --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test2.rs @@ -0,0 +1,15 @@ +macro_rules! define_struct { + ($t:ty) => { + struct S1(pub $t); + struct S2(pub (in foo) ()); + struct S3(pub $t ()); + //~^ ERROR expected one of `)` or `,`, found `(` + } +} + +mod foo { + define_struct! { (foo) } //~ ERROR cannot find type `foo` in this scope + //~| ERROR cannot find type `foo` in this scope +} + +fn main() {} diff --git a/src/test/ui/tuple/tuple-struct-fields/test2.stderr b/src/test/ui/tuple/tuple-struct-fields/test2.stderr new file mode 100644 index 000000000..64a9ac135 --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test2.stderr @@ -0,0 +1,28 @@ +error: expected one of `)` or `,`, found `(` + --> $DIR/test2.rs:5:26 + | +LL | struct S3(pub $t ()); + | -^ expected one of `)` or `,` + | | + | help: missing `,` +... +LL | define_struct! { (foo) } + | ------------------------ in this macro invocation + | + = note: this error originates in the macro `define_struct` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0412]: cannot find type `foo` in this scope + --> $DIR/test2.rs:11:23 + | +LL | define_struct! { (foo) } + | ^^^ not found in this scope + +error[E0412]: cannot find type `foo` in this scope + --> $DIR/test2.rs:11:23 + | +LL | define_struct! { (foo) } + | ^^^ not found in this scope + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/tuple/tuple-struct-fields/test3.rs b/src/test/ui/tuple/tuple-struct-fields/test3.rs new file mode 100644 index 000000000..98d19426e --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test3.rs @@ -0,0 +1,15 @@ +macro_rules! define_struct { + ($t:ty) => { + struct S1(pub($t)); + struct S2(pub (in foo) ()); + struct S3(pub($t) ()); + //~^ ERROR expected one of `)` or `,`, found `(` + } +} + +mod foo { + define_struct! { foo } //~ ERROR cannot find type `foo` in this scope + //~| ERROR cannot find type `foo` in this scope +} + +fn main() {} diff --git a/src/test/ui/tuple/tuple-struct-fields/test3.stderr b/src/test/ui/tuple/tuple-struct-fields/test3.stderr new file mode 100644 index 000000000..75262ed57 --- /dev/null +++ b/src/test/ui/tuple/tuple-struct-fields/test3.stderr @@ -0,0 +1,28 @@ +error: expected one of `)` or `,`, found `(` + --> $DIR/test3.rs:5:27 + | +LL | struct S3(pub($t) ()); + | -^ expected one of `)` or `,` + | | + | help: missing `,` +... +LL | define_struct! { foo } + | ---------------------- in this macro invocation + | + = note: this error originates in the macro `define_struct` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0412]: cannot find type `foo` in this scope + --> $DIR/test3.rs:11:22 + | +LL | define_struct! { foo } + | ^^^ not found in this scope + +error[E0412]: cannot find type `foo` in this scope + --> $DIR/test3.rs:11:22 + | +LL | define_struct! { foo } + | ^^^ not found in this scope + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0412`. |