Skip to content

Possible UCM hashing/reproducibility issue? #6185

@kubukoz

Description

@kubukoz

Describe and demonstrate the bug

Given:

lib.install @baccata/schemas/releases/0.1.0

I would expect the following watch expressions to have the same result (a Some):

>x = (Schema.product do absorb (do ())) |> withName "prod" |> name
y = (Schema.product do absorb (do ())) |> withName "prod"
>yName = y |> name

But they don't:

  25 | >x = (Schema.product do absorb (do ())) |> withName "prod" |> name
           ⧩
           Some (Name None "prod")
  
    27 | >yName = y |> name
           ⧩
           None

Notably, if I replace do () with const (), they're both Somes.

Environment (please complete the following information):

  • ucm --version: unison version: release/1.1.1 (built on 2026-02-23), from Nixpkgs
  • OS/Architecture: macOS 15.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions