Drop redundant open tag unions in return position; pin nightly-2026-09-27 - #237
Merged
Merged
Conversation
…9-27
Since nightly-2026-09-23 the compiler opens a tag union in return
position on its own and warns on an explicit `..` there ("redundant
open tag union"). roc build exits non-zero on any warning, so an
application on basic-webserver cannot build against the current
nightlies: the platform's own sources raise sixty of them.
This removes every explicit `..` in return position in platform/ (60
sites in nine files, driven by the compiler's warning list) and in the
examples' own code, and moves the pinned nightly to
nightly-2026-09-27-a3ce7f1 in .roc-version and every example manifest.
No signature widens and no behaviour changes: the compiler now opens
those unions itself. platform/main.roc checks with zero warnings on the
new pin; the examples still see warnings from the released platform
tarball and packages they pin by URL, which the next release resolves.
eschizoid
marked this pull request as draft
October 1, 2026 00:37
eschizoid
marked this pull request as ready for review
October 1, 2026 00:40
Contributor
Author
|
@lukewilliamboswell, any chance you could merge this little guy now that it is green? |
Collaborator
|
I can, I had another commit I thought I pushed which restored those. I can make another PR no issue |
Contributor
Author
|
looking forward to the next release 🙇 Thanks again! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pinned Roc compiler implicitly opens return-position tag unions and rejects redundant explicit
..unions. Remove those unions from platform sources, examples, the performance harness, and the README quick-start; pinnightly-2026-09-27-a3ce7f1and regenerate its matching Rust ABI glue.Six examples depend on
roc-gregorian1.0.0-rc.3, whose five redundant unions inUtil.rocprevent checking and building with this pin. Movecommand,echo,error-handling,file-accessed-modified-created-time,hello-web, andinit-basicto the existing.todorocbacklog. Each file has a TODO to restore the application and its HTTP specification cases after a compatible dependency release. Remove only those six spec entries and point contributor commands and the optimization-default harness test at the activehealth.rocexample.roc-time0.1.0 also has this blocker: a probe importingPosixBoundaryreports six redundant-union warnings on the pin. A migration needs a compatible published release first.Validation with the pinned nightly:
The platform design and host runtime behavior are unchanged. The six deferred applications retain their original source beneath the restoration TODOs; their test cases remain recoverable from git history.