Store impl_trait_fn inside OpaqueTyOrigin.
This commit is contained in:
parent
72b6f7049c
commit
8576ab45e4
13 changed files with 119 additions and 97 deletions
|
@ -2248,7 +2248,6 @@ pub struct BareFnTy<'hir> {
|
|||
pub struct OpaqueTy<'hir> {
|
||||
pub generics: Generics<'hir>,
|
||||
pub bounds: GenericBounds<'hir>,
|
||||
pub impl_trait_fn: Option<DefId>,
|
||||
pub origin: OpaqueTyOrigin,
|
||||
}
|
||||
|
||||
|
@ -2256,9 +2255,9 @@ pub struct OpaqueTy<'hir> {
|
|||
#[derive(Copy, Clone, PartialEq, Eq, Encodable, Decodable, Debug, HashStable_Generic)]
|
||||
pub enum OpaqueTyOrigin {
|
||||
/// `-> impl Trait`
|
||||
FnReturn,
|
||||
FnReturn(LocalDefId),
|
||||
/// `async fn`
|
||||
AsyncFn,
|
||||
AsyncFn(LocalDefId),
|
||||
/// type aliases: `type Foo = impl Trait;`
|
||||
TyAlias,
|
||||
}
|
||||
|
@ -2809,7 +2808,9 @@ impl ItemKind<'_> {
|
|||
Some(match *self {
|
||||
ItemKind::Fn(_, ref generics, _)
|
||||
| ItemKind::TyAlias(_, ref generics)
|
||||
| ItemKind::OpaqueTy(OpaqueTy { ref generics, impl_trait_fn: None, .. })
|
||||
| ItemKind::OpaqueTy(OpaqueTy {
|
||||
ref generics, origin: OpaqueTyOrigin::TyAlias, ..
|
||||
})
|
||||
| ItemKind::Enum(_, ref generics)
|
||||
| ItemKind::Struct(_, ref generics)
|
||||
| ItemKind::Union(_, ref generics)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue