Rust小ネタ集

Proc macroのprintfデバッグ

println!デバッグが使えないのでなんか情報を出したくなったときに困るが、代わりにpanic!マクロが使える。panic!のメッセージはそのまま表示される。

bytes crate

Rcなんだけど、でかい配列の一部分を参照しているオブジェクトに関しても参照カウンタを増やしてくれる便利な子

なぜAny'staticを要求するか

'staticがなかったらと思うとなかなかカオス。lifetimeはより短い方には切り詰められるので、lifetimeの依存関係の情報を持たせなければならない。実行時に決定できるかが問題。最もナイーブなケースではスタックフレームを全部追いかけていけば原理的には不可能ではないような気もするが、 常に 可能であると証明できるか?かなり非自明。そもそもスタックフレームとかに依存していいんでしたっけ?(stackful coroutineをやってはいけないと言われている?)

generic-array

配列の長さを無理やりジェネリクス化する。言い換えればジェネリクスで無理やり「ちょっとした依存型」を実現する。ちょっとした依存型に関してはそもそもtypenumというのがある。

Comments

comments powered by Disqus