@@ -332,6 +332,7 @@ pub enum ExpressionStoreDiagnostics {
332332 AwaitOutsideOfAsync { node : InFile < AstPtr < ast:: AwaitExpr > > , location : String } ,
333333 UndeclaredLabel { node : InFile < AstPtr < ast:: Lifetime > > , name : Name } ,
334334 PatternArgInExternFn { node : InFile < AstPtr < ast:: Pat > > } ,
335+ FruInDestructuringAssignment { node : InFile < AstPtr < ast:: Expr > > } ,
335336}
336337
337338impl ExpressionStoreBuilder {
@@ -616,7 +617,7 @@ impl ExpressionStore {
616617 visitor. on_expr_opt ( * end) ;
617618 }
618619 Pat :: Lit ( expr) | Pat :: ConstBlock ( expr) | Pat :: Expr ( expr) => visitor. on_expr ( * expr) ,
619- Pat :: Path ( _) | Pat :: Wild | Pat :: Missing | Pat :: Rest => { }
620+ Pat :: Path ( _) | Pat :: Wild | Pat :: Missing | Pat :: Rest | Pat :: NotNull => { }
620621 & Pat :: Bind { subpat, id : _ } => visitor. on_pat_opt ( subpat) ,
621622 Pat :: Or ( args) | Pat :: Tuple { args, ellipsis : _ } => visitor. on_pats ( args) ,
622623 Pat :: TupleStruct { args, ellipsis : _, path } => {
@@ -719,7 +720,7 @@ impl ExpressionStore {
719720 }
720721 visitor. on_expr_opt ( * tail) ;
721722 }
722- Expr :: Loop { body, label : _ } => visitor. on_expr ( * body) ,
723+ Expr :: Loop { body, label : _, source : _ } => visitor. on_expr ( * body) ,
723724 Expr :: Call { callee, args } => {
724725 visitor. on_expr ( * callee) ;
725726 visitor. on_exprs ( args) ;
@@ -855,6 +856,10 @@ impl ExpressionStore {
855856 pub fn visit_type_ref_children ( & self , type_ref : TypeRefId , mut visitor : impl StoreVisitor ) {
856857 match & self [ type_ref] {
857858 TypeRef :: Never | TypeRef :: Placeholder | TypeRef :: TypeParam ( _) | TypeRef :: Error => { }
859+ & TypeRef :: PatternType ( ty, pat) => {
860+ visitor. on_type ( ty) ;
861+ visitor. on_pat ( pat)
862+ }
858863 TypeRef :: Tuple ( types) => visitor. on_types ( types) ,
859864 TypeRef :: Path ( path) => visitor. on_path ( path) ,
860865 TypeRef :: RawPtr ( inner, _) | TypeRef :: Slice ( inner) => visitor. on_type ( * inner) ,
0 commit comments