rust の trait

C++ の concept は、Rust の trait, Haskell の型クラス制約に対応する。

なので、同様の処理をそれぞれの言語で書いてみる。

 

rust 版。trait だけ異なる関数のオーバーロード(多重定義)に失敗した。

書き方が悪いだけ?それとも仕様で禁じられている?

https://wandbox.org/permlink/2mHo97nD7GyGjHqX

 

Haskell 版。こちらもオーバーロードに失敗する。

https://wandbox.org/permlink/LswpEklyk5rFU73v

 

まだ試行錯誤が必要だ。