Commit 691131a
committed
Fix uncurried function type handling in FFI and type system
Fix uncurried function type handling in FFI and type system
This commit improves handling of uncurried function types, particularly in FFI and
the type system:
- Add arity information to @obj externals by returning arity from process_obj
- Fix filter_arrow to properly handle arity in type unification
- Remove invalid assert false in ast_uncurried.ml
- Update type_function and type_application to properly handle arity information
- Pass arity through to is_ignore function for consistent type checking
These changes help ensure proper type checking and arity handling for uncurried
functions, especially in FFI bindings using @obj.1 parent 30c93c3 commit 691131a
File tree
5 files changed
+25
-20
lines changed- compiler
- frontend
- ml
5 files changed
+25
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
429 | | - | |
430 | | - | |
| 429 | + | |
| 430 | + | |
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
| |||
610 | 610 | | |
611 | 611 | | |
612 | 612 | | |
613 | | - | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
614 | 616 | | |
615 | 617 | | |
616 | 618 | | |
| |||
961 | 963 | | |
962 | 964 | | |
963 | 965 | | |
964 | | - | |
| 966 | + | |
965 | 967 | | |
966 | 968 | | |
967 | | - | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
968 | 973 | | |
969 | 974 | | |
970 | 975 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
100 | 99 | | |
101 | 100 | | |
102 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2758 | 2758 | | |
2759 | 2759 | | |
2760 | 2760 | | |
2761 | | - | |
| 2761 | + | |
2762 | 2762 | | |
2763 | 2763 | | |
2764 | 2764 | | |
2765 | | - | |
2766 | | - | |
2767 | 2765 | | |
2768 | 2766 | | |
2769 | | - | |
| 2767 | + | |
2770 | 2768 | | |
2771 | 2769 | | |
2772 | 2770 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
206 | | - | |
| 206 | + | |
| 207 | + | |
207 | 208 | | |
208 | 209 | | |
209 | 210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2225 | 2225 | | |
2226 | 2226 | | |
2227 | 2227 | | |
2228 | | - | |
| 2228 | + | |
2229 | 2229 | | |
2230 | 2230 | | |
2231 | 2231 | | |
2232 | 2232 | | |
2233 | | - | |
| 2233 | + | |
2234 | 2234 | | |
2235 | 2235 | | |
2236 | 2236 | | |
| |||
3281 | 3281 | | |
3282 | 3282 | | |
3283 | 3283 | | |
3284 | | - | |
| 3284 | + | |
3285 | 3285 | | |
3286 | 3286 | | |
3287 | 3287 | | |
| |||
3310 | 3310 | | |
3311 | 3311 | | |
3312 | 3312 | | |
3313 | | - | |
| 3313 | + | |
| 3314 | + | |
| 3315 | + | |
3314 | 3316 | | |
3315 | 3317 | | |
3316 | 3318 | | |
| |||
3718 | 3720 | | |
3719 | 3721 | | |
3720 | 3722 | | |
| 3723 | + | |
| 3724 | + | |
| 3725 | + | |
3721 | 3726 | | |
3722 | 3727 | | |
3723 | | - | |
| 3728 | + | |
3724 | 3729 | | |
3725 | | - | |
| 3730 | + | |
3726 | 3731 | | |
3727 | 3732 | | |
3728 | 3733 | | |
| |||
3734 | 3739 | | |
3735 | 3740 | | |
3736 | 3741 | | |
3737 | | - | |
3738 | | - | |
3739 | | - | |
3740 | 3742 | | |
3741 | 3743 | | |
3742 | 3744 | | |
| |||
0 commit comments