Avatar
ケツカンマ許容ロジックの実装が雑で、エラーを無視する事で実装していたために
エラーと言ってもdiagnoseとParserの内部のエラー表現(=回復ロジックを実行すべきか否かに使われるParserStatus/ParserResult)は別物っぽく、(僕もあんまり理解しきれてないですが) ケツカンマの許容ロジックの実装ではdiagnoseは無視して消したがParser内部のエラー表現はエラーを出し続けて放置してたので 許容パターンなのに回復ロジックが実行されて、後に書いたExpressionがスキップされてました
パーサーのロジックとして実際にケツカンマを許容する正規系として対応
はい、僕のPRは内部的なエラーも出さず正規系として処理するように変更してます (出発点として、関数呼び出しとかのStringInterpolation以外のケツカンマは正規系として処理されているのに、StringInterpolationだけdiagnoseを消すだけのパッチ的な適当な対応がされていたのが問題で、僕のPRはStringInterpolationも他のケツカンマ対応のアプローチにマージする方針です)
(edited)