[JS/TS] Negating a -0.0 literal emits --0 and fails with SyntaxError
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 77/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, typescript
- 領域
- compilers
調査の方向性
まず、issueに記載された単項マイナスの括弧付けチェックを見つけてください。このチェックは現在、値が0.0未満かどうかを判定しています。-0.0 リテラルをどのように処理するか追跡してください。再現例を使って、生成されたJavaScriptまたはTypeScriptに無効な --0 が含まれなくなったことを確認し、次に出力が有効であり、評価結果が0.000000になることを検証してください。
索引モデルが issue の本文から書いたものです。
説明
Description
Negating a -0.0 float literal (directly or after inlining) emits --0 in JavaScript and TypeScript output, which fails at parse time as a prefix decrement on a literal because the unary-minus parenthesization check only tests value < 0.0 (which is false for -0.0).
Repro code
let x = -(-0.0)
printfn "%f" x
Expected and actual results
Expected result:
Compiles to valid JavaScript/TypeScript (e.g. const x = -(-0); or 0), and outputs 0.000000 like .NET F#.
Actual result:
Fable compiles the binding to const x = --0;, which Node.js rejects at parse time with:
SyntaxError: Invalid left-hand side expression in prefix operation
Related information
- Fable version: 5.27.0
- Operating system: macOS / Linux
Credit: https://ucsbplse.github.io/
- 主要言語
- F#
- スター
- 3.2k
- フォーク
- 335
- 平均マージ
- 18時間 57分
- マージ済み PR(30日)
- 154
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fable-compiler/Fable のほかの issue
-
agentic-workflows automation repo-assist
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
fable-compiler/Fable#4531 ·
メンテナーはふだん 1 日以内に返信
-
agentic-workflows automation repo-assist
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
fable-compiler/Fable#4522 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
fable-compiler/Fable#5281 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
fable-compiler/Fable#5279 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
fable-compiler/Fable#5272 ·
メンテナーはふだん 1 日以内に返信
fable-compiler/Fable の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
JakeChampion/lang#14392 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
swc-project/swc-ai-issues#114 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
compiler: `void` inside a constant array or object literal throws in `PureFunctionConstant.keyOf`オープンarea: compiler
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
segfaultcafe/flecha#208 ·
メンテナーはふだん 1 日以内に返信