Start implementing needs_async_drop and related
This commit is contained in:
parent
e0904cd6a9
commit
a47173c4f7
10 changed files with 196 additions and 110 deletions
|
@ -24,7 +24,9 @@ use std::hash::{Hash, Hasher};
|
|||
use std::ops::Range;
|
||||
use std::str;
|
||||
|
||||
use super::{Destructor, FieldDef, GenericPredicates, Ty, TyCtxt, VariantDef, VariantDiscr};
|
||||
use super::{
|
||||
AsyncDestructor, Destructor, FieldDef, GenericPredicates, Ty, TyCtxt, VariantDef, VariantDiscr,
|
||||
};
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Hash, HashStable, TyEncodable, TyDecodable)]
|
||||
pub struct AdtFlags(u16);
|
||||
|
@ -577,6 +579,12 @@ impl<'tcx> AdtDef<'tcx> {
|
|||
tcx.adt_destructor(self.did())
|
||||
}
|
||||
|
||||
// FIXME(zetanumbers): consider supporting this method in same places where
|
||||
// `destructor` is referenced
|
||||
pub fn async_destructor(self, tcx: TyCtxt<'tcx>) -> Option<AsyncDestructor> {
|
||||
tcx.adt_async_destructor(self.did())
|
||||
}
|
||||
|
||||
/// Returns a type such that `Self: Sized` if and only if that type is `Sized`,
|
||||
/// or `None` if the type is always sized.
|
||||
pub fn sized_constraint(self, tcx: TyCtxt<'tcx>) -> Option<ty::EarlyBinder<'tcx, Ty<'tcx>>> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue