Rust part10at TECHRust part10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト882:デフォルトの名無しさん 21/06/06 14:35:16.58 n+sQSuEO.net >>861 macroをexpandする時に macroの定義に書かれてる任意のコードを実行することができるって話 任意のコードの例としてSSHのキーをサーバーに送信する例が書かれてて 試す人に無害なように送信先サーバーはlocalhostになってるだけ コード見たほうが早いかも make_answer!がexpandされるときにread_ssh_keyが実行される https://github.com/lucky/bad_actor_poc/blob/master/bad_actor/src/lib.rs 883:デフォルトの名無しさん 21/06/06 14:40:17.63 3IIg9tuB.net このコード例はめちゃくちゃわかりやすい。問題は置いといてgoodなコードだ。 884:デフォルトの名無しさん 21/06/06 15:22:49.77 fghVy2Pw.net crate-typeがproc-macroのときはffiを禁止して使用可能なextern crateを 安全性が保証されたものだけに制限するのがRustっぽいかな proc-macro専用のstdが必要になるけどno_stdと同じ感覚でmacro_safe属性をつければいい 885:デフォルトの名無しさん 21/06/06 16:06:34.14 xR3kS6+v.net そもそも普通はproc-macroなんか必要ないだろ 特殊用途以外では一律禁止してよいのでは? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch