Latest Results
refactor: drop redundant struct keying fields from schema
Now that exported_classes is keyed by qualified_name (#5154) and the
wrap/unwrap aux imports route through that key, three fields carry no
information that is not already derivable from (name, js_namespace):
* AuxStruct.rust_name / Struct.rust_name (wire schema) — used to be the
map key, replaced by qualified_name; no remaining cli-support reader
after #5154/#5160, and no diagnostic surfacing in error messages or
log output.
* AuxStruct.qualified_name / AuxEnum.qualified_name — derivable on
demand via wasm_bindgen_shared::qualified_name(js_namespace, name);
storing it duplicates the (name, js_namespace) pair that AuxStruct
already carries.
* ExportedClass.qualified_name — duplicates the exported_classes map
key. Three or_else fallback chains that exercised the pre-#5154
`rust_name` vs `qualified_name` disagreement collapse to direct
uses of the key.
The ancestors tuple shrinks from `(identifier, rust_name, qualified)`
to `(identifier, qualified)` for the same reason: the rust_name slot
was for the upcast-symbol parent half, which #5154 unified onto
qualified_name on both sides via extends_js_class /
extends_js_namespace.
The release that ships #5154 is already a breaking schema bump (two
new fields on Struct: extends_js_class / extends_js_namespace), so
dropping rust_name in the same cycle costs nothing additional and
avoids carrying a dead field forever. Schema hash re-approved.ZhaoXiangXML:fix/wrap-exported-class-qualified-name refactor: drop redundant struct keying fields from schema
Now that exported_classes is keyed by qualified_name (#5154) and the
wrap/unwrap aux imports route through that key, three fields carry no
information that is not already derivable from (name, js_namespace):
* AuxStruct.rust_name / Struct.rust_name (wire schema) — used to be the
map key, replaced by qualified_name; no remaining cli-support reader
after #5154/#5160, and no diagnostic surfacing in error messages or
log output.
* AuxStruct.qualified_name / AuxEnum.qualified_name — derivable on
demand via wasm_bindgen_shared::qualified_name(js_namespace, name);
storing it duplicates the (name, js_namespace) pair that AuxStruct
already carries.
* ExportedClass.qualified_name — duplicates the exported_classes map
key. Three or_else fallback chains that exercised the pre-#5154
`rust_name` vs `qualified_name` disagreement collapse to direct
uses of the key.
The ancestors tuple shrinks from `(identifier, rust_name, qualified)`
to `(identifier, qualified)` for the same reason: the rust_name slot
was for the upcast-symbol parent half, which #5154 unified onto
qualified_name on both sides via extends_js_class /
extends_js_namespace.
The release that ships #5154 is already a breaking schema bump (two
new fields on Struct: extends_js_class / extends_js_namespace), so
dropping rust_name in the same cycle costs nothing additional and
avoids carrying a dead field forever. Schema hash re-approved.ZhaoXiangXML:fix/wrap-exported-class-qualified-name Latest Branches
-11%
ZhaoXiangXML:fix/wrap-exported-class-qualified-name -3%
-27%
© 2026 CodSpeed Technology