pointerをコンパイル時に防ぐために、Cycloneではすべてのポインタは1つのリージョンを指すようにできている。あるintを指すポインタの事。リージョンが生きていれば、そのリージョンのデータを指すポインタをデリファレンスしても問題ない。pointerを防ぐ。Polymorphism)がある。どのリージョンについても関数を呼び出すことができる。s)structはポインタを持つことができるが、それらのリージョンが型のパラメータとしても現れる。tl;};リージョンサブタイピングリージョンにはサブタイプ関係がある。(ちなみにRustもライフタイムにのみサブタイプ関係がある。)リージョンはスタックに積まれるように作成され、先に作られたリージョンはあとに作られたリージョンより長生きする。ρ2が作られたとすると、ρ1はρ2としてふるまえる。ρ1がρ2のサブタイプになる。して振る舞うことを禁止している。リージョンアノテーションの記述を減らす毎回リージョンを記述するのは面倒なので、以下の手法で記述を減らせるようになっている。デフォルトのリージョンリージョン推論Cycloneでは主に1つ目のデフォルトリージョンの決定ルールを決めることでほとんど明示的に書かなくてもよくなっている。Rustも同様で、いわゆる「リージョン推論」はないものの、あるルールに従ってライフタイムの記述を省略できる。Cycloneでの具体的なルールは以下。