Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

dict_set with a non-string key silently stores nothing

オープン 初心者向け
#1,642 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c
領域
compilers

調査の方向性

type_mismatch を非文字列キーに対して既に発生させているインデックス代入パスと並べて dict_set の C 実装を特定し、両者を比較して明示的なチェックがどのように行われているかを確認する。そのチェックを dict_set および辞書キーに書き込む周辺の組み込み関数に反映し、続いて map_keys.eigs プローブ(または issue のスニペット)を使ったスイートテストを追加して、修正前の v0.44.0 リリースバイナリでは失敗し、修正後には通過することを確認する.

索引モデルが issue の本文から書いたものです。

説明

area:stdlib kind:silent-wrong

Found by the guest-language value matrix (hq, pre-pass for #1286), probes run against the v0.44.0 release binary (full build).

d is {}
dict_set of [d, 1, "one"]
print of (keys of d)   # []   — no error, nothing stored
d[1.5] is "x"          # raises type_mismatch (index syntax is loud)

Index syntax rejects a non-string key loudly; dict_set drops it silently. Every guest language uses numeric map keys (Lua tables, Python dicts, Go maps); the matrix proposes a #1286 map-key row for the design question. This issue is just the silent drop. Probe: map_keys.eigs.

Done when

  • dict_set (and any sibling builtin that writes dict keys) raises on a non-string key, exactly as index assignment does, until #1286's map-key row decides otherwise.
  • A suite test fails on v0.44.0.
主要言語
C
スター
3
フォーク
7
平均マージ
8時間 44分
マージ済み PR(30日)
252

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

InauguralSystems/EigenScript のほかの issue

InauguralSystems/EigenScript の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。