digraph { 0 [ label = "Var(\l VarNode {\l initial: Call(\l ExprCall {\l attrs: [],\l func: Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(151..157),\l },\l arguments: None,\l },\l Colon2,\l PathSegment {\l ident: Ident {\l ident: \"new\",\l span: #0 bytes(159..162),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l paren_token: Paren,\l args: [],\l },\l ),\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l id: 0,\l },\l)\l" ] 1 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"name\",\l span: #0 bytes(130..134),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l)\l" ] 2 [ label = "Evt(\l EvtNode {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l id: 1,\l },\l)\l" ] 3 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"text\",\l span: #0 bytes(179..183),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l)\l" ] 4 [ label = "Group(\l GroupNode {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l id: 2,\l },\l)\l" ] 5 [ label = "Map(\l MapNode {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(273..279),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l update_expr: ReClosure {\l or1_token: Or,\l inputs: [\l Type(\l PatType {\l attrs: [],\l pat: Tuple(\l PatTuple {\l attrs: [],\l paren_token: Paren,\l elems: [\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"t\",\l span: #0 bytes(244..245),\l },\l subpat: None,\l },\l ),\l Comma,\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"n\",\l span: #0 bytes(247..248),\l },\l subpat: None,\l },\l ),\l ],\l },\l ),\l colon_token: Colon,\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(253..259),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(261..267),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l },\l ),\l ],\l or2_token: Or,\l output_arrow: RArrow,\l return_type: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(273..279),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l body: Block {\l brace_token: Brace,\l stmts: [\l Expr(\l Macro(\l ExprMacro {\l attrs: [],\l mac: Macro {\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"format\",\l span: #0 bytes(282..288),\l },\l arguments: None,\l },\l ],\l },\l bang_token: Bang,\l delimiter: Paren(\l Paren,\l ),\l tokens: TokenStream [\l Literal {\l kind: Str,\l symbol: \"{}: {}\",\l suffix: None,\l span: #0 bytes(290..298),\l },\l Punct {\l ch: ',',\l spacing: Alone,\l span: #0 bytes(298..299),\l },\l Ident {\l ident: \"n\",\l span: #0 bytes(300..301),\l },\l Punct {\l ch: ',',\l spacing: Alone,\l span: #0 bytes(301..302),\l },\l Ident {\l ident: \"t\",\l span: #0 bytes(303..304),\l },\l ],\l },\l },\l ),\l ),\l ],\l },\l },\l id: 3,\l },\l)\l" ] 6 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"message\",\l span: #0 bytes(215..222),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(273..279),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l)\l" ] 7 [ label = "Fold(\l FoldNode {\l initial: Call(\l ExprCall {\l attrs: [],\l func: Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(343..346),\l },\l arguments: None,\l },\l Colon2,\l PathSegment {\l ident: Ident {\l ident: \"new\",\l span: #0 bytes(348..351),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l paren_token: Paren,\l args: [],\l },\l ),\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l update_expr: ReClosure {\l or1_token: Or,\l inputs: [\l Type(\l PatType {\l attrs: [],\l pat: Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: Some(\l Mut,\l ),\l ident: Ident {\l ident: \"vec\",\l span: #0 bytes(359..362),\l },\l subpat: None,\l },\l ),\l colon_token: Colon,\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(364..367),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(368..374),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l },\l ),\l Comma,\l Type(\l PatType {\l attrs: [],\l pat: Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"msg\",\l span: #0 bytes(377..380),\l },\l subpat: None,\l },\l ),\l colon_token: Colon,\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(382..388),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l ),\l ],\l or2_token: Or,\l output_arrow: RArrow,\l return_type: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l body: Block {\l brace_token: Brace,\l stmts: [\l Semi(\l MethodCall(\l ExprMethodCall {\l attrs: [],\l receiver: Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"vec\",\l span: #0 bytes(407..410),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l dot_token: Dot,\l method: Ident {\l ident: \"push\",\l span: #0 bytes(411..415),\l },\l turbofish: None,\l paren_token: Paren,\l args: [\l Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"msg\",\l span: #0 bytes(416..419),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l Semi,\l ),\l Expr(\l Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"vec\",\l span: #0 bytes(422..425),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l },\l },\l id: 4,\l },\l)\l" ] 8 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"room1\",\l span: #0 bytes(322..327),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l },\l)\l" ] 9 [ label = "Var(\l VarNode {\l initial: Macro(\l ExprMacro {\l attrs: [],\l mac: Macro {\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"vec\",\l span: #0 bytes(469..472),\l },\l arguments: None,\l },\l ],\l },\l bang_token: Bang,\l delimiter: Bracket(\l Bracket,\l ),\l tokens: TokenStream [\l Ident {\l ident: \"String\",\l span: #0 bytes(474..480),\l },\l Punct {\l ch: ':',\l spacing: Joint,\l span: #0 bytes(480..482),\l },\l Punct {\l ch: ':',\l spacing: Alone,\l span: #0 bytes(480..482),\l },\l Ident {\l ident: \"from\",\l span: #0 bytes(482..486),\l },\l Group {\l delimiter: Parenthesis,\l stream: TokenStream [\l Literal {\l kind: Str,\l symbol: \"Me: a constant message\",\l suffix: None,\l span: #0 bytes(487..511),\l },\l ],\l span: #0 bytes(486..512),\l },\l ],\l },\l },\l ),\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l id: 5,\l },\l)\l" ] 10 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"room2\",\l span: #0 bytes(442..447),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l },\l)\l" ] 11 [ label = "Var(\l VarNode {\l initial: Lit(\l ExprLit {\l attrs: [],\l lit: Int(\l LitInt {\l token: 0,\l },\l ),\l },\l ),\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l id: 6,\l },\l)\l" ] 12 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"index\",\l span: #0 bytes(528..533),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l)\l" ] 13 [ label = "Group(\l GroupNode {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l id: 7,\l },\l)\l" ] 14 [ label = "Map(\l MapNode {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l update_expr: ReClosure {\l or1_token: Or,\l inputs: [\l Type(\l PatType {\l attrs: [],\l pat: Tuple(\l PatTuple {\l attrs: [],\l paren_token: Paren,\l elems: [\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"room1\",\l span: #0 bytes(598..603),\l },\l subpat: None,\l },\l ),\l Comma,\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"room2\",\l span: #0 bytes(605..610),\l },\l subpat: None,\l },\l ),\l ],\l },\l ),\l colon_token: Colon,\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(615..618),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(619..625),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(628..631),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(632..638),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l },\l ),\l ],\l or2_token: Or,\l output_arrow: RArrow,\l return_type: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l body: Block {\l brace_token: Brace,\l stmts: [\l Expr(\l Macro(\l ExprMacro {\l attrs: [],\l mac: Macro {\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"vec\",\l span: #0 bytes(664..667),\l },\l arguments: None,\l },\l ],\l },\l bang_token: Bang,\l delimiter: Bracket(\l Bracket,\l ),\l tokens: TokenStream [\l Ident {\l ident: \"room1\",\l span: #0 bytes(669..674),\l },\l Punct {\l ch: ',',\l spacing: Alone,\l span: #0 bytes(674..675),\l },\l Ident {\l ident: \"room2\",\l span: #0 bytes(676..681),\l },\l ],\l },\l },\l ),\l ),\l ],\l },\l },\l id: 8,\l },\l)\l" ] 15 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"room_list\",\l span: #0 bytes(565..574),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l },\l)\l" ] 16 [ label = "Group(\l GroupNode {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l id: 9,\l },\l)\l" ] 17 [ label = "Map(\l MapNode {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(790..793),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(794..800),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l update_expr: ReClosure {\l or1_token: Or,\l inputs: [\l Type(\l PatType {\l attrs: [],\l pat: Tuple(\l PatTuple {\l attrs: [],\l paren_token: Paren,\l elems: [\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"room_list\",\l span: #0 bytes(740..749),\l },\l subpat: None,\l },\l ),\l Comma,\l Ident(\l PatIdent {\l attrs: [],\l by_ref: None,\l mutability: None,\l ident: Ident {\l ident: \"index\",\l span: #0 bytes(751..756),\l },\l subpat: None,\l },\l ),\l ],\l },\l ),\l colon_token: Colon,\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(761..764),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(765..768),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(769..775),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(779..784),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l },\l ),\l ],\l or2_token: Or,\l output_arrow: RArrow,\l return_type: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(790..793),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(794..800),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l body: Block {\l brace_token: Brace,\l stmts: [\l Expr(\l MethodCall(\l ExprMethodCall {\l attrs: [],\l receiver: Index(\l ExprIndex {\l attrs: [],\l expr: Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"room_list\",\l span: #0 bytes(804..813),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l bracket_token: Bracket,\l index: Path(\l ExprPath {\l attrs: [],\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"index\",\l span: #0 bytes(814..819),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l },\l ),\l dot_token: Dot,\l method: Ident {\l ident: \"clone\",\l span: #0 bytes(821..826),\l },\l turbofish: None,\l paren_token: Paren,\l args: [],\l },\l ),\l ),\l ],\l },\l },\l id: 10,\l },\l)\l" ] 18 [ label = "Name(\l NameNode {\l id: ReIdent {\l ident: Ident {\l ident: \"selected_room\",\l span: #0 bytes(699..712),\l },\l },\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(790..793),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(794..800),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l },\l)\l" ] 0 -> 1 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 2 -> 3 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 3 -> 4 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 1 -> 4 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 4 -> 5 [ label = "ReEdge {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(192..198),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(143..149),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l}\l" ] 5 -> 6 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(273..279),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 6 -> 7 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(273..279),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 7 -> 8 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 9 -> 10 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 11 -> 12 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 8 -> 13 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 10 -> 13 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 13 -> 14 [ label = "ReEdge {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(393..396),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(397..403),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(456..459),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(460..466),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l}\l" ] 14 -> 15 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 15 -> 16 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] 12 -> 16 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l}\l" ] 16 -> 17 [ label = "ReEdge {\l ty: Tuple(\l TypeTuple {\l paren_token: Paren,\l elems: [\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(645..648),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(649..652),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(653..659),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l Comma,\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"usize\",\l span: #0 bytes(542..547),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ],\l },\l ),\l}\l" ] 17 -> 18 [ label = "ReEdge {\l ty: Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"Vec\",\l span: #0 bytes(790..793),\l },\l arguments: AngleBracketed(\l AngleBracketedGenericArguments {\l colon2_token: None,\l lt_token: Lt,\l args: [\l Type(\l Path(\l TypePath {\l qself: None,\l path: Path {\l leading_colon: None,\l segments: [\l PathSegment {\l ident: Ident {\l ident: \"String\",\l span: #0 bytes(794..800),\l },\l arguments: None,\l },\l ],\l },\l },\l ),\l ),\l ],\l gt_token: Gt,\l },\l ),\l },\l ],\l },\l },\l ),\l}\l" ] }