Skip to content

Parser leading attr strictness - #7787

Merged
zth merged 5 commits into
masterfrom
parser-leading-attr-strictness
Aug 23, 2025
Merged

zth merged 5 commits into
masterfrom
parser-leading-attr-strictness

Conversation

@zth

@zth zth commented Aug 22, 2025

Copy link
Copy Markdown
Member

Follow up for #7782.

@zth
zth force-pushed the parser-leading-attr-strictness branch from c91ae80 to 01158eb Compare August 22, 2025 09:24
@zth
zth requested a review from cristianoc August 22, 2025 09:24
@pkg-pr-new

pkg-pr-new Bot commented Aug 22, 2025 •

Copy link
Copy Markdown

Open in StackBlitz

rescript

npm i https://pkg.pr.new/rescript-lang/rescript@7787

@rescript/darwin-arm64

npm i https://pkg.pr.new/rescript-lang/rescript/@rescript/darwin-arm64@7787

@rescript/darwin-x64

npm i https://pkg.pr.new/rescript-lang/rescript/@rescript/darwin-x64@7787

@rescript/linux-arm64

npm i https://pkg.pr.new/rescript-lang/rescript/@rescript/linux-arm64@7787

@rescript/linux-x64

npm i https://pkg.pr.new/rescript-lang/rescript/@rescript/linux-x64@7787

@rescript/win32-x64

npm i https://pkg.pr.new/rescript-lang/rescript/@rescript/win32-x64@7787

commit: 945a61f

@cristianoc cristianoc left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks great.
Just some comments on code duplication.

Comment thread compiler/syntax/src/res_core.ml Outdated
| Lbrace ->
(* consume the attributes and any doc comments before the record *)
ignore (parse_attributes p);
let rec skip_docs () =

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same fun defined a few lines above.

Comment thread compiler/syntax/src/res_core.ml Outdated
| DotDot ->
(* attributes before an open variant marker; consume attrs/docs then handle `..` *)
ignore (parse_attributes p);
let rec skip_docs () =

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

And here

Comment thread compiler/syntax/src/res_core.ml Outdated
Parser.lookahead p (fun state ->
ignore (parse_attributes state);
(* optionally skip a run of doc comments before deciding *)
let rec skip_docs () =

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Again

x: int ;
y: int } No newline at end of file
y: int }
type nonrec t = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The printer will also need attention. Perhaps for later and one can just add the issue for now.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

What do you mean?

@zth
zth force-pushed the parser-leading-attr-strictness branch from 01158eb to 4329600 Compare August 23, 2025 18:48
@zth
zth enabled auto-merge (squash) August 23, 2025 18:49
@zth
zth merged commit 18ff979 into master Aug 23, 2025
@github-actions
github-actions Bot deleted the parser-leading-attr-strictness branch February 27, 2026 00:23
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.

2 participants