NEPLg2.0 実装レビュー Issue 台帳
作成日: 2026-04-25
この台帳は履歴スナップショットです。新しい正の台帳は
../../issues/index.mdと../../issues/index.jsonです。
旧RV-...ID はissues/items/*.mdのlegacy_idに保持しています。
この台帳は概要のみを持ちます。詳細は各領域別ファイルを正とします。
集計
| 領域 | Open | 解決済 |
|---|---|---|
| core | 3 | 26 |
| cli | 3 | 11 |
| stdlib | 10 | 15 |
| examples | 0 | 13 |
| 合計 | 16 | 65 |
Core
| ID | 解決済 | 状態 | 優先度 | 種別 | 要約 | |
|---|---|---|---|---|---|---|
| RV-CORE-001 | true | verified | P1 | architecture | SourceMap と host module 境界を分離し、wasm32v1-none で core を check 可能に修正済み | |
| RV-CORE-002 | false | open | P1 | architecture | typecheck.rs が型推論・名前解決・HIR 生成・trait 処理を抱え込んでいる | |
| RV-CORE-003 | true | verified | P0 | performance | 固定上限・全走査・deep clone を除去し、1105 call chain を typecheck 可能に修正済み | |
| RV-CORE-004 | true | verified | P0 | performance | TypeCtx checkpoint/rollback と mapping-based layout により overload/codegen の全体 clone を除去済み | |
| RV-CORE-005 | true | verified | P1 | bug | 未修飾 lookup を import clause 可視性で filter し、alias / selective / open import の main pipeline 挙動を修正済み | |
| RV-CORE-006 | true | verified | P1 | bug | core loader/type string の debug 出力を verbose gate 配下へ移動済み | |
| RV-CORE-007 | true | verified | P0 | bug | WASM/LLVM backend の explicit panic 経路を diagnostic error に変換し、codegen compile_fail と直接 HIR 回帰テストを追加済み | |
| RV-CORE-008 | true | verified | P1 | bug | raw body の direct call target を宣言済み effect で判定し、文字列包含依存を除去済み | |
| RV-CORE-009 | false | open | P1 | architecture | ownership / borrow / drop が HIR 走査だけで実装されている | |
| RV-CORE-010 | false | open | P2 | architecture | resolve.rs と name_resolve.rs が分かれ、後者は skeleton のまま | |
| RV-CORE-011 | true | verified | P2 | bug | TypeExpr::Spanned で型式 span を保持し、impl target と call reduction 診断の dummy span を解消済み | |
| RV-CORE-012 | true | verified | P2 | architecture | target/profile gate evaluator を集約し、未知 gate を InvalidConditionalGate 診断に修正済み | |
| RV-CORE-013 | true | verified | P0 | bug | 参照 parameter の call argument を一時 borrow として評価するよう修正済み | |
| RV-CORE-014 | true | verified | P1 | bug | .Pair の推論済み tuple 型を保持し、取得した Vec<T> の len overload が解決できるよう修正済み | |
| RV-CORE-015 | true | verified | P1 | bug | --check を artifact 生成から分離し、1105 call chain が check-only path で成功するよう修正済み | |
| RV-CORE-016 | true | verified | P1 | bug | artifact 生成側の深い HIR traversal を iterative 化し、1105 call chain の wasm 生成を修正済み | |
| RV-CORE-017 | true | fixed | P0 | bug | concrete 関数の monomorphize でも関数値 / lambda 参照を収集し、D4007 / D4008 の局所回帰を修正済み | |
| RV-CORE-018 | true | verified | P0 | bug | named generic aggregate の storage layout 解決を修正し、Tuple(Vec, Vec) の 2 番目以降を正しく copy できるよう修正済み | |
| RV-CORE-019 | true | verified | P1 | bug | generic wrapper / nested generic enum の型引数汚染を防ぎ、TypeNoMatchingOverload を修正済み | |
| RV-CORE-020 | true | verified | P2 | bug | pipe 左辺の退避範囲を未完了 callable の直近引数式に限定し、pipe_nested_pipes / pipe_in_if の skip を解除済み | |
| RV-CORE-021 | true | verified | P2 | test | overload arity doctest を現行 Rust test と同じ D3005 compile_fail 期待へ修正済み | |
| RV-CORE-022 | true | verified | P0 | bug | run 24940960078 由来の compiler doctest 回帰を分離修正し、tests/compiler 474件greenを確認済み | |
| RV-CORE-023 | true | verified | P2 | test | raw_body_precheck の D4002 fixture を現在も未対応の never 戻り値 signature へ更新済み | |
| RV-CORE-024 | true | verified | P2 | test | 未使用参照は move を阻害せず、後続使用される参照だけ D3051 で拒否するよう move doctest を整理済み | |
| RV-CORE-025 | true | verified | P2 | test | move_effect.n.md の標準 Clone impl を (&Self)->Self へ更新し、26件green化済み | |
| RV-CORE-026 | true | verified | P2 | test | overload.n.md の arity 違い overload 5件を D3005 期待へ更新済み | |
| RV-CORE-027 | true | verified | P0 | bug | top-level #llvmir の define @entry を #entry 定義として扱い、LLVM smoke の D3092 を修正済み | |
| RV-CORE-028 | true | verified | P0 | bug | `unwrap_ok new 32 | > ...` のような完結済み呼び出し全体を pipe 左辺として扱うよう修正済み |
| RV-CORE-029 | true | verified | P0 | bug | `unwrap_ok new | > ...` のような nullary call を含む完結済み pipe 左辺を正しく単一値へ簡約するよう修正済み |
CLI
| ID | 解決済 | 状態 | 優先度 | 種別 | 要約 |
|---|---|---|---|---|---|
| RV-CLI-001 | true | verified | P0 | bug | --check が compile 後に成功可否を返すよう修正済み |
| RV-CLI-002 | true | verified | P1 | bug | CLI の内部 debug/progress 出力を verbose gate 配下へ移動済み |
| RV-CLI-003 | false | open | P1 | test | Rust CLI の test サブコマンドが .nepl だけを集める |
| RV-CLI-004 | true | verified | P1 | bug | fd 1/2 の共通 iovec 読み取りと stderr immediate flush を実装済み |
| RV-CLI-005 | true | verified | P1 | security | fd 3 preopen root、read-only rights、relative path sandbox 検証を実装済み |
| RV-CLI-006 | true | verified | P2 | architecture | --stdlib-root / NEPL_STDLIB_ROOT / 実行ファイル相対 / build fallback の解決順を実装済み |
| RV-CLI-007 | false | open | P2 | bug | LLVM ターゲットの可搬性が低い |
| RV-CLI-008 | true | verified | P3 | test | unknown argument / value missing を usage error exit code 2 に修正済み |
| RV-CLI-009 | true | verified | P1 | test | workspace 専用 root と cache 検証を追加し、run 24932659255 の build job で bootstrap 成功を確認済み |
| RV-CLI-010 | true | verified | P1 | test | fast/final Pages artifact 名を分離し、run 24932659255 で final deploy 成功を確認済み |
| RV-CLI-011 | true | fixed | P1 | test | LLVM smoke と full dual backend verification を分離し、full dual を tests / stdlib shard job と partial JSON flush 付き artifact に変更済み |
| RV-CLI-012 | true | verified | P2 | test | web/examples を npm prebuild で同期し、ローカル trunk build を clean checkout でも通るように修正済み |
| RV-CLI-013 | true | verified | P2 | test | fixture source を LF 正規化し、Windows checkout の CRLF で nodesrc/cli.js JSON テストが崩れないよう修正済み |
| RV-CLI-014 | true | fixed | P0 | test | LLVM smoke の input path を tests/compiler/llvm_target.n.md に修正し、明示input 0件収集を error 扱いに修正済み |
Stdlib
| ID | 解決済 | 状態 | 優先度 | 種別 | 要約 |
|---|---|---|---|---|---|
| RV-STDLIB-001 | true | verified | P0 | bug | alloc_raw の初回 allocation が heap metadata 後ろから始まるよう修正済み |
| RV-STDLIB-002 | true | verified | P0 | bug | split remainder を free list の同じ位置へ戻すよう修正済み |
| RV-STDLIB-003 | true | verified | P0 | bug | Vec / Stack の shallow Copy / Clone を削除し double free パターンを compile_fail 化 |
| RV-STDLIB-004 | false | open | P1 | bug | Vec<T> などが要素所有権を解放しない |
| RV-STDLIB-005 | false | open | P1 | bug | text stdin が固定長で途切れる |
| RV-STDLIB-006 | false | open | P1 | test | I/O 系 stdlib の回帰が実行されない |
| RV-STDLIB-007 | false | open | P1 | bug | bytes を検証せず str に変換する経路がある |
| RV-STDLIB-008 | false | open | P2 | architecture | stdlib/neplg3 は 17 行の stub 群のみ |
| RV-STDLIB-009 | false | open | P2 | architecture | math.nepl / string.nepl / stdio.nepl が巨大化 |
| RV-STDLIB-010 | false | open | P2 | bug | unwrap / unwrap_ok が stdlib 内部で panic 経路を広げている |
| RV-STDLIB-011 | true | verified | P0 | architecture | Clone と Vec / Stack の read API を borrow-based に移行する前提を追加済み |
| RV-STDLIB-012 | false | open | P1 | architecture | HashKey / Hasher が独自の clone/copy capability を持ち、標準 Clone / Copy と不整合 |
| RV-STDLIB-013 | false | open | P1 | test | collection doctest が D3004 / D3016 / runtime trap で広範囲に失敗し、API と実装の差分が残っている |
| RV-STDLIB-014 | true | verified | P1 | architecture | Stack に get_ref / pop_ref を追加し、Copy 要素を借用経由で読み取り・取り出しできるよう修正済み |
| RV-STDLIB-015 | true | verified | P1 | architecture | Vec::replace_ref / string::byte_at / stdio::print_byte を追加し、byte VM を raw memory なしで書けるよう修正済み |
| RV-STDLIB-016 | true | verified | P1 | architecture | Stack::push_ref を追加し、Copy 要素を借用 stack へ追加して失敗時も handle を保持できるよう修正済み |
| RV-STDLIB-017 | true | verified | P1 | architecture | Vec::filled を追加し、固定長 buffer/table を Result で作れるよう修正済み |
| RV-STDLIB-018 | false | open | P1 | bug | tests/stdlib/streamio.n.md が D3069 / D3006 と stdout の binary layout 混入で 5 件失敗 |
| RV-STDLIB-019 | true | verified | P0 | test | collection doctest の let x <T>: 値ブロック末尾 ; を削除し、対象4ファイルの doctest 34件を green 化済み |
| RV-STDLIB-020 | true | verified | P0 | test | vec recursive helper の idx + 1 引数境界を修正し、Fenwick / SegmentTree D3016 14件を green 化済み |
| RV-STDLIB-021 | true | verified | P1 | test | vec/sort.nepl doctest を current Vec Result API と *_ret sort helper に同期済み |
| RV-STDLIB-022 | true | verified | P1 | test | hashmap.nepl::doctest#3 の indent と by-value get fixture を修正済み |
| RV-STDLIB-023 | true | verified | P0 | bug | HashMap / HashSet string key runtime tests を direct return-code fixture と独立 free smoke に分離し、stdlib 382件を green 化済み |
| RV-STDLIB-024 | true | verified | P1 | test | deserialize.nepl::doctest#1 の match arms を Result<(),str> に統一済み |
| RV-STDLIB-025 | true | verified | P1 | bug | enum storage を full-size / zero-init / inline aggregate copy に統一し、WASM の 0 byte struct field 書き込みによる heap pointer 破壊を修正済み |
Examples
| ID | 解決済 | 状態 | 優先度 | 種別 | 要約 |
|---|---|---|---|---|---|
| RV-EXAMPLE-001 | true | verified | P1 | architecture | rpn.nepl を Stack / Vec の借用 API 中心に書き直し、低レベルメモリ操作と move error を除去済み |
| RV-EXAMPLE-002 | true | verified | P1 | architecture | bf.nepl を Vec / Stack / string byte API 中心へ書き直し、raw allocation と move error を除去済み |
| RV-EXAMPLE-003 | true | verified | P1 | architecture | rpn_regacy.nepl を rpn_legacy.nepl に改名し、stdlib public API 中心へ書き直し済み |
| RV-EXAMPLE-004 | true | verified | P2 | maintenance | basics/tools examples の import と entry 関数型表記を現行形へ統一済み |
| RV-EXAMPLE-005 | true | verified | P3 | doc | rpn_legacy.nepl のソースコメントから旧ファイル名履歴を除き、利用上の注意へ整理済み |
| RV-EXAMPLE-006 | true | verified | P3 | doc | nm.nepl の usage 表示を実体名の nm に統一済み |
| RV-EXAMPLE-007 | true | verified | P3 | doc | rpn.nepl の先頭を doctest / 概要コメント / directive の順へ整理済み |
| RV-EXAMPLE-008 | true | verified | P3 | doc | bf.nepl の先頭を doctest / 概要コメント / directive の順へ整理済み |
| RV-EXAMPLE-009 | true | verified | P1 | architecture | rpn_legacy.nepl の stack 初期化・push を match / push_ref へ移行し、unwrap_ok 依存を除去済み |
| RV-EXAMPLE-010 | true | verified | P1 | architecture | rpn.nepl の stack 初期化・push を match / push_ref へ移行し、unwrap_ok 依存を除去済み |
| RV-EXAMPLE-011 | true | verified | P1 | architecture | bf.nepl の Vec/Stack 初期化を filled / push_ref / match へ移行し、unwrap_ok 依存を除去済み |
| RV-EXAMPLE-012 | true | verified | P3 | test | stdio.nepl に UTF-8 入力の doctest を追加し、説明を ASCII / UTF-8 入力へ整理済み |
| RV-EXAMPLE-013 | true | verified | P3 | maintenance | helloworld.nepl に #indent 4 を追加し、examples の標準ヘッダを統一済み |