diff options
Diffstat (limited to 'tests/ui/consts/issue-66345.rs')
-rw-r--r-- | tests/ui/consts/issue-66345.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/consts/issue-66345.rs b/tests/ui/consts/issue-66345.rs new file mode 100644 index 000000000..4971d9647 --- /dev/null +++ b/tests/ui/consts/issue-66345.rs @@ -0,0 +1,24 @@ +// run-pass +// compile-flags: -Z mir-opt-level=4 + +// Checks that the compiler does not ICE when passing references to field of by-value struct +// with -Z mir-opt-level=4 + +fn do_nothing(_: &()) {} + +pub struct Foo { + bar: (), +} + +pub fn by_value_1(foo: Foo) { + do_nothing(&foo.bar); +} + +pub fn by_value_2<T>(foo: Foo) { + do_nothing(&foo.bar); +} + +fn main() { + by_value_1(Foo { bar: () }); + by_value_2::<()>(Foo { bar: () }); +} |