[BUG] - Recursive Section Member Reference Isn't Accepted as Valid
@JordanBoltonMN is already working on this.
Since Aug 12, 2022.
Assessment
This issue has not been assessed yet.
Description
Expected behavior
The M language specification and the existing Power Query SDK allow a section member to use an exclusive identifier reference to refer to itself (e.g. the SumConsecutive(x - 1) reference in the below example).
section SomeSection;
SumConsecutive = (x) => if x <= 0 then 0 else x + SumConsecutive(x - 1);
Actual behavior
The parser considers the above-mentioned reference an error, complaining that it "cannot find the name 'SumConsecutive'".

To Reproduce
In VSCode, create a new Power Query document. Paste in the above M code. The error shown in the screenshot will then be displayed.
Additional context
Power Query / M Language extension version: v0.1.42
Thank you for your help with this, and for the VSCode extension!
- Dominant language
- TypeScript
- Stars
- 137
- Forks
- 34
- Avg merge
- 50m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/powerquery-parser
-
enhancement
microsoft/powerquery-parser#399 · 1 assignee ·
-
bug
microsoft/powerquery-parser#370 · 1 assignee ·
-
bug
microsoft/powerquery-parser#355 · 1 comment · 1 reaction · 1 assignee ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
microsoft/powerquery-parser#354 ·
-
bug
microsoft/powerquery-parser#267 · 1 comment · 1 assignee ·
All issues in microsoft/powerquery-parser
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·