Rust
Rustのマクロでダックタイピングしてみる
Rustは複数の構造体をトレイトの型にキャストすればダックタイピングもどきはできるものの、C++の関数テンプレートほど強力な機能が無いらしいので、正式なダックタイピングではない。
しかしRustには強力なマクロ機能がある。
マクロなら「構造体なら何でも来い」的な関数もどきを作れるのではないか、と思ってやってみた。
コードの見た目もそれっぽいし、動きもダックタイピングそのものだ。
トレイト型にキャストしていないので、フィールドにもちゃんとアクセスできる。
実際はただ展開されているだけだけども。
|