Skip to content

Tuple bindings allow overwriting values #6050

@silky

Description

@silky

Describe and demonstrate the bug

Seems like the tuple syntax allows overriding of variable names, that is otherwise disallowed by the compiler.

a = 1
a = 2 -- Error
(a) = 2 -- Fine

Example code

f = do
  (a, b) = (20, 50)
  (a, b) = (50, 90)
  x = 50
  -- x = 90 -- Uncomment and it gives an error
  (x) = 90
  printLine ("Prints 90: " ++ Nat.toText x)

Environment (please complete the following information):

  • ucm --version: unison version: release/1.0.0 (built on 2025-11-21)
  • OS/Architecture: linux

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