型エイリアス (alias)¶
lib の中で alias を宣言することで C typedef が宣言できます。
lib X
alias MyInt = Int32
end
これで Int32 と MyInt は相互に交換可能になります。
lib X
alias MyInt = Int32
fun some_fun(value : MyInt)
end
X.some_fun 1 # OK
alias が便利なのは、長い型名を何度も書かずに済むようにできることに限らず、コンパイル時のフラグに基づく型宣言にも利用できます。
lib C
{% if flag?(:x86_64) %}
alias SizeT = Int64
{% else %}
alias SizeT = Int32
{% end %}
fun memcmp(p1 : Void*, p2 : Void*, size : C::SizeT) : Int32
end
この宣言の型を指定方法については型の文法を参照してください。