Expand description
Check whether a type has (potentially) non-trivial drop glue.
Re-exportsยง
use rustc_attr_ir::find_attr;๐use rustc_data_structures::fx::FxHashSet;๐use rustc_hir::def_id::DefId;๐use rustc_middle::query::Providers;๐use rustc_middle::ty::util::AlwaysRequiresDrop;๐use rustc_middle::ty::util::needs_drop_components;๐use rustc_middle::ty;๐use rustc_middle::ty::EarlyBinder;๐use rustc_middle::ty::GenericArgs;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::Unnormalized;๐use rustc_span::bug;๐use rustc_structures::Limit;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use crate::diagnostics::NeedsDropOverflow;๐
Structsยง
- Drop
TysOptions ๐ - Needs
Drop ๐Types
Enumsยง
- Dtor
Type ๐
Functionsยง
- adt_
async_ ๐drop_ tys - adt_
consider_ ๐insignificant_ dtor - adt_
drop_ ๐tys - adt_
significant_ ๐drop_ tys - drop_
tys_ ๐helper - filter_
array_ ๐elements - HACK: in order to not mistakenly assume that
[PhantomData<T>; N]requires drop glue we check the element type for drop glue. The correct fix would be looking at the entirety of the code aroundneeds_drop_componentsand this file and come up with logic that is easier to follow while not repeating any checks that may thus diverge. - filter_
array_ ๐elements_ async - has_
significant_ ๐drop_ raw - list_
significant_ ๐drop_ tys - needs_
async_ ๐drop_ raw - needs_
drop_ ๐raw - provide ๐
Type Aliasesยง
- Needs
Drop ๐Result