Closed3

Rust for rustaceansの勉強メモ: インターフェイスをデザインする

hayaohayao

インターフェイス4つの原則

  • unsuprizing
  • flexible
  • obvious
  • constrained

これは読むとよい
https://sinkuu.github.io/api-guidelines/about.html

unsuprizing

標準トレイトは実装するべき
ユーザーはforeign typeのためにforeign traitを実装できない

  • Debug derive or debgu_helper on fmt::Formatter
  • Send Sunc Unpin
  • Clone Default
  • PartialEq PartialOrd Hash Eq Ord
  • Serializeble Deserializable

新しいトレイトを実装するときは適切なblanket実装を提供したほうがいいかも
&T where T: Trait
&mut T where T: Trait
Box<T> where T: Trait

Wrapper Type

Deref, AsRef, From, Into, Borrow

このスクラップは2021/10/24にクローズされました