diff options
Diffstat (limited to 'src/test/ui/structs/struct-base-wrong-type.rs')
-rw-r--r-- | src/test/ui/structs/struct-base-wrong-type.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/structs/struct-base-wrong-type.rs b/src/test/ui/structs/struct-base-wrong-type.rs new file mode 100644 index 000000000..b64c6b499 --- /dev/null +++ b/src/test/ui/structs/struct-base-wrong-type.rs @@ -0,0 +1,14 @@ +// Check that `base` in `Fru { field: expr, ..base }` must have right type. + +struct Foo { a: isize, b: isize } +struct Bar { x: isize } + +static bar: Bar = Bar { x: 5 }; +static foo: Foo = Foo { a: 2, ..bar }; //~ ERROR mismatched types +static foo_i: Foo = Foo { a: 2, ..4 }; //~ ERROR mismatched types + +fn main() { + let b = Bar { x: 5 }; + let f = Foo { a: 2, ..b }; //~ ERROR mismatched types + let f__isize = Foo { a: 2, ..4 }; //~ ERROR mismatched types +} |