@@ -376,6 +376,7 @@ enum DeclarationModifier: TokenSpecSet {
376376 case `static`
377377 case unowned
378378 case weak
379+ case resultDependsOnSelf
379380
380381 init ? ( lexeme: Lexer . Lexeme , experimentalFeatures: Parser . ExperimentalFeatures ) {
381382 switch PrepareForKeywordMatch ( lexeme) {
@@ -414,6 +415,7 @@ enum DeclarationModifier: TokenSpecSet {
414415 case TokenSpec ( . static) : self = . static
415416 case TokenSpec ( . unowned) : self = . unowned
416417 case TokenSpec ( . weak) : self = . weak
418+ case TokenSpec ( . resultDependsOnSelf) where experimentalFeatures. contains ( . nonEscapableTypes) : self = . resultDependsOnSelf
417419 default : return nil
418420 }
419421 }
@@ -455,6 +457,7 @@ enum DeclarationModifier: TokenSpecSet {
455457 case . static: return . keyword( . static)
456458 case . unowned: return TokenSpec ( . unowned, recoveryPrecedence: . declKeyword)
457459 case . weak: return TokenSpec ( . weak, recoveryPrecedence: . declKeyword)
460+ case . resultDependsOnSelf: return TokenSpec ( . resultDependsOnSelf, recoveryPrecedence: . declKeyword)
458461 }
459462 }
460463}
@@ -679,6 +682,7 @@ public enum TypeSpecifier: TokenSpecSet {
679682 case shared
680683 case borrowing
681684 case consuming
685+ case resultDependsOn
682686
683687 init ? ( lexeme: Lexer . Lexeme , experimentalFeatures: Parser . ExperimentalFeatures ) {
684688 switch PrepareForKeywordMatch ( lexeme) {
@@ -687,6 +691,7 @@ public enum TypeSpecifier: TokenSpecSet {
687691 case TokenSpec ( . __shared) : self = . shared
688692 case TokenSpec ( . consuming) : self = . consuming
689693 case TokenSpec ( . borrowing) : self = . borrowing
694+ case TokenSpec ( . resultDependsOn) where experimentalFeatures. contains ( . nonEscapableTypes) : self = . resultDependsOn
690695 default : return nil
691696 }
692697 }
@@ -699,6 +704,7 @@ public enum TypeSpecifier: TokenSpecSet {
699704 case TokenSpec ( . __shared) : self = . shared
700705 case TokenSpec ( . consuming) : self = . shared
701706 case TokenSpec ( . borrowing) : self = . shared
707+ case TokenSpec ( . resultDependsOn) : self = . resultDependsOn
702708 default : return nil
703709 }
704710 }
@@ -710,6 +716,7 @@ public enum TypeSpecifier: TokenSpecSet {
710716 case . shared: return . keyword( . __shared)
711717 case . borrowing: return . keyword( . borrowing)
712718 case . consuming: return . keyword( . consuming)
719+ case . resultDependsOn: return . keyword( . resultDependsOn)
713720 }
714721 }
715722}
0 commit comments