Surfaced by PR #870 (closes the link error in #837). Two runtime gaps remain before import { v4 } from "uuid"; v4() actually prints a uuid:
1. HIR — export default function NAME body never registered
crates/perry-hir/src/lower.rs:5296 has a literal // TODO: properly lower function expression in the ExportDefaultDecl::Fn arm. uuid's v35.js uses export default function v35(...); the function body is never added to module.functions, so the wrapper emitted by #870 falls through to the no-op fallback and v3() returns undefined instead of a uuid.
2. Codegen — Call callee shape not supported (PropertyGet) with 20 args
uuid's sha1.js separately surfaces this codegen gap on PropertyGet-callee dispatch with many args.
Either or both must be fixed for uuid to be usable end-to-end.
Refs #837 (link error fixed by #870), #870.
Surfaced by PR #870 (closes the link error in #837). Two runtime gaps remain before
import { v4 } from "uuid"; v4()actually prints a uuid:1. HIR —
export default function NAMEbody never registeredcrates/perry-hir/src/lower.rs:5296has a literal// TODO: properly lower function expressionin theExportDefaultDecl::Fnarm. uuid'sv35.jsusesexport default function v35(...); the function body is never added tomodule.functions, so the wrapper emitted by #870 falls through to the no-op fallback andv3()returnsundefinedinstead of a uuid.2. Codegen —
Call callee shape not supported (PropertyGet) with 20 argsuuid's
sha1.jsseparately surfaces this codegen gap on PropertyGet-callee dispatch with many args.Either or both must be fixed for uuid to be usable end-to-end.
Refs #837 (link error fixed by #870), #870.