f
let v: Result<&Name, &()> = Ok(Name::Variant { o: Opaque{} }).as_ref();
, сработало!Size: a a a
f
let v: Result<&Name, &()> = Ok(Name::Variant { o: Opaque{} }).as_ref();
, сработало!f
f
f
drop
для всего работает, а если сделать fn consume(v: Name) {}
, то уже не сработаетVM
match v {
Ok(Name::Variant { o }) => {
if foo(o) {
drop(v);
}
},
_ => {}
}
r
drop(v)
будет дропать ссылкиf
drop(v)
будет дропать ссылкиf
r
f
f
I
e🦀
e🦀
r
e🦀
f
e🦀
r