//@ 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(foo: Foo) { do_nothing(&foo.bar); } fn main() { by_value_1(Foo { bar: () }); by_value_2::<()>(Foo { bar: () }); }