-
Notifications
You must be signed in to change notification settings - Fork 12.8k
TypeScript compiler hangs case #4604
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
Comments
@falsandtru can you please provide us with a simple |
I do not use |
Please compile this code. run // export.ts
export class ReadableLiner<T> {
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<T, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, U>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T|U>) => TransformLiner<T|U, any>|PassThroughLiner<U>) {
return composer(this);
}
}
export class TransformLiner<T, U> {
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<T, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, U>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T|U>) => TransformLiner<T|U, any>|PassThroughLiner<U>) {
return composer(this);
}
}
export class PassThroughLiner<T> {
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T>) => TransformLiner<T, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, U>) => TransformLiner<U, U>|PassThroughLiner<U>): TransformLiner<U, any>|PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T>|TransformLiner<T, T|U>) => TransformLiner<T|U, any>|PassThroughLiner<U>) {
return composer(this);
}
}
new ReadableLiner<number>()
.compose(stream => stream); |
More info: Compile failed without error messagesMy original code compile finished without errors after a few hours, but compiled code is empty(output the empty file when I specified |
We're going to need to investigate; in the mean time, this will avoid the issue you're running into: interface Liner<T> {
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, T>) => TransformLiner<U, U> | PassThroughLiner<U>): TransformLiner<U, any> | PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, T>) => TransformLiner<T, U> | PassThroughLiner<U>): TransformLiner<U, any> | PassThroughLiner<U>
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, U>) => TransformLiner<U, U> | PassThroughLiner<U>): TransformLiner<U, any> | PassThroughLiner<U>
}
export class ReadableLiner<T> implements Liner<T> {
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, T | U>) => TransformLiner<T | U, any> | PassThroughLiner<U>) {
return composer(this);
}
}
export class TransformLiner<T, Z> implements Liner<T> {
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, T | U>) => TransformLiner<T | U, any> | PassThroughLiner<U>) {
return composer(this);
}
}
export class PassThroughLiner<T> implements Liner<T> {
compose<U>(composer: (stream: ReadableLiner<T> | TransformLiner<T, T | U>) => TransformLiner<T | U, any> | PassThroughLiner<U>) {
return composer(this);
}
}
var x = new ReadableLiner().compose(stream => stream)
new ReadableLiner<number>()
.compose(stream => stream); |
I confirmed, thank you. Another question. Are you accepted the another bug about error messages? I must be open the new issue? |
Hangs on 06e2537
Reproduction
$ cd one-liner-stream
$ node ../TypeScript/built/local/tsc.js src/ts/*.ts typings/*.ts --module commonjs --noEmit
Node 0.12.7
The text was updated successfully, but these errors were encountered: