-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
[BUGFIX beta] Assert when local variables shadow helper invocations #17132
Merged
rwjblue
merged 1 commit into
master
from
assert-local-variable-shadowing-helper-invocation
Oct 19, 2018
Merged
[BUGFIX beta] Assert when local variables shadow helper invocations #17132
rwjblue
merged 1 commit into
master
from
assert-local-variable-shadowing-helper-invocation
Oct 19, 2018
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
chancancode
force-pushed
the
assert-local-variable-shadowing-helper-invocation
branch
from
October 19, 2018 01:34
dd946a7
to
2a12602
Compare
rwjblue
approved these changes
Oct 19, 2018
Looks like we have some linting failures... |
chancancode
force-pushed
the
assert-local-variable-shadowing-helper-invocation
branch
2 times, most recently
from
October 19, 2018 06:06
a90fd0a
to
d581fd5
Compare
The linter wasn't happy with my Artisanal™ indentation. Not super happy with its suggestions but the linter is going to spend a lot more time looking at this file than me, so I could live with it 🤷♂️ |
chancancode
force-pushed
the
assert-local-variable-shadowing-helper-invocation
branch
from
October 19, 2018 07:01
d581fd5
to
54d4977
Compare
```hbs {{#let this.foo as |foo|}} {{concat (foo)}} ~~~ shadowed helper invocation! {{/let}} ``` Previously, this would have tried to resolve and invoke the helper `foo`, ignoring the presence of the `foo` local variable. This is inconsistent with our general lexical lookup rules. This is now an error (assertion). This paves the way for allowing "contextual helpers" in the future, where the local variable `foo` contains an invocable helper value. Partially addresses #17121, allowing the rest of the bugs to be fixed in Glimmer VM.
chancancode
force-pushed
the
assert-local-variable-shadowing-helper-invocation
branch
from
October 19, 2018 09:57
54d4977
to
f66ca05
Compare
chancancode
added a commit
that referenced
this pull request
Oct 20, 2018
Expanding #17132 to cover modifiers. ```hbs {{#let this.foo as |foo|}} <div {{foo}} /> ~~~ shadowed modifier invocation! {{/let}} ``` Previously, this would have tried to resolve and invoke the modifier `foo`, ignoring the presence of the `foo` local variable. This is inconsistent with our general lexical lookup rules. This is now an error (assertion). This paves the way for allowing "contextual modifiers" in the future, where the local variable `foo` contains an invocable modifier value.
chancancode
added a commit
that referenced
this pull request
Oct 20, 2018
Expanding #17132 to cover modifiers. ```hbs {{#let this.foo as |foo|}} <div {{foo}} /> ~~~ shadowed modifier invocation! {{/let}} ``` Previously, this would have tried to resolve and invoke the modifier `foo`, ignoring the presence of the `foo` local variable. This is inconsistent with our general lexical lookup rules. This is now an error (assertion). This paves the way for allowing "contextual modifiers" in the future, where the local variable `foo` contains an invocable modifier value.
chancancode
added a commit
that referenced
this pull request
Oct 21, 2018
Expanding #17132 to cover modifiers. ```hbs {{#let this.foo as |foo|}} <div {{foo}} /> ~~~ shadowed modifier invocation! {{/let}} ``` Previously, this would have tried to resolve and invoke the modifier `foo`, ignoring the presence of the `foo` local variable. This is inconsistent with our general lexical lookup rules. This is now an error (assertion). This paves the way for allowing "contextual modifiers" in the future, where the local variable `foo` contains an invocable modifier value. (cherry picked from commit 74b8f60)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, this would have tried to resolve and invoke the helper
foo
, ignoring the presence of thefoo
local variable. This is inconsistent with our general lexical lookup rules. This is now an error (assertion).This paves the way for allowing "contextual helpers" in the future, where the local variable
foo
contains an invocable helper value.Partially addresses #17121, allowing the rest of the bugs to be fixed in Glimmer VM.