Avatar
Avatar
omochimetaru
実行結果も書いておこう
多分原因がわかりました(前のコメント は見当違いでした) そもそも「Expressionのパースに失敗すると次のDecl/Stmtまでパースをスキップする」という意図した仕様があるっぽいです。(該当コード ) 問題はSwift 6.1入ったケツカンマStringInterpolationの実装のエラー処理がチグハグなことで、この実装ではStringInterpolationのケツカンマをParserのエラーとして処理しています。(diagnoseを出さなくするロジックは追加されましたが) 該当コードreturn nullptr;ParserResultのエラーを表す) 結果6.1でケツカンマStringInterpolationを書くと、diagnoseは出ずコンパイルは通りますが、内部的には構文エラーとなっていて、「Expressionのパースに失敗すると次のDecl/Stmtまでパースをスキップする」の処理が実行され、後に書いたExpressionが抜け落ちている だと思います 僕のPRではnullptrを返すアプローチを消しているので、このバグも同時に治りそうです。 (edited)