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

Restore short form formatting of record field aliases #2282

Merged
merged 2 commits into from
Mar 9, 2023

Conversation

gpetiot
Copy link
Collaborator

@gpetiot gpetiot commented Mar 9, 2023

Fix #2275

(I don't think the big pattern matching could be further simplified.)

CHANGES.md Outdated Show resolved Hide resolved
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Collaborator

@Julow Julow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@gpetiot gpetiot merged commit 0563167 into ocaml-ppx:main Mar 9, 2023
@gpetiot gpetiot deleted the short-syntax-records branch March 9, 2023 16:03
Julow added a commit to Julow/ocamlformat that referenced this pull request Jun 28, 2023
The new syntax rewrite introduced in ocaml-ppx#2282 is not compatible with 4.02.

The default value for the `ocaml-version` option is 4.04 but users are
still supporting OCaml 4.02.

`test/passing/tests/record-402.ml.ref` parse on 4.02.
`test/passing/tests/record.ml.ref` parse on 4.03.

The tests that are specifically about the newer syntax are moved into an
other test.
Julow added a commit that referenced this pull request Jul 3, 2023
The new syntax rewrite introduced in #2282 is not compatible with 4.02.

The default value for the `ocaml-version` option is 4.04 but users are
still supporting OCaml 4.02.

`test/passing/tests/record-402.ml.ref` parse on 4.02.
`test/passing/tests/record.ml.ref` parse on 4.03.

The tests that are specifically about the newer syntax are moved into an
other test.

* Merge tests `record_identity` and `record_punning`
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
…camlformat-bench (0.26.0)

CHANGES:

### Removed

- Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot)

### Deprecated

### Bug fixes

- Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow)
- Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow)
- Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow)
- Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow)
- Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow)
- Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot)
* Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow)
* Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot)
- Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot)
- Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot)
- Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow)

### Changes

- Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow)
  Remove unnecessary escaping and preserve empty lines.
* Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow)
- Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow)
* Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow)
* Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow)
- Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow)
  It was formatted differently than `@@ let x = ...`.
* Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow)
* Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow)
* Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow)
* Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow)
* Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow)
  The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body.
- JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow)
- Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow)

### New features

- Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot)
- Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
…camlformat-bench (0.26.0)

CHANGES:

### Removed

- Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot)

### Deprecated

### Bug fixes

- Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow)
- Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow)
- Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow)
- Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow)
- Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow)
- Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot)
* Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow)
* Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot)
- Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot)
- Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot)
- Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow)

### Changes

- Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow)
  Remove unnecessary escaping and preserve empty lines.
* Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow)
- Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow)
* Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow)
* Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow)
- Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow)
  It was formatted differently than `@@ let x = ...`.
* Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow)
* Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow)
* Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow)
* Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow)
* Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow)
  The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body.
- JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow)
- Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow)

### New features

- Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot)
- Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
CHANGES:

### Removed

- Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot)

### Deprecated

### Bug fixes

- Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow)
- Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow)
- Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow)
- Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow)
- Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow)
- Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot)
* Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow)
* Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot)
- Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot)
- Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot)
- Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow)

### Changes

- Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow)
  Remove unnecessary escaping and preserve empty lines.
* Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow)
- Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow)
* Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow)
* Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow)
- Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow)
  It was formatted differently than `@@ let x = ...`.
* Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow)
* Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow)
* Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow)
* Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow)
* Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow)
  The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body.
- JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow)
- Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow)

### New features

- Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot)
- Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 19, 2023
CHANGES:

### Removed

- Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot)

### Deprecated

### Bug fixes

- Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow)
- Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow)
- Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow)
- Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow)
- Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow)
- Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot)
* Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow)
* Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot)
- Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot)
- Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot)
- Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow)

### Changes

- Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow)
  Remove unnecessary escaping and preserve empty lines.
* Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow)
- Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow)
* Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow)
* Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow)
- Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow)
  It was formatted differently than `@@ let x = ...`.
* Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow)
* Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow)
* Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow)
* Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow)
* Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow)
  The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body.
- JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow)
- Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow)

### New features

- Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot)
- Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
nberth pushed a commit to nberth/opam-repository that referenced this pull request Jun 18, 2024
CHANGES:

### Removed

- Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot)

### Deprecated

### Bug fixes

- Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow)
- Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow)
- Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow)
- Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow)
- Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow)
- Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot)
* Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow)
* Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot)
- Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot)
- Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot)
- Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow)

### Changes

- Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow)
  Remove unnecessary escaping and preserve empty lines.
* Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow)
- Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow)
* Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow)
* Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow)
- Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow)
  It was formatted differently than `@@ let x = ...`.
* Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow)
* Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow)
* Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow)
* Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow)
* Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow)
  The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body.
- JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow)
- Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow)

### New features

- Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot)
- Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
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.

Bug: record shorthand no longer enforced
2 participants