@@ -2958,7 +2958,7 @@ let lookup_ident_module (type a) (load : a load) ~errors ~use ~loc s env =
2958
2958
let escape_mode ~errors ~env ~loc id vmode escaping_context =
2959
2959
match
2960
2960
Mode.Regionality. submode
2961
- (Mode.Value. regionality vmode)
2961
+ (Mode.Value. proj_comonadic Regionality vmode)
2962
2962
(Mode.Regionality. global)
2963
2963
with
2964
2964
| Ok () -> ()
@@ -2969,13 +2969,13 @@ let escape_mode ~errors ~env ~loc id vmode escaping_context =
2969
2969
let share_mode ~errors ~env ~loc id vmode shared_context =
2970
2970
match
2971
2971
Mode.Linearity. submode
2972
- (Mode.Value. linearity vmode)
2972
+ (Mode.Value. proj_comonadic Linearity vmode)
2973
2973
Mode.Linearity. many
2974
2974
with
2975
2975
| Error _ ->
2976
2976
may_lookup_error errors loc env
2977
2977
(Once_value_used_in (id, shared_context))
2978
- | Ok () -> Mode.Value. join [Mode.Value. min_with_uniqueness Mode.Uniqueness. shared; vmode]
2978
+ | Ok () -> Mode.Value. join [Mode.Value. min_with_monadic Uniqueness Mode.Uniqueness. shared; vmode]
2979
2979
2980
2980
let closure_mode ~errors ~env ~loc id {Mode. monadic; comonadic}
2981
2981
closure_context comonadic0 : Mode.Value.l =
@@ -2998,7 +2998,7 @@ let closure_mode ~errors ~env ~loc id {Mode.monadic; comonadic}
2998
2998
let exclave_mode ~errors ~env ~loc id vmode =
2999
2999
match
3000
3000
Mode.Regionality. submode
3001
- (Mode.Value. regionality vmode)
3001
+ (Mode.Value. proj_comonadic Regionality vmode)
3002
3002
Mode.Regionality. regional
3003
3003
with
3004
3004
| Ok () -> vmode |> Mode. value_to_alloc_r2l |> Mode. alloc_as_value
@@ -3962,15 +3962,15 @@ let report_lookup_error _loc env ppf = function
3962
3962
| Value_used_in_closure (lid , error , context ) ->
3963
3963
let e0, e1 =
3964
3964
match error with
3965
- | ` Regionality _ -> " local" , " might escape"
3966
- | ` Linearity _ -> " once" , " is many"
3965
+ | Error ( Regionality, _ ) -> " local" , " might escape"
3966
+ | Error ( Linearity, _ ) -> " once" , " is many"
3967
3967
in
3968
3968
fprintf ppf
3969
3969
" @[The value %a is %s, so cannot be used \
3970
3970
inside a closure that %s.@]"
3971
3971
! print_longident lid e0 e1;
3972
3972
begin match error, context with
3973
- | ` Regionality _ , Some Tailcall_argument ->
3973
+ | Error ( Regionality, _ ) , Some Tailcall_argument ->
3974
3974
fprintf ppf " @.@[Hint: The closure might escape because it \
3975
3975
is an argument to a tail call@]"
3976
3976
| _ -> ()
0 commit comments