You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
› ./node_modules/.bin/tsc --version
Version 2.1.0-dev.20161022
› ./node_modules/.bin/tsc -p ./modules/tsconfig.json
modules/@angular/compiler/src/expression_parser/lexer.ts(296,13): error TS2365: Operator '==' cannot be applied to types '92' and '117'.
It looks like literal type inference went a bit aggressive with this particular piece of code.
Funnily enough, I've tried to isolate the issue in a more concise class with just a scan method but works all the time, so it must be some weird combination of things going on here, which I couldn't figure out. ):
The text was updated successfully, but these errors were encountered:
alfaproject
changed the title
Not possible to compile latest Angular 2 modules due to literal types
Not possible to compile latest Angular 2 due to literal types
Oct 22, 2016
This is an effect of #11587. In the if (this.peek == chars.$BACKSLASH) test we narrow this.peek to the literal type 92 (the value of chars.$BACKSLASH). We then complain when you try to compare this literal type to the literal type 117 (the value of chars.$u). The issue of course is that we don't know that this.advance() has a side effect on the value of this.peek.
Interestingly, we had a very similar issue with TypeScript's own parser as described here. We opted to use an accessor function to obtain the value of the side effected variable.
TypeScript Version: nightly (2.1.0-dev.20161022)
Code
https://github.com/angular/angular/blob/master/modules/%40angular/compiler/src/expression_parser/lexer.ts#L296
Expected behavior:
No compiler errors.
Actual behavior:
It looks like literal type inference went a bit aggressive with this particular piece of code.
Funnily enough, I've tried to isolate the issue in a more concise class with just a scan method but works all the time, so it must be some weird combination of things going on here, which I couldn't figure out. ):
The text was updated successfully, but these errors were encountered: