Skip to content

Tracking: uuid not e2e-functional after #837 link fix — HIR lower + sha1.js codegen gaps #871

@proggeramlug

Description

@proggeramlug

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions