roc-lang / roc-lang/unicode

4.0.0 fails current nightly: mutable bindings lack $ prefixes

Open
#75 0 comments 0 reactions 1 assignee View on GitHub

@lukewilliamboswell is already working on this.

Since Sep 9, 2026.

Dominant language
Roc
Stars
15
Forks
10
Avg merge
1d 5h
Merged PRs (30d)
13

Description

Summary

roc-lang/unicode 4.0.0 fails under nightly-2026-09-08-39a3f89
because mutable bindings in the released package do not use the new $
naming convention.

This is not specific to roc bundle: checking a consumer's source package
directly reproduces it.

Reproduction

Using the 4.0.0 package dependency:

{ unicode: "https://github.com/roc-lang/unicode/releases/download/4.0.0/3DGC3M4b2pxaRLg4i8cmxWkm2E2WbCPCLntQzf2mkbUV.tar.zst" }

and Roc nightly-2026-09-08-39a3f89, run against roc-pdf commit
c365811bd3dfbf835379a8ad914fa60a683da07d:

roc check package/main.roc

Actual result

The command reports 171 diagnostics and exits with status 2. Examples include:

var name missing '$' .../Bidi.roc:104:7
var output = []

var name missing '$' .../ScriptItemization.roc:203:7
var state = initial

The same diagnostics break ordinary source validation and the release-bundle
consumer test.

Expected result

The released unicode package checks successfully with the current nightly. Its
mutable bindings should use $-prefixed names, followed by a new package
release for consumers to pin.

Downstream evidence

I also inspected the archive produced by roc bundle: roc-pdf's existing
var $name bindings retain their $ prefixes. The failing files are from the
downloaded unicode 4.0.0 package, not rewritten roc-pdf modules.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.