Kagari
キーワードを入力してドキュメントを検索します。

診断

Kagari コンパイラの診断にはすべて番号付きのコードがあります。この部の各ページでは、コードごとに意味、それを発生させる最小のプログラム、直し方を示します。

コード

コードは 1 文字の英字と 4 桁の数字からなります(例: E2001)。

  • E はエラー、W は警告です。警告は同じ検査のエラーと同じ番号帯を使うため、W2039 は型エラーの間にあります。
  • 先頭の数字は、それを報告する検査を表します。
コード検査ページ
E0xxx構文構文
E1xxxモジュール、アイテム、名前解決、アセットモジュール、アイテム、名前
E2xxx, W2xxx型、パターン、match の網羅性型
E3xxx, W3xxx種別: fn、pushdown fn、const fn、シーンの規則種別
E4xxx定数評価定数評価
E5xxx, W5xxx物語の解析物語の解析
E6xxx, W6xxxゲームシステムの検査ゲームシステム
E7xxxバイトコード生成生成

重大度

  • エラーはビルドを止めます。エラーが残っている間、kagari build は .kagari ファイルを書き出さず、kagari check は 0 以外の終了ステータスで終了します。
  • 警告は、おそらく誤りであるもの(到達しない match アーム、捨てられた #[must_use] の値、到達しないシーンなど)を報告します。ビルドは成功します。

出力形式

kagari check と kagari build は、各診断を 1 行で表示します。

text
path:line:col: error[E2001]: message

警告の場合は warning[W2039] になります。行と列は 1 始まりで、列はバイトではなく文字単位で数えます。パスはプロジェクトディレクトリからの相対パスです。診断が別の場所にも言及する場合は、字下げした注記行が続きます。

text
src/main.kis:2:4: error[E1014]: message
note: src/main.kis:1:4: message

報告するものがなければ、kagari check は no diagnostics と表示します。言語サーバーもエディター上で同じコードとメッセージの診断を表示します。

コードの調べ方

各コードには、小文字のコードをアンカーとする見出しがあります。E2001 を調べるには types.md#e2001 を開きます。一般に、ページはコードの先頭の数字に対応するもの(上の表を参照)で、アンカーは # に小文字のコードを続けたもの(例: #w5009)です。

最終更新日 2026年10月29日