κeenです。Rustには所有権やらライフタイムやら参照やらがあって型システムが面倒ですよね。線形(アフィン)と言われてるのに「あれ?」と思う部分もあるので詳しく探っていこうと思います。 尚、この記事は型システムに興味のある人向けです。単にRustを書きたい方に有用な情報があるかは分かりません。 2016-212-14T15:28Z09:00 加筆訂正しました。diffはこちら 線形型?アフィン型? はじめにこの辺をハッキりさせておきたいです。 アフィン型は線形型に弱化規則を許す型です。 プログラミング的に言えば線形型は free しないと型エラーになるけどアフィン型はそうでない。 Rustはご存知の通り free 相当のものを手で書くことはないのでアフィンな気がしますし、昔のドキュメントにもそう書いてました。 しかし実際に実行されるプログラムではコンパイラが差し込んだ free が実行さ
![Rustの所有権、ライフタイム、参照、型、しがらみ | κeenのHappy Hacκing Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/5593f703271d38fa20239a9cd7e89a4a77c54adb/height=288;version=1;width=512/https%3A%2F%2Fkeens.github.io%2Fimages%2Fogp%2Fpost%2FRustnoshoyuuken_raifutaimu_sanshou_kata_shigarami.png)