Skip to content

Rework GADT index types to get Lin compiling on trunk again#560

Merged
jmid merged 2 commits into
mainfrom
restore-trunk-build
Jun 19, 2025
Merged

Rework GADT index types to get Lin compiling on trunk again#560
jmid merged 2 commits into
mainfrom
restore-trunk-build

Conversation

@jmid

@jmid jmid commented Jun 12, 2025

Copy link
Copy Markdown
Collaborator

Fixes #559

ATM this changes two empty variant types in the interface, which is a bit annoying... 🤔

@jmid

jmid commented Jun 13, 2025

Copy link
Copy Markdown
Collaborator Author

@OlivierNicole Do you recall why you chose empty variant types for constructible/deconstructible
and abstract types for combinable/noncombinable?

Rather than rewrite the interface, I guess another way around this is to silence the warnings with attributes on each pattern match that trunk will now deem potentially non-exhaustive. We know from OCaml 5.0.0-5.4.0 that they are in fact exhaustive. On the positive side this will be less invasive, however it also smells like more of a temporary workaround... 🤷

@jmid jmid force-pushed the restore-trunk-build branch from cfd2faa to dfabf5a Compare June 19, 2025 06:39
@jmid jmid changed the title WIP: rework GADT index types to get Lin compiling on trunk again Rework GADT index types to get Lin compiling on trunk again Jun 19, 2025
@jmid

jmid commented Jun 19, 2025

Copy link
Copy Markdown
Collaborator Author

CI summary: all 50 workflows passed.

In the interest of unblocking trunk testing, I'll merge this.
We can revert and revise it later if we come up with a better solution.

@jmid jmid merged commit 1d21daf into main Jun 19, 2025
50 checks passed
@jmid jmid deleted the restore-trunk-build branch June 19, 2025 11:00
@jmid

jmid commented Jun 19, 2025

Copy link
Copy Markdown
Collaborator Author

CI summary for merge to main: all 51 workflows passed

@OlivierNicole

Copy link
Copy Markdown
Contributor

@OlivierNicole Do you recall why you chose empty variant types for constructible/deconstructible and abstract types for combinable/noncombinable?

Sorry for the response delay, it looks like I missed the notification. No, I can't recall a good reason for this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ocaml5-issue] GADT exhaustiveness check regression on trunk

2 participants