TypeScript/tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt
2014-07-12 17:30:19 -07:00

78 lines
3 KiB
Plaintext

==== tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts (12 errors) ====
interface I {
id: number;
}
class C implements I {
id: number;
valid: boolean;
}
class C2 extends C {
name: string;
}
class D<T>{
source: T;
recurse: D<T>;
wrapped: D<D<T>>
}
function F(x: string): number { return 42; }
module M {
export class A {
name: string;
}
export function F2(x: number): string { return x.toString(); }
}
// all of these are errors
for( var a: any;;){}
for( var a = 1;;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'number'.
for( var a = 'a string';;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'string'.
for( var a = new C();;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'C'.
for( var a = new D<string>();;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'D<string>'.
for( var a = M;;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'typeof M'.
for( var b: I;;){}
for( var b = new C();;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C'.
for( var b = new C2();;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C2'.
for(var f = F;;){}
for( var f = (x: number) => '';;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'f' must be of type '(x: string) => number', but here has type '(x: number) => string'.
for(var arr: string[];;){}
for( var arr = [1, 2, 3, 4];;){}
~~~
!!! Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type 'number[]'.
for( var arr = [new C(), new C2(), new D<string>()];;){}
~~~
!!! Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type '{}[]'.
for(var arr2 = [new D<string>()];;){}
for( var arr2 = new Array<D<number>>();;){}
~~~~
!!! Subsequent variable declarations must have the same type. Variable 'arr2' must be of type 'D<string>[]', but here has type 'D<number>[]'.
for(var m: typeof M;;){}
for( var m = M.A;;){}
~
!!! Subsequent variable declarations must have the same type. Variable 'm' must be of type 'typeof M', but here has type 'typeof A'.