Auto merge of #110323 - lcnr:dropck-uwu, r=compiler-errors
explicit `adt_dtorck_constraint` for `ManuallyDrop` the only reason we didn't add outlives requirements when dropping `ManuallyDrop` was a fast-path in `trivial_dropck_outlives`. Explicitly acknowledge that fast-path in `adt_dtorck_constraint`
This commit is contained in:
commit
ce1073ba9d
@ -292,7 +292,9 @@ pub(crate) fn adt_dtorck_constraint(
|
|||||||
let span = tcx.def_span(def_id);
|
let span = tcx.def_span(def_id);
|
||||||
debug!("dtorck_constraint: {:?}", def);
|
debug!("dtorck_constraint: {:?}", def);
|
||||||
|
|
||||||
if def.is_phantom_data() {
|
if def.is_manually_drop() {
|
||||||
|
bug!("`ManuallyDrop` should have been handled by `trivial_dropck_outlives`");
|
||||||
|
} else if def.is_phantom_data() {
|
||||||
// The first generic parameter here is guaranteed to be a type because it's
|
// The first generic parameter here is guaranteed to be a type because it's
|
||||||
// `PhantomData`.
|
// `PhantomData`.
|
||||||
let substs = InternalSubsts::identity_for_item(tcx, def_id);
|
let substs = InternalSubsts::identity_for_item(tcx, def_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user