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 =
65266526 | Colon ->
65276527 Parser. next p;
65286528 parse_module_type p
6529- | Equal ->
6529+ | Equal -> (
65306530 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)
65336538 | token ->
65346539 Parser. err p (Diagnostics. unexpected token p.breadcrumbs);
65356540 Recover. default_module_type ()
Original file line number Diff line number Diff line change @@ -23,3 +23,8 @@ module LongNaaaaame: MyModule
2323
2424@attr
2525module 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
2424
2525@attr
2626module 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