このエントリはRustその2 Advent Calendar 2018 6日目の記事を時空を遡って書いています。 κeenです。頭痛い。寝れない。寝れないので空いてる日の分を埋めに行きます。 「Rustで強めに型をつける」シリーズではある程度有名なテクニックを紹介しようかと思います。 みんな当たり前のように書くと知らない人はいつまで経っても知る機会が無いですからね。まずはNew Type Patternから。 基本 例えばcrates.ioを作るとしましょう。エンティティがいくつかありますね。クレートやユーザなど。 struct Crate { id: u64, authors: Vec<User>, // ... } struct Release { id: u64, crate_id: u64, } struct User { id: u64, // ... }
