まつもと ゆきひろです
In message "[ruby-dev:23814] $SAFE in Proc"
on 04/06/26, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:
|Procは$SAFEを保存しますが、呼び出し側よりも低いレベルに戻すこと
|ができるのは危険ではないかといわれました。
|説得力のある意見ではないかと思うのですが、どうでしょうか。
前に考察した時には、Procが汚染されていないということはコード
は信頼できると言うことなので、問題はないと言う結論を出したん
ですが、見落としがあったかな。
まあ、Proc以外では信頼できないコードから呼び出されたら信頼でき
るはずのコードでも$SAFEは高いまま呼んでいるので対称性がない
というのはあると思います。
その場合でもフック(trace_funcとか)のようなものはやはり元の
$SAFEレベルで実行されてほしい、というか実行されないと期待通
り動かないと思います。