diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2022-09-06 17:37:00 +0200 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2022-09-09 01:31:46 +0000 |
| commit | 05812df603ab5940c1dffe6514b25c665dccfcf1 (patch) | |
| tree | aadc26ba6379c4c01833809f22be8e88c2721b64 /compiler/rustc_middle | |
| parent | cdf78073c5d24cdc4c89a515b05f9d8e09321711 (diff) | |
| download | rust-05812df603ab5940c1dffe6514b25c665dccfcf1.tar.gz rust-05812df603ab5940c1dffe6514b25c665dccfcf1.zip | |
Handle generic parameters.
Diffstat (limited to 'compiler/rustc_middle')
| -rw-r--r-- | compiler/rustc_middle/src/hir/map/mod.rs | 18 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/diagnostics.rs | 2 |
2 files changed, 15 insertions, 5 deletions
diff --git a/compiler/rustc_middle/src/hir/map/mod.rs b/compiler/rustc_middle/src/hir/map/mod.rs index 1a0bea68293..5a65ec9a476 100644 --- a/compiler/rustc_middle/src/hir/map/mod.rs +++ b/compiler/rustc_middle/src/hir/map/mod.rs @@ -212,8 +212,13 @@ impl<'hir> Map<'hir> { ItemKind::Fn(..) => DefKind::Fn, ItemKind::Macro(_, macro_kind) => DefKind::Macro(macro_kind), ItemKind::Mod(..) => DefKind::Mod, - ItemKind::OpaqueTy(..) => DefKind::OpaqueTy, - ItemKind::ImplTraitPlaceholder(..) => DefKind::ImplTraitPlaceholder, + ItemKind::OpaqueTy(ref opaque) => { + if opaque.in_trait { + DefKind::ImplTraitPlaceholder + } else { + DefKind::OpaqueTy + } + } ItemKind::TyAlias(..) => DefKind::TyAlias, ItemKind::Enum(..) => DefKind::Enum, ItemKind::Struct(..) => DefKind::Struct, @@ -1188,8 +1193,13 @@ fn hir_id_to_string(map: Map<'_>, id: HirId) -> String { ItemKind::ForeignMod { .. } => "foreign mod", ItemKind::GlobalAsm(..) => "global asm", ItemKind::TyAlias(..) => "ty", - ItemKind::OpaqueTy(..) => "opaque type", - ItemKind::ImplTraitPlaceholder(..) => "opaque type in trait", + ItemKind::OpaqueTy(ref opaque) => { + if opaque.in_trait { + "opaque type in trait" + } else { + "opaque type" + } + } ItemKind::Enum(..) => "enum", ItemKind::Struct(..) => "struct", ItemKind::Union(..) => "union", diff --git a/compiler/rustc_middle/src/ty/diagnostics.rs b/compiler/rustc_middle/src/ty/diagnostics.rs index e4ad96b659b..648f5f7161f 100644 --- a/compiler/rustc_middle/src/ty/diagnostics.rs +++ b/compiler/rustc_middle/src/ty/diagnostics.rs @@ -408,7 +408,7 @@ impl<'v> hir::intravisit::Visitor<'v> for TraitObjectVisitor<'v> { ) => { self.0.push(ty); } - hir::TyKind::OpaqueDef(item_id, _) => { + hir::TyKind::OpaqueDef(item_id, _, _) => { self.0.push(ty); let item = self.1.item(item_id); hir::intravisit::walk_item(self, item); |
