Skip to content

Commit

Permalink
Auto merge of #110323 - lcnr:dropck-uwu, r=compiler-errors
Browse files Browse the repository at this point in the history
 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`
  • Loading branch information
bors committed Apr 15, 2023
2 parents 67e273b + 64fbdc3 commit ce1073b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion compiler/rustc_traits/src/dropck_outlives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,9 @@ pub(crate) fn adt_dtorck_constraint(
let span = tcx.def_span(def_id);
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
// `PhantomData`.
let substs = InternalSubsts::identity_for_item(tcx, def_id);
Expand Down

0 comments on commit ce1073b

Please sign in to comment.