self.assemble_builtin_bound_candidates(sized_conditions, &mut candidates);
} else if lang_items.unsize_trait() == Some(def_id) {
self.assemble_candidates_for_unsizing(obligation, &mut candidates);
- } else if lang_items.drop_trait() == Some(def_id)
- && obligation.predicate.is_const_if_const()
- {
- // holds to make it easier to transition
- // FIXME(fee1-dead): add a note for selection error of `~const Drop`
- // when beta is bumped
- // FIXME: remove this when beta is bumped
- #[cfg(bootstrap)]
- {}
-
- candidates.vec.push(SelectionCandidate::ConstDestructCandidate(None))
} else if lang_items.destruct_trait() == Some(def_id) {
self.assemble_const_destruct_candidates(obligation, &mut candidates);
} else {
}
let drop_trait = self.tcx().require_lang_item(LangItem::Drop, None);
- // FIXME: remove if statement below when beta is bumped
- #[cfg(bootstrap)]
- {}
-
- if obligation.predicate.skip_binder().def_id() == drop_trait {
- return Ok(ImplSourceConstDestructData { nested: vec![] });
- }
let tcx = self.tcx();
let self_ty = self.infcx.shallow_resolve(obligation.self_ty());