derive_more - Cargo: packages for Rust
https://crates.io/crates/derive_more
opaque_typedef - Cargo: packages for Rust
https://crates.io/crates/opaque_typedef
まあ似たようなことを考える人はどこにでもいるんですが、結局それなりに柔軟で簡単なちょうどいいソリューションが見付からないみたいな状態なのかな
こういうのもすごく気軽に書けたらいいのに><(C# っぽく例示)
class Ninnzuu : Int64;//人数型><;
//この場合は演算子のオーバーロードとか色々抜きだけど、普通にオーバーロードとかも出来るとする><
//・・・って型を定義して
Ninzuu takasikunn = 42;//人数型><(たかしくんが42人(?))
Int64 nankaNoKazu = 10;//64bit整数型
//って宣言して
//エラー!><
Int64 nanka_kekka1 = takasikunn * nankaNoKazu;
//明示的にキャストしてるのでおk><
Int64 nanka_kekka2 = (Int64)takasikunn * nankaNoKazu;
// 実際のC# だとこのままだややこしい事になるかもだけどあくまでそれっぽい例示><;
とはいえ、大量に型を定義して、あるいは演算子もいくつも実装するのであれば、それは当然自動化されて然るべきだし、その十分な自動化機構なしにボイラープレートを許容して「型を用意すれば」というのは、これもまたポヨグヤミンとしては上質といえない