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

53 lines
1.8 KiB
Plaintext

==== tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts (5 errors) ====
// Function call whose argument is a 1 arg generic function call with explicit type arguments
function fn1<T>(t: T) { }
function fn2(t: any) { }
fn1(fn2<string>(4)); // Error
~~~~~~~~~~~~~~
!!! Supplied parameters do not match any signature of call target.
var a: any;
var s: string;
// Type assertion of non - unary expression
var a = <any>"" + 4;
var s = "" + <any>4;
class SomeBase {
private p;
}
class SomeDerived extends SomeBase {
private x;
}
class SomeOther {
private q;
}
// Type assertion should check for assignability in either direction
var someBase = new SomeBase();
var someDerived = new SomeDerived();
var someOther = new SomeOther();
someBase = <SomeBase>someDerived;
someBase = <SomeBase>someBase;
someBase = <SomeBase>someOther; // Error
~~~~~~~~~~~~~~~~~~~
!!! Neither type 'SomeBase' nor type 'SomeOther' is assignable to the other.
someDerived = <SomeDerived>someDerived;
someDerived = <SomeDerived>someBase;
someDerived = <SomeDerived>someOther; // Error
~~~~~~~~~~~~~~~~~~~~~~
!!! Neither type 'SomeDerived' nor type 'SomeOther' is assignable to the other.
someOther = <SomeOther>someDerived; // Error
~~~~~~~~~~~~~~~~~~~~~~
!!! Neither type 'SomeOther' nor type 'SomeDerived' is assignable to the other.
someOther = <SomeOther>someBase; // Error
~~~~~~~~~~~~~~~~~~~
!!! Neither type 'SomeOther' nor type 'SomeBase' is assignable to the other.
someOther = <SomeOther>someOther;