Don't suggest moving tuple structs with a significant drop to late evaluation.
This commit is contained in:
parent
2c8e473ffe
commit
39a7d000b6
|
@ -120,7 +120,7 @@ fn expr_eagerness<'tcx>(cx: &LateContext<'tcx>, e: &'tcx Expr<'_>) -> EagernessS
|
|||
.expr_ty(e)
|
||||
.has_significant_drop(self.cx.tcx, self.cx.param_env)
|
||||
{
|
||||
self.eagerness = Lazy;
|
||||
self.eagerness = ForceNoChange;
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
|
|
@ -225,4 +225,15 @@ mod issue8239 {
|
|||
}
|
||||
}
|
||||
|
||||
mod issue9608 {
|
||||
fn sig_drop() {
|
||||
enum X {
|
||||
X(std::fs::File),
|
||||
Y(u32),
|
||||
}
|
||||
|
||||
let _ = None.unwrap_or(X::Y(0));
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
|
@ -225,4 +225,15 @@ mod issue8239 {
|
|||
}
|
||||
}
|
||||
|
||||
mod issue9608 {
|
||||
fn sig_drop() {
|
||||
enum X {
|
||||
X(std::fs::File),
|
||||
Y(u32),
|
||||
}
|
||||
|
||||
let _ = None.unwrap_or(X::Y(0));
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
Loading…
Reference in New Issue