fix: Symbol.unscopables 补入 well-known symbol 表

This commit is contained in:
2026-09-26 21:41:06 +00:00
parent ad6874cd23
commit e775842c09
+5 -2
View File
@@ -54,8 +54,8 @@ pub const SYMBOL_KEY_BASE: u32 = 0xA000_0000;
///
/// 键序与 TC39 well-known symbol 表一致:0-10 为既有项,11/12 分别为
/// `Symbol.asyncDispose` 与 `Symbol.dispose`(显式资源管理提案),13 为
/// `Symbol.isConcatSpreadable`。
pub const WELL_KNOWN_SYMBOL_COUNT: u32 = 14;
/// `Symbol.isConcatSpreadable`,14 为 `Symbol.unscopables`。
pub const WELL_KNOWN_SYMBOL_COUNT: u32 = 15;
/// well-known symbol 的名称表,索引即 well-known symbol id。
///
@@ -77,6 +77,7 @@ pub const WELL_KNOWN_SYMBOL_NAMES: [&str; WELL_KNOWN_SYMBOL_COUNT as usize] = [
"Symbol.asyncDispose",
"Symbol.dispose",
"Symbol.isConcatSpreadable",
"Symbol.unscopables",
];
/// well-known symbol 具名 id:`0`(键值 = `SYMBOL_KEY_BASE + id`)。
@@ -107,6 +108,8 @@ pub const WELL_KNOWN_SYMBOL_ASYNC_DISPOSE: u32 = 11;
pub const WELL_KNOWN_SYMBOL_DISPOSE: u32 = 12;
/// well-known symbol 具名 id:`Symbol.isConcatSpreadable`。
pub const WELL_KNOWN_SYMBOL_IS_CONCAT_SPREADABLE: u32 = 13;
/// well-known symbol 具名 id:`Symbol.unscopables`。
pub const WELL_KNOWN_SYMBOL_UNSCOPABLES: u32 = 14;
/// 用户 symbol 下标的保留位掩码(低 28 位)。
const SYMBOL_INDEX_MASK: u32 = 0x0FFF_FFFF;