Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created May 29, 2022 10:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikomatsakis/b2091af76682214cf45ade1fe1449394 to your computer and use it in GitHub Desktop.
Save nikomatsakis/b2091af76682214cf45ade1fe1449394 to your computer and use it in GitHub Desktop.
┐rustc_ast_lowering::item::lower_crate
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(0)
│ ├─┐rustc_ast_lowering::index::index_hir item=Crate(Mod { spans: ModSpans { inner_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:1: 15:13 (#0), inject_use_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0) }, item_ids: [ItemId { def_id: DefId(0:1) }, ItemId { def_id: DefId(0:2) }, ItemId { def_id: DefId(0:3) }, ItemId { def_id: DefId(0:5) }, ItemId { def_id: DefId(0:7) }, ItemId { def_id: DefId(0:11) }] })
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:1) }
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:2) }
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:3) }
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:5) }
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:7) }
│ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:11) }
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [Attribute { kind: Normal(AttrItem { path: Path { span: no-location (#1), segments: [PathSegment { ident: prelude_import#1, id: NodeId(3), args: None }], tokens: None }, args: Empty, tokens: None }, None), id: AttrId(2), style: Outer, span: no-location (#1) }], id: NodeId(2), span: no-location (#1), vis: Visibility { kind: Inherited, span: no-location (#1), tokens: None }, ident: #0, kind: Use(UseTree { prefix: Path { span: no-location (#1), segments: [PathSegment { ident: {{root}}#1, id: NodeId(4), args: None }, PathSegment { ident: std#1, id: NodeId(5), args: None }, PathSegment { ident: prelude#1, id: NodeId(6), args: None }, PathSegment { ident: rust_2015#1, id: NodeId(7), args: None }], tokens: None }, kind: Glob, span: no-location (#1) }), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(2)
│ ├─┐rustc_ast_lowering::item::lower_use_tree tree=UseTree { prefix: Path { span: no-location (#1), segments: [PathSegment { ident: {{root}}#1, id: NodeId(4), args: None }, PathSegment { ident: std#1, id: NodeId(5), args: None }, PathSegment { ident: prelude#1, id: NodeId(6), args: None }, PathSegment { ident: rust_2015#1, id: NodeId(7), args: None }], tokens: None }, kind: Glob, span: no-location (#1) }, prefix=Path { span: no-location (#1), segments: [], tokens: None }, id=NodeId(2), vis_span=no-location (#1), ident=#0, attrs=Some([Attribute { kind: Normal(AttrItem { path: Path { span: no-location (#1), segments: [PathSegment { ident: prelude_import#1, id: NodeId(3), args: None }], tokens: None }, args: Empty, tokens: None }, None), id: AttrId(2), style: Outer, span: no-location (#1) }])
│ │ ├─┐rustc_ast_lowering::lower_res res=Err
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Err
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Err)
│ │ ├─┘
│ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: no-location (#1), lower_path_segment(segment: PathSegment { ident: {{root}}#1, id: NodeId(4), args: None })
│ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident={{root}}#1 original-id=NodeId(4) new-id=HirId { owner: DefId(0:1), local_id: 1 }
│ │ ├─┐rustc_ast_lowering::lower_res res=Err
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Err
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Err)
│ │ ├─┘
│ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: no-location (#1), lower_path_segment(segment: PathSegment { ident: std#1, id: NodeId(5), args: None })
│ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=std#1 original-id=NodeId(5) new-id=HirId { owner: DefId(0:1), local_id: 2 }
│ │ ├─┐rustc_ast_lowering::lower_res res=Def(Mod, DefId(1:0))
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Mod, DefId(1:0))
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Mod, DefId(1:0)))
│ │ ├─┘
│ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: no-location (#1), lower_path_segment(segment: PathSegment { ident: prelude#1, id: NodeId(6), args: None })
│ │ ├─1ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=prelude#1 original-id=NodeId(6) new-id=HirId { owner: DefId(0:1), local_id: 3 }
│ │ ├─┐rustc_ast_lowering::lower_res res=Def(Mod, DefId(1:69))
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Mod, DefId(1:69))
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Mod, DefId(1:69)))
│ │ ├─┘
│ │ ├─1ms DEBUG rustc_ast_lowering::path path_span: no-location (#1), lower_path_segment(segment: PathSegment { ident: rust_2015#1, id: NodeId(7), args: None })
│ │ ├─1ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=rust_2015#1 original-id=NodeId(7) new-id=HirId { owner: DefId(0:1), local_id: 4 }
│ │ ├─┐rustc_ast_lowering::lower_res res=Def(Mod, DefId(1:283))
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Mod, DefId(1:283))
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Mod, DefId(1:283)))
│ │ ├─┘
│ ├─┘
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: #0, def_id: DefId(0:1), kind: Use(Path { span: no-location (#1), res: Err, segments: [PathSegment { ident: {{root}}#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 1 }), res: Some(Err), args: None, infer_args: false }, PathSegment { ident: std#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 2 }), res: Some(Def(Mod, DefId(1:0))), args: None, infer_args: false }, PathSegment { ident: prelude#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 3 }), res: Some(Def(Mod, DefId(1:69))), args: None, infer_args: false }, PathSegment { ident: rust_2015#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 4 }), res: Some(Def(Mod, DefId(1:283))), args: None, infer_args: false }] }, Glob), span: no-location (#1), vis_span: no-location (#1) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: #0, def_id: DefId(0:1), kind: Use(Path { span: no-location (#1), res: Err, segments: [PathSegment { ident: {{root}}#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 1 }), res: Some(Err), args: None, infer_args: false }, PathSegment { ident: std#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 2 }), res: Some(Def(Mod, DefId(1:0))), args: None, infer_args: false }, PathSegment { ident: prelude#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 3 }), res: Some(Def(Mod, DefId(1:69))), args: None, infer_args: false }, PathSegment { ident: rust_2015#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 4 }), res: Some(Def(Mod, DefId(1:283))), args: None, infer_args: false }] }, Glob), span: no-location (#1), vis_span: no-location (#1) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=no-location (#1), hir_id=HirId { owner: DefId(0:1), local_id: 1 }, node=PathSegment(PathSegment { ident: {{root}}#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 1 }), res: Some(Err), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=no-location (#1), hir_id=HirId { owner: DefId(0:1), local_id: 2 }, node=PathSegment(PathSegment { ident: std#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 2 }), res: Some(Def(Mod, DefId(1:0))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=no-location (#1), hir_id=HirId { owner: DefId(0:1), local_id: 3 }, node=PathSegment(PathSegment { ident: prelude#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 3 }), res: Some(Def(Mod, DefId(1:69))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=no-location (#1), hir_id=HirId { owner: DefId(0:1), local_id: 4 }, node=PathSegment(PathSegment { ident: rust_2015#1, hir_id: Some(HirId { owner: DefId(0:1), local_id: 4 }), res: Some(Def(Mod, DefId(1:283))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [Attribute { kind: Normal(AttrItem { path: Path { span: no-location (#1), segments: [PathSegment { ident: macro_use#1, id: NodeId(9), args: None }], tokens: None }, args: Empty, tokens: None }, None), id: AttrId(1), style: Outer, span: no-location (#1) }], id: NodeId(8), span: no-location (#1), vis: Visibility { kind: Inherited, span: no-location (#1), tokens: None }, ident: std#2, kind: ExternCrate(None), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(8)
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: std#2, def_id: DefId(0:2), kind: ExternCrate(None), span: no-location (#1), vis_span: no-location (#1) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: std#2, def_id: DefId(0:2), kind: ExternCrate(None), span: no-location (#1), vis_span: no-location (#1) }
│ │ ├─┘
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [], id: NodeId(10), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:20 (#0), vis: Visibility { kind: Inherited, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0), tokens: None }, ident: MyTrait#0, kind: Trait(Trait { unsafety: No, is_auto: No, generics: Generics { params: [GenericParam { id: NodeId(11), ident: T#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Type { default: None }, colon_span: None }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:17: 5:17 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:14: 5:17 (#0) }, bounds: [], items: [] }), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(10)
│ ├─┐rustc_ast_lowering::lower_generic_param param=GenericParam { id: NodeId(11), ident: T#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Type { default: None }, colon_span: None }
│ ├─┘
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: MyTrait#0, def_id: DefId(0:3), kind: Trait(No, Normal, Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:3), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None }], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:17: 5:17 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:14: 5:17 (#0) }, [], []), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:20 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: MyTrait#0, def_id: DefId(0:3), kind: Trait(No, Normal, Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:3), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None }], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:17: 5:17 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:14: 5:17 (#0) }, [], []), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:20 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0), hir_id=HirId { owner: DefId(0:3), local_id: 1 }, node=GenericParam(GenericParam { hir_id: HirId { owner: DefId(0:3), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None })
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [], id: NodeId(12), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:28 (#0), vis: Visibility { kind: Inherited, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:1 (#0), tokens: None }, ident: #0, kind: Impl(Impl { defaultness: Final, unsafety: No, generics: Generics { params: [GenericParam { id: NodeId(13), ident: T#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Type { default: None }, colon_span: None }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:25: 7:25 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:5: 7:8 (#0) }, constness: No, polarity: "positive", of_trait: Some(TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(14), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0), args: [Arg(Type(Ty { id: NodeId(15), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), segments: [PathSegment { ident: T#0, id: NodeId(16), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(17) }), self_ty: Ty { id: NodeId(18), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), segments: [PathSegment { ident: T#0, id: NodeId(19), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), tokens: None }, items: [] }), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(12)
│ ├─┐rustc_ast_lowering::add_implicit_generics generics=Generics { params: [GenericParam { id: NodeId(13), ident: T#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Type { default: None }, colon_span: None }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:25: 7:25 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:5: 7:8 (#0) }, parent_node_id=NodeId(12)
│ │ ├─┐rustc_ast_lowering::lower_generic_param param=GenericParam { id: NodeId(13), ident: T#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Type { default: None }, colon_span: None }
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(17), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(14), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0), args: [Arg(Type(Ty { id: NodeId(15), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), segments: [PathSegment { ident: T#0, id: NodeId(16), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), tokens: None }))] })) }], tokens: None }, param_mode=Explicit, itctx=Disallowed(Trait)
│ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(Trait, DefId(0:3))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Trait, DefId(0:3))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Trait, DefId(0:3)))
│ │ │ ├─┘
│ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), lower_path_segment(segment: PathSegment { ident: MyTrait#0, id: NodeId(14), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0), args: [Arg(Type(Ty { id: NodeId(15), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), segments: [PathSegment { ident: T#0, id: NodeId(16), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), tokens: None }))] })) })
│ │ │ ├─┐rustc_ast_lowering::lower_generic_arg arg=Type(Ty { id: NodeId(15), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), segments: [PathSegment { ident: T#0, id: NodeId(16), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), tokens: None }), itctx=Disallowed(Trait)
│ │ │ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(15), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), segments: [PathSegment { ident: T#0, id: NodeId(16), args: None }], tokens: None }, param_mode=Explicit, itctx=Disallowed(Trait)
│ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:6))
│ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:6))
│ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:6)))
│ │ │ │ │ ├─┘
│ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), lower_path_segment(segment: PathSegment { ident: T#0, id: NodeId(16), args: None })
│ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=T#0 original-id=NodeId(16) new-id=HirId { owner: DefId(0:5), local_id: 3 }
│ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:6))
│ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:6))
│ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:6)))
│ │ │ │ │ ├─┘
│ │ │ │ ├─┘
│ │ │ ├─┘
│ │ │ ├─1ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=MyTrait#0 original-id=NodeId(14) new-id=HirId { owner: DefId(0:5), local_id: 4 }
│ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(Trait, DefId(0:3))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Trait, DefId(0:3))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Trait, DefId(0:3)))
│ │ │ ├─┘
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::lower_ty t=Ty { id: NodeId(18), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), segments: [PathSegment { ident: T#0, id: NodeId(19), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), tokens: None }, itctx=Disallowed(Type)
│ │ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(18), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), segments: [PathSegment { ident: T#0, id: NodeId(19), args: None }], tokens: None }, param_mode=Explicit, itctx=Disallowed(Type)
│ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:6))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:6))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:6)))
│ │ │ │ ├─┘
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), lower_path_segment(segment: PathSegment { ident: T#0, id: NodeId(19), args: None })
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=T#0 original-id=NodeId(19) new-id=HirId { owner: DefId(0:5), local_id: 7 }
│ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:6))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:6))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:6)))
│ │ │ │ ├─┘
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: #0, def_id: DefId(0:5), kind: Impl(Impl { unsafety: Normal, polarity: "positive", defaultness: Final, defaultness_span: None, constness: NotConst, generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:5), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None }], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:25: 7:25 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:5: 7:8 (#0) }, of_trait: Some(TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 4 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 2 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:5), local_id: 5 } }), self_ty: Ty { hir_id: HirId { owner: DefId(0:5), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 7 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0) }, items: [] }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:28 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:1 (#0) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: #0, def_id: DefId(0:5), kind: Impl(Impl { unsafety: Normal, polarity: "positive", defaultness: Final, defaultness_span: None, constness: NotConst, generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:5), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None }], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:25: 7:25 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:5: 7:8 (#0) }, of_trait: Some(TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 4 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 2 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:5), local_id: 5 } }), self_ty: Ty { hir_id: HirId { owner: DefId(0:5), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 7 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0) }, items: [] }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:28 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:1 (#0) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 1 }, node=GenericParam(GenericParam { hir_id: HirId { owner: DefId(0:5), local_id: 1 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 5 }, node=TraitRef(TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 4 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 2 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:5), local_id: 5 } })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 4 }, node=PathSegment(PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 4 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 2 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0) }), infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 2 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 2 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 3 }, node=PathSegment(PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 3 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 6 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:5), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), res: Def(TyParam, DefId(0:6)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 7 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0), hir_id=HirId { owner: DefId(0:5), local_id: 7 }, node=PathSegment(PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:5), local_id: 7 }), res: Some(Def(TyParam, DefId(0:6))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [], id: NodeId(20), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 13:2 (#0), vis: Visibility { kind: Inherited, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:1 (#0), tokens: None }, ident: ident_as_my_trait#0, kind: Fn(Fn { defaultness: Final, generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) }, sig: FnSig { header: FnHeader { unsafety: No, asyncness: No, constness: No, ext: None }, decl: FnDecl { inputs: [Param { attrs: ThinVec(None), ty: Ty { id: NodeId(23), kind: Rptr(Some(lifetime(24: 'a)), MutTy { ty: Ty { id: NodeId(25), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), segments: [PathSegment { ident: i32#0, id: NodeId(26), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), tokens: None }, mutbl: Not }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0), tokens: None }, pat: Pat { id: NodeId(22), kind: Ident(ByValue(Not), _u#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), tokens: None }, id: NodeId(21), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:44 (#0), is_placeholder: false }, Param { attrs: ThinVec(None), ty: Ty { id: NodeId(29), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), segments: [PathSegment { ident: T#0, id: NodeId(30), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), tokens: None }, pat: Pat { id: NodeId(28), kind: Ident(ByValue(Not), t#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), tokens: None }, id: NodeId(27), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:50 (#0), is_placeholder: false }], output: Ty(Ty { id: NodeId(31), kind: ImplTrait(NodeId(32), [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(36) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None)]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), tokens: None }) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:70 (#0) }, body: Some(Block { stmts: [Stmt { id: NodeId(41), kind: Expr(Expr { id: NodeId(42), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), segments: [PathSegment { ident: t#0, id: NodeId(43), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), attrs: ThinVec(None), tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0) }], id: NodeId(40), rules: Default, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0), tokens: None, could_be_bare_literal: false }) }), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(20)
│ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(42), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), segments: [PathSegment { ident: t#0, id: NodeId(43), args: None }], tokens: None }, param_mode=Optional, itctx=Disallowed(Path)
│ │ ├─┐rustc_ast_lowering::lower_res res=Local(NodeId(28))
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Local(NodeId(28))
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Local(HirId { owner: DefId(0:7), local_id: 4 }))
│ │ ├─┘
│ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), lower_path_segment(segment: PathSegment { ident: t#0, id: NodeId(43), args: None })
│ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=t#0 original-id=NodeId(43) new-id=HirId { owner: DefId(0:7), local_id: 5 }
│ │ ├─┐rustc_ast_lowering::lower_res res=Local(NodeId(28))
│ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Local(NodeId(28))
│ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Local(HirId { owner: DefId(0:7), local_id: 4 }))
│ │ ├─┘
│ ├─┘
│ ├─┐rustc_ast_lowering::add_implicit_generics generics=Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) }, parent_node_id=NodeId(20)
│ │ ├─┐rustc_ast_lowering::lower_param_bound tpb=Outlives(lifetime(39: 'a)), itctx=Universal([], [], DefId(0:7))
│ │ │ ├─┐rustc_ast_lowering::new_named_lifetime_with_res id=NodeId(39), span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:29: 9:31 (#0), ident='a#0, res=Param { param: DefId(0:8), binder: NodeId(20) }
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ │ ├─┘
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::lower_generic_param param=GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::lower_generic_param param=GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }
│ │ ├─┘
│ │ ├─0ms DEBUG rustc_ast_lowering lower_fn_decl(fn_decl: FnDecl { inputs: [Param { attrs: ThinVec(None), ty: Ty { id: NodeId(23), kind: Rptr(Some(lifetime(24: 'a)), MutTy { ty: Ty { id: NodeId(25), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), segments: [PathSegment { ident: i32#0, id: NodeId(26), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), tokens: None }, mutbl: Not }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0), tokens: None }, pat: Pat { id: NodeId(22), kind: Ident(ByValue(Not), _u#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), tokens: None }, id: NodeId(21), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:44 (#0), is_placeholder: false }, Param { attrs: ThinVec(None), ty: Ty { id: NodeId(29), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), segments: [PathSegment { ident: T#0, id: NodeId(30), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), tokens: None }, pat: Pat { id: NodeId(28), kind: Ident(ByValue(Not), t#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), tokens: None }, id: NodeId(27), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:50 (#0), is_placeholder: false }], output: Ty(Ty { id: NodeId(31), kind: ImplTrait(NodeId(32), [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(36) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None)]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), tokens: None }) }, in_band_ty_params: Some((NodeId(20), [], [])), kind: Fn, make_ret_async: None)
│ │ ├─┐rustc_ast_lowering::new_named_lifetime_with_res id=NodeId(24), span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:38: 9:40 (#0), ident='a#0, res=Param { param: DefId(0:8), binder: NodeId(20) }
│ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::lower_ty t=Ty { id: NodeId(25), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), segments: [PathSegment { ident: i32#0, id: NodeId(26), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), tokens: None }, itctx=Universal([], [], DefId(0:7))
│ │ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(25), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), segments: [PathSegment { ident: i32#0, id: NodeId(26), args: None }], tokens: None }, param_mode=Explicit, itctx=Universal([], [], DefId(0:7))
│ │ │ │ ├─┐rustc_ast_lowering::lower_res res=PrimTy(Int(I32))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=PrimTy(Int(I32))
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(PrimTy(Int(I32)))
│ │ │ │ ├─┘
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), lower_path_segment(segment: PathSegment { ident: i32#0, id: NodeId(26), args: None })
│ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=i32#0 original-id=NodeId(26) new-id=HirId { owner: DefId(0:7), local_id: 15 }
│ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Err
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Err
│ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Err)
│ │ │ │ ├─┘
│ │ │ ├─┘
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(29), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), segments: [PathSegment { ident: T#0, id: NodeId(30), args: None }], tokens: None }, param_mode=Explicit, itctx=Universal([], [], DefId(0:7))
│ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:9))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:9))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:9)))
│ │ │ ├─┘
│ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), lower_path_segment(segment: PathSegment { ident: T#0, id: NodeId(30), args: None })
│ │ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=T#0 original-id=NodeId(30) new-id=HirId { owner: DefId(0:7), local_id: 18 }
│ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:9))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:9))
│ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:9)))
│ │ │ ├─┘
│ │ ├─┘
│ │ ├─┐rustc_ast_lowering::lower_ty t=Ty { id: NodeId(31), kind: ImplTrait(NodeId(32), [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(36) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None)]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), tokens: None }, itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ ├─┐rustc_ast_lowering::lower_opaque_impl_trait_v2 span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), origin=FnReturn(DefId(0:7)), opaque_ty_node_id=NodeId(32), ast_generics=Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) }
│ │ │ │ ├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(32)
│ │ │ │ │ ├─┐rustc_ast_lowering::with_fresh_generics_def_id_map
│ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_param_bound tpb=Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(36) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None), itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_poly_trait_ref p=PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, ref_id: NodeId(36) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::with_lifetime_binder binder=NodeId(36)
│ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(36), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), segments: [PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) }], tokens: None }, param_mode=Explicit, itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(Trait, DefId(0:3))
│ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: no remapping for `DefId(0:3)` found in map
│ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Trait, DefId(0:3))
│ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Trait, DefId(0:3)))
│ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), lower_path_segment(segment: PathSegment { ident: MyTrait#0, id: NodeId(33), args: Some(AngleBracketed(AngleBracketedArgs { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0), args: [Arg(Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }))] })) })
│ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_generic_arg arg=Type(Ty { id: NodeId(34), kind: Path(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), tokens: None }), itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::path::lower_qpath id=NodeId(34), qself=None, p=Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), segments: [PathSegment { ident: T#0, id: NodeId(35), args: None }], tokens: None }, param_mode=Explicit, itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:9))
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: no remapping for `DefId(0:9)` found in map
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:9))
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:9)))
│ │ │ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path path_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), lower_path_segment(segment: PathSegment { ident: T#0, id: NodeId(35), args: None })
│ │ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=T#0 original-id=NodeId(35) new-id=HirId { owner: DefId(0:10), local_id: 2 }
│ │ │ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(TyParam, DefId(0:9))
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: no remapping for `DefId(0:9)` found in map
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(TyParam, DefId(0:9))
│ │ │ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(TyParam, DefId(0:9)))
│ │ │ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ │ ├─1ms DEBUG rustc_ast_lowering::path lower_path_segment: ident=MyTrait#0 original-id=NodeId(33) new-id=HirId { owner: DefId(0:10), local_id: 3 }
│ │ │ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_res res=Def(Trait, DefId(0:3))
│ │ │ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: no remapping for `DefId(0:3)` found in map
│ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering from remapping, res=Def(Trait, DefId(0:3))
│ │ │ │ │ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering res=Ok(Def(Trait, DefId(0:3)))
│ │ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ ├─┘
│ │ │ │ │ │ ├─2ms DEBUG rustc_ast_lowering collected_lifetimes={}
│ │ │ │ │ │ ├─2ms DEBUG rustc_ast_lowering lifetime_params=[]
│ │ │ │ │ │ ├─┐rustc_ast_lowering::remap_type_and_const_params parent_def_id=DefId(0:10), params=[GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }]
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: no remapping for `DefId(0:9)` found in map
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::def_id_remapper::add_remapping from=DefId(0:9), to=DefId(0:12)
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─0ms TRACE rustc_ast_lowering recording remapping, orig_def_id=DefId(0:9), new_def_id=DefId(0:12)
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: remapping from `DefId(0:9)` to `DefId(0:12)`
│ │ │ │ │ │ ├─┘
│ │ │ │ │ │ ├─2ms DEBUG rustc_ast_lowering type_const_params=[GenericParam { hir_id: HirId { owner: DefId(0:10), local_id: 5 }, name: Plain(MY-T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }]
│ │ │ │ │ │ ├─┐rustc_ast_lowering::with_in_scope_lifetime_bounds
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering lctx.in_scope_lifetime_bounds=Some([])
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::lower_param_bound tpb=Outlives(lifetime(39: 'a)), itctx=ReturnPositionOpaqueTy { origin: FnReturn(DefId(0:7)), generics: Generics { params: [GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) } }
│ │ │ │ │ │ │ │ ├─┐rustc_ast_lowering::new_named_lifetime_with_res id=NodeId(39), span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:29: 9:31 (#0), ident='a#0, res=Param { param: DefId(0:8), binder: NodeId(20) }
│ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ │ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering self.captured_lifetimes=None
│ │ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering::def_id_remapper def_id_remapper: remapping from `DefId(0:9)` to `DefId(0:12)`
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering predicates=[BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:10), local_id: 7 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:12)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:10), local_id: 6 }: 'static))] })]
│ │ │ │ │ │ │ ├─0ms DEBUG rustc_ast_lowering predicates=[BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:10), local_id: 7 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:12)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:10), local_id: 6 }: 'static))] })]
│ │ │ │ │ │ ├─┘
│ │ │ │ │ │ ├─3ms TRACE rustc_ast_lowering opaque_ty_def_id=DefId(0:10)
│ │ │ │ │ │ ├─3ms TRACE rustc_ast_lowering registering opaque type with id DefId(0:10)
│ │ │ │ │ ├─┘
│ │ │ │ │ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: #0, def_id: DefId(0:10), kind: OpaqueTy(OpaqueTy { generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:10), local_id: 5 }, name: Plain(MY-T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], predicates: [BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:10), local_id: 7 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:12)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:10), local_id: 6 }: 'static))] })], has_where_clause: true, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0) }, bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 3 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 1 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:10), local_id: 4 } }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None)], origin: FnReturn(DefId(0:7)) }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#4), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:55 (#0) })
│ │ │ │ │ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: #0, def_id: DefId(0:10), kind: OpaqueTy(OpaqueTy { generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:10), local_id: 5 }, name: Plain(MY-T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], predicates: [BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:10), local_id: 7 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:12)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:10), local_id: 6 }: 'static))] })], has_where_clause: true, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0) }, bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 3 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 1 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:10), local_id: 4 } }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0) }, None)], origin: FnReturn(DefId(0:7)) }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#4), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:55 (#0) }
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 5 }, node=GenericParam(GenericParam { hir_id: HirId { owner: DefId(0:10), local_id: 5 }, name: Plain(MY-T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 7 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 7 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:12)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:29: 9:31 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 6 }, node=Lifetime(lifetime(HirId { owner: DefId(0:10), local_id: 6 }: 'static))
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 4 }, node=TraitRef(TraitRef { path: Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), res: Def(Trait, DefId(0:3)), segments: [PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 3 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 1 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:10), local_id: 4 } })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 3 }, node=PathSegment(PathSegment { ident: MyTrait#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 3 }), res: Some(Def(Trait, DefId(0:3))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 1 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0) })], bindings: [], parenthesized: false, span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0) }), infer_args: false })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 1 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:10), local_id: 1 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0) })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0), hir_id=HirId { owner: DefId(0:10), local_id: 2 }, node=PathSegment(PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:10), local_id: 2 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false })
│ │ │ │ │ │ │ ├─┘
│ │ │ │ │ │ ├─┘
│ │ │ │ │ ├─┘
│ │ │ │ ├─┘
│ │ │ │ ├─┐rustc_ast_lowering::collect_type_and_const_args params=[GenericParam { id: NodeId(37), ident: 'a#0, attrs: ThinVec(None), bounds: [], is_placeholder: false, kind: Lifetime, colon_span: None }, GenericParam { id: NodeId(38), ident: T#0, attrs: ThinVec(None), bounds: [Outlives(lifetime(39: 'a))], is_placeholder: false, kind: Type { default: None }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }]
│ │ │ │ ├─┘
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: ident_as_my_trait#0, def_id: DefId(0:7), kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: NotAsync, abi: Rust }, decl: FnDecl { inputs: [Ty { hir_id: HirId { owner: DefId(0:7), local_id: 16 }, kind: Rptr(lifetime(HirId { owner: DefId(0:7), local_id: 13 }: 'a), MutTy { ty: Ty { hir_id: HirId { owner: DefId(0:7), local_id: 14 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), res: PrimTy(Int(I32)), segments: [PathSegment { ident: i32#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 15 }), res: Some(Err), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0) }, mutbl: Not }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0) }, Ty { hir_id: HirId { owner: DefId(0:7), local_id: 17 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 18 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0) }], output: Return(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 20 }, kind: OpaqueDef(ItemId { def_id: DefId(0:10) }, [Type(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 19 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0) }), c_variadic: false, implicit_self: None }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:70 (#0) }, Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 11 }, name: Plain('a#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0), pure_wrt_drop: false, kind: Lifetime { kind: Explicit }, colon_span: None }, GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 12 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], predicates: [BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:7), local_id: 10 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:7), local_id: 9 }: 'a))] })], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:7), local_id: 8 } }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 13:2 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:1 (#0) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: ident_as_my_trait#0, def_id: DefId(0:7), kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: NotAsync, abi: Rust }, decl: FnDecl { inputs: [Ty { hir_id: HirId { owner: DefId(0:7), local_id: 16 }, kind: Rptr(lifetime(HirId { owner: DefId(0:7), local_id: 13 }: 'a), MutTy { ty: Ty { hir_id: HirId { owner: DefId(0:7), local_id: 14 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), res: PrimTy(Int(I32)), segments: [PathSegment { ident: i32#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 15 }), res: Some(Err), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0) }, mutbl: Not }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0) }, Ty { hir_id: HirId { owner: DefId(0:7), local_id: 17 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 18 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0) }], output: Return(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 20 }, kind: OpaqueDef(ItemId { def_id: DefId(0:10) }, [Type(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 19 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0) }), c_variadic: false, implicit_self: None }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:70 (#0) }, Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 11 }, name: Plain('a#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0), pure_wrt_drop: false, kind: Lifetime { kind: Explicit }, colon_span: None }, GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 12 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) }], predicates: [BoundPredicate(WhereBoundPredicate { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0), origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId { owner: DefId(0:7), local_id: 10 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) }, bounds: [Outlives(lifetime(HirId { owner: DefId(0:7), local_id: 9 }: 'a))] })], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:7), local_id: 8 } }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 13:2 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:1 (#0) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 16 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 16 }, kind: Rptr(lifetime(HirId { owner: DefId(0:7), local_id: 13 }: 'a), MutTy { ty: Ty { hir_id: HirId { owner: DefId(0:7), local_id: 14 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), res: PrimTy(Int(I32)), segments: [PathSegment { ident: i32#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 15 }), res: Some(Err), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0) }, mutbl: Not }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:38: 9:40 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 13 }, node=Lifetime(lifetime(HirId { owner: DefId(0:7), local_id: 13 }: 'a))
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 14 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 14 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), res: PrimTy(Int(I32)), segments: [PathSegment { ident: i32#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 15 }), res: Some(Err), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 15 }, node=PathSegment(PathSegment { ident: i32#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 15 }), res: Some(Err), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 17 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 17 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 18 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 18 }, node=PathSegment(PathSegment { ident: T#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 18 }), res: Some(Def(TyParam, DefId(0:9))), args: None, infer_args: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 20 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 20 }, kind: OpaqueDef(ItemId { def_id: DefId(0:10) }, [Type(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 19 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })]), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0) })
│ │ │ ├─┘
│ │ │ ├─0ms DEBUG rustc_ast_lowering::index visit_nested_item: ItemId { def_id: DefId(0:10) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 19 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 19 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 11 }, node=GenericParam(GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 11 }, name: Plain('a#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0), pure_wrt_drop: false, kind: Lifetime { kind: Explicit }, colon_span: None })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 12 }, node=GenericParam(GenericParam { hir_id: HirId { owner: DefId(0:7), local_id: 12 }, name: Plain(T#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0)) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 10 }, node=Ty(Ty { hir_id: HirId { owner: DefId(0:7), local_id: 10 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0), res: Def(TyParam, DefId(0:9)), segments: [PathSegment { ident: T#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:29: 9:31 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 9 }, node=Lifetime(lifetime(HirId { owner: DefId(0:7), local_id: 9 }: 'a))
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 1 }, node=Param(Param { hir_id: HirId { owner: DefId(0:7), local_id: 1 }, pat: Pat { hir_id: HirId { owner: DefId(0:7), local_id: 2 }, kind: Binding(Unannotated, HirId { owner: DefId(0:7), local_id: 2 }, _u#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), default_binding_modes: true }, ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:44 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 2 }, node=Binding(Pat { hir_id: HirId { owner: DefId(0:7), local_id: 2 }, kind: Binding(Unannotated, HirId { owner: DefId(0:7), local_id: 2 }, _u#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0), default_binding_modes: true })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 3 }, node=Param(Param { hir_id: HirId { owner: DefId(0:7), local_id: 3 }, pat: Pat { hir_id: HirId { owner: DefId(0:7), local_id: 4 }, kind: Binding(Unannotated, HirId { owner: DefId(0:7), local_id: 4 }, t#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), default_binding_modes: true }, ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:50 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 4 }, node=Binding(Pat { hir_id: HirId { owner: DefId(0:7), local_id: 4 }, kind: Binding(Unannotated, HirId { owner: DefId(0:7), local_id: 4 }, t#0, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0), default_binding_modes: true })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 8 }, node=Expr(Expr { hir_id: HirId { owner: DefId(0:7), local_id: 8 }, kind: Block(Block { stmts: [], expr: Some(Expr { hir_id: HirId { owner: DefId(0:7), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), res: Local(HirId { owner: DefId(0:7), local_id: 4 }), segments: [PathSegment { ident: t#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 5 }), res: Some(Local(HirId { owner: DefId(0:7), local_id: 4 })), args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0) }), hir_id: HirId { owner: DefId(0:7), local_id: 7 }, rules: DefaultBlock, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0), targeted_by_break: false }, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 7 }, node=Block(Block { stmts: [], expr: Some(Expr { hir_id: HirId { owner: DefId(0:7), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), res: Local(HirId { owner: DefId(0:7), local_id: 4 }), segments: [PathSegment { ident: t#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 5 }), res: Some(Local(HirId { owner: DefId(0:7), local_id: 4 })), args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0) }), hir_id: HirId { owner: DefId(0:7), local_id: 7 }, rules: DefaultBlock, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0), targeted_by_break: false })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 6 }, node=Expr(Expr { hir_id: HirId { owner: DefId(0:7), local_id: 6 }, kind: Path(Resolved(None, Path { span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), res: Local(HirId { owner: DefId(0:7), local_id: 4 }), segments: [PathSegment { ident: t#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 5 }), res: Some(Local(HirId { owner: DefId(0:7), local_id: 4 })), args: None, infer_args: true }] })), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0), hir_id=HirId { owner: DefId(0:7), local_id: 5 }, node=PathSegment(PathSegment { ident: t#0, hir_id: Some(HirId { owner: DefId(0:7), local_id: 5 }), res: Some(Local(HirId { owner: DefId(0:7), local_id: 4 })), args: None, infer_args: true })
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
├─┘
┐rustc_ast_lowering::item::lower_item item=Item { attrs: [], id: NodeId(44), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:13 (#0), vis: Visibility { kind: Inherited, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:1 (#0), tokens: None }, ident: main#0, kind: Fn(Fn { defaultness: Final, generics: Generics { params: [], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:10: 15:10 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:8: 15:8 (#0) }, sig: FnSig { header: FnHeader { unsafety: No, asyncness: No, constness: No, ext: None }, decl: FnDecl { inputs: [], output: Default(src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:11 (#0)) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:10 (#0) }, body: Some(Block { stmts: [], id: NodeId(45), rules: Default, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0), tokens: None, could_be_bare_literal: false }) }), tokens: None }
├─┐rustc_ast_lowering::with_hir_id_owner owner=NodeId(44)
│ ├─┐rustc_ast_lowering::add_implicit_generics generics=Generics { params: [], where_clause: WhereClause { has_where_token: false, predicates: [], span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:10: 15:10 (#0) }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:8: 15:8 (#0) }, parent_node_id=NodeId(44)
│ │ ├─0ms DEBUG rustc_ast_lowering lower_fn_decl(fn_decl: FnDecl { inputs: [], output: Default(src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:11 (#0)) }, in_band_ty_params: Some((NodeId(44), [], [])), kind: Fn, make_ret_async: None)
│ ├─┘
│ ├─┐rustc_ast_lowering::index::index_hir item=Item(Item { ident: main#0, def_id: DefId(0:11), kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: NotAsync, abi: Rust }, decl: FnDecl { inputs: [], output: DefaultReturn(src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:11 (#0)), c_variadic: false, implicit_self: None }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:10 (#0) }, Generics { params: [], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:10: 15:10 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:8: 15:8 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:11), local_id: 2 } }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:13 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:1 (#0) })
│ │ ├─┐rustc_ast_lowering::index::visit_item i=Item { ident: main#0, def_id: DefId(0:11), kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: NotAsync, abi: Rust }, decl: FnDecl { inputs: [], output: DefaultReturn(src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:11 (#0)), c_variadic: false, implicit_self: None }, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:10 (#0) }, Generics { params: [], predicates: [], has_where_clause: false, where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:10: 15:10 (#0), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:8: 15:8 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:11), local_id: 2 } }), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:13 (#0), vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:1 (#0) }
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0), hir_id=HirId { owner: DefId(0:11), local_id: 2 }, node=Expr(Expr { hir_id: HirId { owner: DefId(0:11), local_id: 2 }, kind: Block(Block { stmts: [], expr: None, hir_id: HirId { owner: DefId(0:11), local_id: 1 }, rules: DefaultBlock, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0), targeted_by_break: false }, None), span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0) })
│ │ │ ├─┘
│ │ │ ├─┐rustc_ast_lowering::index::insert span=src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0), hir_id=HirId { owner: DefId(0:11), local_id: 1 }, node=Block(Block { stmts: [], expr: None, hir_id: HirId { owner: DefId(0:11), local_id: 1 }, rules: DefaultBlock, span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0), targeted_by_break: false })
│ │ │ ├─┘
│ │ ├─┘
│ ├─┘
├─┘
Crate {
owners: [
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
11509814989097591284,
8029534358430629645,
),
hash_without_bodies: Fingerprint(
11509814989097591284,
8029534358430629645,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Crate(
Mod {
spans: ModSpans {
inner_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:1: 15:13 (#0),
inject_use_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0),
},
item_ids: [
ItemId {
def_id: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
},
ItemId {
def_id: DefId(0:2 ~ generics_assoc_type[6ffc]::std),
},
ItemId {
def_id: DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
},
ItemId {
def_id: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
},
ItemId {
def_id: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
},
ItemId {
def_id: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
},
],
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [],
},
},
parenting: {
DefId(0:11 ~ generics_assoc_type[6ffc]::main): 0,
DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}): 0,
DefId(0:2 ~ generics_assoc_type[6ffc]::std): 0,
DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait): 0,
DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}): 0,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait): 0,
},
attrs: AttributeMap {
map: SortedMap {
data: [
(
0,
[
Attribute {
kind: Normal(
AttrItem {
path: Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:4: 3:11 (#0),
segments: [
PathSegment {
ident: feature#0,
id: NodeId(1),
args: None,
},
],
tokens: None,
},
args: Delimited(
DelimSpan {
open: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:11: 3:12 (#0),
close: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:41: 3:42 (#0),
},
Parenthesis,
TokenStream(
[
(
Token(
Token {
kind: Ident(
"return_position_impl_trait_v2",
false,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:12: 3:41 (#0),
},
),
Alone,
),
],
),
),
tokens: None,
},
None,
),
id: AttrId(0),
style: Inner,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:3:1: 3:43 (#0),
},
],
),
],
},
hash: Fingerprint(
7719033881302105355,
9219944547221944664,
),
},
trait_map: {},
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
10093578091983709309,
8859068496181260717,
),
hash_without_bodies: Fingerprint(
10093578091983709309,
8859068496181260717,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: #0,
def_id: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
kind: Use(
Path {
span: no-location (#1),
res: Err,
segments: [
PathSegment {
ident: {{root}}#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 1,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
PathSegment {
ident: std#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 2,
},
),
res: Some(
Def(
Mod,
DefId(1:0 ~ std[c265]),
),
),
args: None,
infer_args: false,
},
PathSegment {
ident: prelude#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 3,
},
),
res: Some(
Def(
Mod,
DefId(1:69 ~ std[c265]::prelude),
),
),
args: None,
infer_args: false,
},
PathSegment {
ident: rust_2015#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 4,
},
),
res: Some(
Def(
Mod,
DefId(1:283 ~ std[c265]::prelude::rust_2015),
),
),
args: None,
infer_args: false,
},
],
},
Glob,
),
span: no-location (#1),
vis_span: no-location (#1),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: PathSegment(
PathSegment {
ident: {{root}}#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 1,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: PathSegment(
PathSegment {
ident: std#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 2,
},
),
res: Some(
Def(
Mod,
DefId(1:0 ~ std[c265]),
),
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: PathSegment(
PathSegment {
ident: prelude#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 3,
},
),
res: Some(
Def(
Mod,
DefId(1:69 ~ std[c265]::prelude),
),
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: PathSegment(
PathSegment {
ident: rust_2015#1,
hir_id: Some(
HirId {
owner: DefId(0:1 ~ generics_assoc_type[6ffc]::{misc#0}),
local_id: 4,
},
),
res: Some(
Def(
Mod,
DefId(1:283 ~ std[c265]::prelude::rust_2015),
),
),
args: None,
infer_args: false,
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [
(
0,
[
Attribute {
kind: Normal(
AttrItem {
path: Path {
span: no-location (#1),
segments: [
PathSegment {
ident: prelude_import#1,
id: NodeId(3),
args: None,
},
],
tokens: None,
},
args: Empty,
tokens: None,
},
None,
),
id: AttrId(2),
style: Outer,
span: no-location (#1),
},
],
),
],
},
hash: Fingerprint(
6766127533976812346,
3617886129415836209,
),
},
trait_map: {},
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
12970227027959296880,
5270156093024576859,
),
hash_without_bodies: Fingerprint(
12970227027959296880,
5270156093024576859,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: std#2,
def_id: DefId(0:2 ~ generics_assoc_type[6ffc]::std),
kind: ExternCrate(
None,
),
span: no-location (#1),
vis_span: no-location (#1),
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [
(
0,
[
Attribute {
kind: Normal(
AttrItem {
path: Path {
span: no-location (#1),
segments: [
PathSegment {
ident: macro_use#1,
id: NodeId(9),
args: None,
},
],
tokens: None,
},
args: Empty,
tokens: None,
},
None,
),
id: AttrId(1),
style: Outer,
span: no-location (#1),
},
],
),
],
},
hash: Fingerprint(
5917890410983135069,
12251883737059935891,
),
},
trait_map: {},
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
13169063129813159497,
11745920833026938639,
),
hash_without_bodies: Fingerprint(
13169063129813159497,
11745920833026938639,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: MyTrait#0,
def_id: DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
kind: Trait(
No,
Normal,
Generics {
params: [
GenericParam {
hir_id: HirId {
owner: DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
local_id: 1,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: None,
},
],
predicates: [],
has_where_clause: false,
where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:17: 5:17 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:14: 5:17 (#0),
},
[],
[],
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:20 (#0),
vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:1: 5:1 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: GenericParam(
GenericParam {
hir_id: HirId {
owner: DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
local_id: 1,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:5:15: 5:16 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: None,
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [
(
1,
DefId(0:4 ~ generics_assoc_type[6ffc]::MyTrait::T),
),
],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [],
},
hash: Fingerprint(
9785122672296426403,
8173264106939382879,
),
},
trait_map: {},
},
),
NonOwner(
HirId {
owner: DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
local_id: 1,
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
10998562874237111129,
4017088859852571851,
),
hash_without_bodies: Fingerprint(
10998562874237111129,
4017088859852571851,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: #0,
def_id: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
kind: Impl(
Impl {
unsafety: Normal,
polarity: "positive",
defaultness: Final,
defaultness_span: None,
constness: NotConst,
generics: Generics {
params: [
GenericParam {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 1,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: None,
},
],
predicates: [],
has_where_clause: false,
where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:25: 7:25 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:5: 7:8 (#0),
},
of_trait: Some(
TraitRef {
path: Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0),
res: Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
segments: [
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 4,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 2,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 3,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0),
},
),
infer_args: false,
},
],
},
hir_ref_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 5,
},
},
),
self_ty: Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 7,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0),
},
items: [],
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:28 (#0),
vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:1: 7:1 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: GenericParam(
GenericParam {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 1,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:6: 7:7 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: None,
},
),
},
),
Some(
ParentedNode {
parent: 5,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 2,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 3,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 2,
node: PathSegment(
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 3,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 5,
node: PathSegment(
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 4,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 2,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 3,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0),
},
),
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: TraitRef(
TraitRef {
path: Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:9: 7:19 (#0),
res: Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
segments: [
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 4,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 2,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 3,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:17: 7:18 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:16: 7:19 (#0),
},
),
infer_args: false,
},
],
},
hir_ref_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 5,
},
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0),
res: Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 7,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:7:24: 7:25 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 6,
node: PathSegment(
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 7,
},
),
res: Some(
Def(
TyParam,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
),
args: None,
infer_args: false,
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [
(
1,
DefId(0:6 ~ generics_assoc_type[6ffc]::{impl#0}::T),
),
],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [],
},
hash: Fingerprint(
9785122672296426403,
8173264106939382879,
),
},
trait_map: {},
},
),
NonOwner(
HirId {
owner: DefId(0:5 ~ generics_assoc_type[6ffc]::{impl#0}),
local_id: 1,
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
13492238440088531015,
8207355885255493941,
),
hash_without_bodies: Fingerprint(
16574084362546078889,
1960572351838366407,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: ident_as_my_trait#0,
def_id: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
kind: Fn(
FnSig {
header: FnHeader {
unsafety: Normal,
constness: NotConst,
asyncness: NotAsync,
abi: Rust,
},
decl: FnDecl {
inputs: [
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 16,
},
kind: Rptr(
lifetime(HirId { owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait), local_id: 13 }: 'a),
MutTy {
ty: Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 14,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
res: PrimTy(
Int(
I32,
),
),
segments: [
PathSegment {
ident: i32#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 15,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
},
mutbl: Not,
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0),
},
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 17,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 18,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
},
],
output: Return(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 20,
},
kind: OpaqueDef(
ItemId {
def_id: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
},
[
Type(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 19,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
),
],
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0),
},
),
c_variadic: false,
implicit_self: None,
},
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:70 (#0),
},
Generics {
params: [
GenericParam {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 11,
},
name: Plain(
'a#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0),
pure_wrt_drop: false,
kind: Lifetime {
kind: Explicit,
},
colon_span: None,
},
GenericParam {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 12,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: Some(
src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0),
),
},
],
predicates: [
BoundPredicate(
WhereBoundPredicate {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0),
origin: GenericParam,
bound_generic_params: [],
bounded_ty: Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 10,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
bounds: [
Outlives(
lifetime(HirId { owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait), local_id: 9 }: 'a),
),
],
},
),
],
has_where_clause: false,
where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:70: 9:70 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:21: 9:32 (#0),
},
BodyId {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 8,
},
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 13:2 (#0),
vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:1: 9:1 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Param(
Param {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 1,
},
pat: Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
_u#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0),
default_binding_modes: true,
},
ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:44 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 1,
node: Binding(
Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
_u#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0),
default_binding_modes: true,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Param(
Param {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 3,
},
pat: Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
t#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0),
default_binding_modes: true,
},
ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:50 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 3,
node: Binding(
Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
t#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0),
default_binding_modes: true,
},
),
},
),
Some(
ParentedNode {
parent: 6,
node: PathSegment(
PathSegment {
ident: t#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 5,
},
),
res: Some(
Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
),
args: None,
infer_args: true,
},
),
},
),
Some(
ParentedNode {
parent: 7,
node: Expr(
Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
res: Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
segments: [
PathSegment {
ident: t#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 5,
},
),
res: Some(
Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
),
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 8,
node: Block(
Block {
stmts: [],
expr: Some(
Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
res: Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
segments: [
PathSegment {
ident: t#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 5,
},
),
res: Some(
Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
),
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
},
),
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 7,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0),
targeted_by_break: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Expr(
Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 8,
},
kind: Block(
Block {
stmts: [],
expr: Some(
Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
res: Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
segments: [
PathSegment {
ident: t#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 5,
},
),
res: Some(
Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
),
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
},
),
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 7,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0),
targeted_by_break: false,
},
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Lifetime(
lifetime(HirId { owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait), local_id: 9 }: 'a),
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 10,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: GenericParam(
GenericParam {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 11,
},
name: Plain(
'a#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:22: 9:24 (#0),
pure_wrt_drop: false,
kind: Lifetime {
kind: Explicit,
},
colon_span: None,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: GenericParam(
GenericParam {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 12,
},
name: Plain(
T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: Some(
src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0),
),
},
),
},
),
Some(
ParentedNode {
parent: 16,
node: Lifetime(
lifetime(HirId { owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait), local_id: 13 }: 'a),
),
},
),
Some(
ParentedNode {
parent: 16,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 14,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
res: PrimTy(
Int(
I32,
),
),
segments: [
PathSegment {
ident: i32#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 15,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 14,
node: PathSegment(
PathSegment {
ident: i32#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 15,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 16,
},
kind: Rptr(
lifetime(HirId { owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait), local_id: 13 }: 'a),
MutTy {
ty: Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 14,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
res: PrimTy(
Int(
I32,
),
),
segments: [
PathSegment {
ident: i32#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 15,
},
),
res: Some(
Err,
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:41: 9:44 (#0),
},
mutbl: Not,
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 17,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 18,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 17,
node: PathSegment(
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 18,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 20,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 19,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 20,
},
kind: OpaqueDef(
ItemId {
def_id: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
},
[
Type(
Ty {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 19,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
),
],
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0),
},
),
},
),
],
bodies: SortedMap {
data: [
(
8,
Body {
params: [
Param {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 1,
},
pat: Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 2,
},
_u#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:35 (#0),
default_binding_modes: true,
},
ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:37: 9:44 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:33: 9:44 (#0),
},
Param {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 3,
},
pat: Pat {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
kind: Binding(
Unannotated,
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
t#0,
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:47 (#0),
default_binding_modes: true,
},
ty_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:49: 9:50 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:46: 9:50 (#0),
},
],
value: Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 8,
},
kind: Block(
Block {
stmts: [],
expr: Some(
Expr {
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 6,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
res: Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
segments: [
PathSegment {
ident: t#0,
hir_id: Some(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 5,
},
),
res: Some(
Local(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 4,
},
),
),
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:12:5: 12:6 (#0),
},
),
hir_id: HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 7,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0),
targeted_by_break: false,
},
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:11:1: 13:2 (#0),
},
generator_kind: None,
},
),
],
},
local_id_to_def_id: SortedMap {
data: [
(
11,
DefId(0:8 ~ generics_assoc_type[6ffc]::ident_as_my_trait::'a),
),
(
12,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
],
},
},
parenting: {
DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}): 20,
},
attrs: AttributeMap {
map: SortedMap {
data: [],
},
hash: Fingerprint(
9785122672296426403,
8173264106939382879,
),
},
trait_map: {},
},
),
NonOwner(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 11,
},
),
NonOwner(
HirId {
owner: DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
local_id: 12,
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
9150891897564583736,
15114382044165551975,
),
hash_without_bodies: Fingerprint(
9150891897564583736,
15114382044165551975,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: #0,
def_id: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
kind: OpaqueTy(
OpaqueTy {
generics: Generics {
params: [
GenericParam {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 5,
},
name: Plain(
MY-T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: Some(
src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0),
),
},
],
predicates: [
BoundPredicate(
WhereBoundPredicate {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:31 (#0),
origin: GenericParam,
bound_generic_params: [],
bounded_ty: Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 7,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:12 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}::{opaque#0}),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
bounds: [
Outlives(
lifetime(HirId { owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}), local_id: 6 }: 'static),
),
],
},
),
],
has_where_clause: true,
where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#0),
},
bounds: [
Trait(
PolyTraitRef {
bound_generic_params: [],
trait_ref: TraitRef {
path: Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0),
res: Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
segments: [
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 3,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 1,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 2,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0),
},
),
infer_args: false,
},
],
},
hir_ref_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 4,
},
},
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0),
},
None,
),
],
origin: FnReturn(
DefId(0:7 ~ generics_assoc_type[6ffc]::ident_as_my_trait),
),
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:70 (#4),
vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:55: 9:55 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 4,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 1,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 2,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 1,
node: PathSegment(
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 2,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 4,
node: PathSegment(
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 3,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 1,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 2,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0),
},
),
infer_args: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: TraitRef(
TraitRef {
path: Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:60: 9:70 (#0),
res: Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
segments: [
PathSegment {
ident: MyTrait#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 3,
},
),
res: Some(
Def(
Trait,
DefId(0:3 ~ generics_assoc_type[6ffc]::MyTrait),
),
),
args: Some(
GenericArgs {
args: [
Type(
Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 1,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
res: Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
segments: [
PathSegment {
ident: T#0,
hir_id: Some(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 2,
},
),
res: Some(
Def(
TyParam,
DefId(0:9 ~ generics_assoc_type[6ffc]::ident_as_my_trait::T),
),
),
args: None,
infer_args: false,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:68: 9:69 (#0),
},
),
],
bindings: [],
parenthesized: false,
span_ext: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:67: 9:70 (#0),
},
),
infer_args: false,
},
],
},
hir_ref_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 4,
},
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: GenericParam(
GenericParam {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 5,
},
name: Plain(
MY-T#0,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
pure_wrt_drop: false,
kind: Type {
default: None,
synthetic: false,
},
colon_span: Some(
src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:27: 9:28 (#0),
),
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Lifetime(
lifetime(HirId { owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}), local_id: 6 }: 'static),
),
},
),
Some(
ParentedNode {
parent: 0,
node: Ty(
Ty {
hir_id: HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 7,
},
kind: Path(
Resolved(
None,
Path {
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
res: Def(
TyParam,
DefId(0:12 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}::{opaque#0}),
),
segments: [
PathSegment {
ident: T#0,
hir_id: None,
res: None,
args: None,
infer_args: true,
},
],
},
),
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:9:26: 9:27 (#0),
},
),
},
),
],
bodies: SortedMap {
data: [],
},
local_id_to_def_id: SortedMap {
data: [
(
5,
DefId(0:12 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}::{opaque#0}),
),
],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [],
},
hash: Fingerprint(
9785122672296426403,
8173264106939382879,
),
},
trait_map: {},
},
),
Owner(
OwnerInfo {
nodes: OwnerNodes {
hash_including_bodies: Fingerprint(
10917372661717951675,
13174488397025809559,
),
hash_without_bodies: Fingerprint(
4102467661430514911,
15908994690320940187,
),
nodes: [
Some(
ParentedNode {
parent: 4294967040,
node: Item(
Item {
ident: main#0,
def_id: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
kind: Fn(
FnSig {
header: FnHeader {
unsafety: Normal,
constness: NotConst,
asyncness: NotAsync,
abi: Rust,
},
decl: FnDecl {
inputs: [],
output: DefaultReturn(
src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:11 (#0),
),
c_variadic: false,
implicit_self: None,
},
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:10 (#0),
},
Generics {
params: [],
predicates: [],
has_where_clause: false,
where_clause_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:10: 15:10 (#0),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:8: 15:8 (#0),
},
BodyId {
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 2,
},
},
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:13 (#0),
vis_span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:1: 15:1 (#0),
},
),
},
),
Some(
ParentedNode {
parent: 2,
node: Block(
Block {
stmts: [],
expr: None,
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 1,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0),
targeted_by_break: false,
},
),
},
),
Some(
ParentedNode {
parent: 0,
node: Expr(
Expr {
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 2,
},
kind: Block(
Block {
stmts: [],
expr: None,
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 1,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0),
targeted_by_break: false,
},
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0),
},
),
},
),
],
bodies: SortedMap {
data: [
(
2,
Body {
params: [],
value: Expr {
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 2,
},
kind: Block(
Block {
stmts: [],
expr: None,
hir_id: HirId {
owner: DefId(0:11 ~ generics_assoc_type[6ffc]::main),
local_id: 1,
},
rules: DefaultBlock,
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0),
targeted_by_break: false,
},
None,
),
span: src/test/ui/impl-trait/v2/generics-assoc-type.rs:15:11: 15:13 (#0),
},
generator_kind: None,
},
),
],
},
local_id_to_def_id: SortedMap {
data: [],
},
},
parenting: {},
attrs: AttributeMap {
map: SortedMap {
data: [],
},
hash: Fingerprint(
9785122672296426403,
8173264106939382879,
),
},
trait_map: {},
},
),
NonOwner(
HirId {
owner: DefId(0:10 ~ generics_assoc_type[6ffc]::ident_as_my_trait::{opaque#0}),
local_id: 5,
},
),
],
hir_hash: Fingerprint(
1710843298986704284,
5916981205317546554,
),
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment