Skip to content

Commit dd28274

Browse files
unsecable space
1 parent d4acfbc commit dd28274

File tree

8 files changed

+56
-3
lines changed

8 files changed

+56
-3
lines changed

lib/Fmt_ast.ml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2916,11 +2916,14 @@ and fmt_expression c ?(box = true) ?(pro = noop) ?eol ?parens
29162916
$ fmt_atrs
29172917

29182918
and fmt_lazy c ~ctx ?(pro = noop) ~fmt_atrs ~ext ~parens e =
2919-
let lazy_ = str "lazy" $ fmt_extension_suffix c ext $ space_break in
2919+
let lazy_ = str "lazy" $ fmt_extension_suffix c ext in
29202920
let kw_outer, kw_inner =
29212921
match e.pexp_desc with
2922-
| Pexp_beginend _ -> (noop, lazy_)
2923-
| _ -> (lazy_, noop)
2922+
| Pexp_beginend _ ->
2923+
(* having an unbreakable space is useful for [lazy begin fun ...]
2924+
when the function has a long list of arguments. *)
2925+
(noop, lazy_ $ str " ")
2926+
| _ -> (lazy_ $ space_break, noop)
29242927
in
29252928
pro
29262929
$ hvbox 2

test/passing/refs.default/exp_grouping-parens.ml.ref

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,3 +411,9 @@ let _ =
411411
| A ->
412412
print_endline xxxxxxxxx;
413413
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz)
414+
415+
let _ =
416+
lazy
417+
(fun xxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzz ->
418+
print_endline xxxxxxxxx;
419+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz)

test/passing/refs.default/exp_grouping.ml.ref

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,3 +476,12 @@ let _ =
476476
print_endline xxxxxxxxx;
477477
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
478478
end
479+
480+
let _ =
481+
lazy begin fun xxxxxxxxxxxxxxxxxxxxxxx
482+
yyyyyyyyyyyyyyyyyyy
483+
zzzzzzzzzzzzzzzzzzzzzzzz
484+
->
485+
print_endline xxxxxxxxx;
486+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
487+
end

test/passing/refs.janestreet/exp_grouping-parens.ml.ref

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,3 +470,10 @@ let _ =
470470
print_endline xxxxxxxxx;
471471
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz)
472472
;;
473+
474+
let _ =
475+
lazy
476+
(fun xxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzz ->
477+
print_endline xxxxxxxxx;
478+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz)
479+
;;

test/passing/refs.janestreet/exp_grouping.ml.ref

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,3 +552,10 @@ let _ =
552552
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
553553
end
554554
;;
555+
556+
let _ =
557+
lazy begin fun xxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzz ->
558+
print_endline xxxxxxxxx;
559+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
560+
end
561+
;;

test/passing/refs.ocamlformat/exp_grouping-parens.ml.ref

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,3 +403,9 @@ let _ =
403403
| A ->
404404
print_endline xxxxxxxxx ;
405405
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz )
406+
407+
let _ =
408+
lazy
409+
(fun xxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzz ->
410+
print_endline xxxxxxxxx ;
411+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz )

test/passing/refs.ocamlformat/exp_grouping.ml.ref

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,3 +469,12 @@ let _ =
469469
print_endline xxxxxxxxx ;
470470
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
471471
end
472+
473+
let _ =
474+
lazy begin fun xxxxxxxxxxxxxxxxxxxxxxx
475+
yyyyyyyyyyyyyyyyyyy
476+
zzzzzzzzzzzzzzzzzzzzzzzz
477+
->
478+
print_endline xxxxxxxxx ;
479+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
480+
end

test/passing/tests/exp_grouping.ml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,3 +360,9 @@ let _ =
360360
print_endline xxxxxxxxx;
361361
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
362362
end
363+
364+
let _ =
365+
lazy begin fun xxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzz ->
366+
print_endline xxxxxxxxx;
367+
f xxxxxxxxxx yyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzz
368+
end

0 commit comments

Comments
 (0)