Inkoにおける避けられない借用チェッカー:スタック割り当てとコンパイル時チェックのトレードオフ

2025-02-07

Inko言語の設計者は、スタック割り当てと借用チェックの最適な解決策を探っています。デフォルトでは、Inkoの型はヒープに割り当てられ、柔軟性を提供しますが、パフォーマンスのオーバーヘッドが発生します。パフォーマンスを向上させるために、`inline`修飾子が導入され、スタック割り当てがサポートされますが、これにより、メモリ安全性を保証しながら借用とムーブセマンティクスを処理するという新たな課題が生じます。この記事では、フィールドの代入を許可する、ユニークな型を導入する、エスケープ解析を行うなど、いくつかの解決策を検討し、最終的にコンパイル時の借用チェックが最適なアプローチであると結論づけていますが、実装の複雑性が高いため、短期的な実装は見送られています。現在、Inkoは、インライン型のフィールドの再代入を許可しない戦略を採用しています。

開発