-
-
Notifications
You must be signed in to change notification settings - Fork 670
Use fully qualified names in generic types #544
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
Conversation
Looks like compiler OOMs after merging this, see: Trying to compile |
Do you have a crash dump? |
Is issue non-reproducible on your side? |
Can confirm, seems to hang in if (!tn.skip(Token.CLOSEBRACE)) {
do {
let member = this.parseClassMember(tn, declaration);
if (member) members.push(<DeclarationStatement>member);
} while (!tn.skip(Token.CLOSEBRACE)); // HERE
} |
Seems there is a (possibly transform-generated) method somewhere looking like setString(name: string, value: ~lib/string/String): void which fails to parse because it uses a fully qualified type name for My assumption on the infinite loop is that since |
For reference, this is how I debugged this: In node --inspect $BASEDIR/bin/asc model.ts --nearFile model_near.ts
node --inspect $BASEDIR/bin/asc main.ts -o test.wasm and navigate to It might be possible to simplify this process in the future by |
wow, |
Awesome, fix worked! |
Let me know when you think this PR is good to merge :) |
@dcodeIO fix works for me, should be good to merge |
This PR addresses a probable cause for the
Type 'Foo' is not assignable to type 'Foo'
issue. See also this comment.most likely fixes #539 / cc @vgrichina