飴屋

WebAssembly/型の名前が長い

何度も書く名前

この間例に出した「Weak<RefCell<Person>>」っていう型名みたいなのが何回もコードに登場すると書くのが面倒くさいなって思ってきました。

type WPerson = Weak<RefCell<Person>>;

型名エイリアスがこんな風にできるらしい。短くかけてソースの見通しがよくなる半面、どういう型の構造をしてるか忘れそうって思ったので、エイリアス名にもうちょっと工夫がいる気がしています。まぁ、エディターがエイリアス型の中身を出してくれるからこのままでもこまらないですが。

typeキーワードは元々Addトレイトなんかを実装するときなんかにみかけていました。出力値の型(Output)を定義するときに使ったのでした。型名だけ決めておいて、後から中身を決定するのに使えるってことなのか。

impl WPerson {
  fn do_something(&self) {
    // Error
  }
}

↑こんな風に型名エイリアスにメソッドを実装できるか試してみたけど、ダメでした。エイリアスはただエイリアスなだけみたいです。メソッドをつけたかったらおとなしく構造体として実装せよっていう理解でいます。