Skip to main content

structured_clone

Function structured_clone 

Source
pub(crate) fn structured_clone(
    it: &mut Interp,
    _t: Value,
    a: &[Value],
) -> Result<Value, Value>
Expand description

structuredClone(value, {transfer: [...]}) の第2引数 transfer が丸ごと 無視されていた。実際のメモリ移動は行わない簡略実装だが、転送対象の ArrayBuffer.detachedtrue にし内部バイト列を破棄することで ArrayBuffer.prototype.transfer() 自身の「二重 transfer はエラー」という 既存チェック(arraybuffer_transfer_impl)とは整合する状態にする (slice()/byteLength 自体が detached を見ない、という既存の簡略化は そのまま踏襲する)。