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
Operator precedence not respected #748
Comments
Yeah this is expected. All the forms that MDN calls precedence 19 (static/computed member access, |
Ok, that's a pitty. |
I want to define an operator
>>=
which performs member access (i.e. is equivalent to.
).My first attempt does not compile:
My second attempt (using computed member access) works but not as expected:
I deliberately give my
>>=
operator precedence 19, which is the same precedence as javascript's member access operator (see JS operator precedence).Based on the given precedence i would expect this to be possible:
However, this does not compile. For some reason the
right
argument of my>>=
operator is a call expression (i.e.foo.then(...)
).So, based on the given precedence i would expect
obj>>=foo.then(...)
to be equivalent to(obj>>=foo).then(...)
, however it seems to be interpreted asobj>>=(foo.then(...))
.If i manually add the parentheses as follows
(obj>>=foo).then(...)
, then it works.The text was updated successfully, but these errors were encountered: