Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow forceful crossing of portability and contention #2725

Merged
merged 23 commits into from
Jul 10, 2024
Merged
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
8ce8a8c
Add basic tests
liam923 Jun 12, 2024
14c1779
Add -allow-illegal-crossing flag
liam923 Jun 12, 2024
1ade74b
Implement for records, variants, and private types, and update tests
liam923 Jun 13, 2024
85edbe9
Fix bug causing types to always cross
liam923 Jun 13, 2024
7b032ee
Add more tests
liam923 Jun 13, 2024
12aa5b2
Fix types with abbrev and manifest
liam923 Jun 14, 2024
af778c2
Remove comment about module signatures
liam923 Jul 3, 2024
ee5f4f4
Add more tests for illegal crossing in signatures
liam923 Jul 3, 2024
dad320e
Add tests demonstrating that values can't cross illegally
liam923 Jul 3, 2024
9f5efa4
Remove no-op annotations
liam923 Jul 3, 2024
be97e77
Treat private types as non-nominative
liam923 Jul 3, 2024
d2a6193
Print annotations when there is illegal crossing
liam923 Jul 3, 2024
eb7fc15
Remove incorrect test
liam923 Jul 5, 2024
6c9b91c
Add test demonstrating incorrect inference for type parameter
liam923 Jul 8, 2024
8fbd36e
Fix test numbering
liam923 Jul 9, 2024
ca5c53d
Fix inference test
liam923 Jul 9, 2024
490a292
Add cr to remove type_has_illegal_crossings
liam923 Jul 9, 2024
0b0868f
Update note about printing jkinds
liam923 Jul 9, 2024
e281a27
Add comment for printing case C1.3
liam923 Jul 9, 2024
9ab2f9a
Fixed incorrect type_has_illegal_crossings value
liam923 Jul 9, 2024
06fdf35
Fix test for inferring 'a
liam923 Jul 9, 2024
06134cb
Rename allow-illegal-crossing.ml to allow_illegal_crossing.ml
liam923 Jul 9, 2024
12471c7
Add tests for mode crossing
liam923 Jul 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix inference test
  • Loading branch information
liam923 committed Jul 9, 2024
commit ca5c53d8bdaf1c72e194d3644a52872e8b5cf4af
13 changes: 12 additions & 1 deletion ocaml/testsuite/tests/typing-layouts/jkinds.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1664,5 +1664,16 @@ Error: The layout of type t is value, because
But the layout of type t must be a sublayout of value, because
of the annotation on the declaration of the type t.
|}]

type 'a t : value mod many = { x : 'a }
[%%expect {|
Line 1, characters 0-39:
1 | type 'a t : value mod many = { x : 'a }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The layout of type t is value, because
it's a boxed record type.
But the layout of type t must be a sublayout of value, because
of the annotation on the declaration of the type t.
|}]
(* CR layouts v2.8: this should be accepted; 'a should be inferred to have kind
goldfirere marked this conversation as resolved.
Show resolved Hide resolved
value mod global *)
value mod many *)