fn resolve_intl_this(it: &Interp, this: Value, ctor_name: &str) -> ObjRefExpand description
newを介さない裸呼び出し(Intl.NumberFormat()。Intl系コンストラクタは
仕様上どちらの呼び出し形式でも動作可能でなければならない)を正しく扱う。
メンバ呼出(Intl.NumberFormat(...))のthisは「メンバ式のレシーバ」
(interp/calls.rsのeval_callのコメントどおり)、つまりIntl
名前空間オブジェクト自身になる。以前は「thisがオブジェクトなら
そのまま使う」という判定だったため、newを省略するとIntlオブジェクト
自身に_intl_type/_localeを書き込んでしまい(Intl名前空間の汚染)、
かつIntlのproto連鎖には.format等が無いため常にundefinedになる
バグだった。正しくはthisのprotoが既に対象コンストラクタの
prototypeと一致する場合(new経由。construct_objectが設定済み)
のみそのオブジェクトを再利用し、それ以外(裸呼び出し)はIntl.<name>. prototypeへ明示的に繋いだ新規オブジェクトを都度生成する。
2026-07-18 発見・実装。