File tree Expand file tree Collapse file tree 3 files changed +16
-3
lines changed
tests/syntax_tests/data/printer/signature Expand file tree Collapse file tree 3 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -6526,10 +6526,15 @@ and parse_module_declaration_or_alias ~attrs p =
6526
6526
| Colon ->
6527
6527
Parser. next p;
6528
6528
parse_module_type p
6529
- | Equal ->
6529
+ | Equal -> (
6530
6530
Parser. next p;
6531
- let lident = parse_module_long_ident ~lowercase: false p in
6532
- Ast_helper.Mty. alias lident
6531
+ match p.Parser. token with
6532
+ | Lbrace ->
6533
+ (* Parse `module M = {` as `module M : {` *)
6534
+ parse_module_type p
6535
+ | _ ->
6536
+ let lident = parse_module_long_ident ~lowercase: false p in
6537
+ Ast_helper.Mty. alias lident)
6533
6538
| token ->
6534
6539
Parser. err p (Diagnostics. unexpected token p.breadcrumbs);
6535
6540
Recover. default_module_type ()
Original file line number Diff line number Diff line change @@ -23,3 +23,8 @@ module LongNaaaaame: MyModule
23
23
24
24
@attr
25
25
module LinkedList: module type of List
26
+
27
+ // turn `=` into `:`
28
+ module M: {
29
+ let x: int
30
+ }
Original file line number Diff line number Diff line change @@ -24,3 +24,6 @@ module LongNaaaaame: MyModule
24
24
25
25
@attr
26
26
module LinkedList : module type of List
27
+
28
+ // turn `=` into `:`
29
+ module M = { let x : int }
You can’t perform that action at this time.
0 commit comments