まだ Rust は入門レベルだが、ネット上の資料を参考に Lisp インタプリタを作ってみた。
コードで “does not live long enough” コンパイルエラーが出たが、不思議なことに、全く別の関数を書いたらエラーが消えた。エラーはその関数を呼んでる分けでもない。(そもそも、その関数が存在する前から出ていた。)
細かく調べたら、その別の関数の引数に “&” を付けるか付けないかで、元のコードのエラー指摘が変る。
これはどう見ても Rust コンパイラーのエラーとしか思えない。
バグレポート出そうか。