TypeScript/tests/baselines/reference/overloadingOnConstants1.errors.txt

38 lines
1.6 KiB
Plaintext

==== tests/cases/compiler/overloadingOnConstants1.ts (4 errors) ====
class Base { foo() { } }
class Derived1 extends Base { bar() { } }
class Derived2 extends Base { baz() { } }
class Derived3 extends Base { biz() { } }
interface Document2 {
createElement(tagName: 'canvas'): Derived1;
createElement(tagName: 'div'): Derived2;
createElement(tagName: 'span'): Derived3;
createElement(tagName: string): Base;
}
var d2: Document2;
// these are ok
var htmlElement: Base = d2.createElement("yo")
var htmlCanvasElement: Derived1 = d2.createElement("canvas");
var htmlDivElement: Derived2 = d2.createElement("div");
var htmlSpanElement: Derived3 = d2.createElement("span");
// these are errors
var htmlElement2: Derived1 = d2.createElement("yo")
~~~~~~~~~~~~
!!! Type 'Base' is not assignable to type 'Derived1':
!!! Property 'bar' is missing in type 'Base'.
var htmlCanvasElement2: Derived3 = d2.createElement("canvas");
~~~~~~~~~~~~~~~~~~
!!! Type 'Derived1' is not assignable to type 'Derived3':
!!! Property 'biz' is missing in type 'Derived1'.
var htmlDivElement2: Derived1 = d2.createElement("div");
~~~~~~~~~~~~~~~
!!! Type 'Derived2' is not assignable to type 'Derived1':
!!! Property 'bar' is missing in type 'Derived2'.
var htmlSpanElement2: Derived1 = d2.createElement("span");
~~~~~~~~~~~~~~~~
!!! Type 'Derived3' is not assignable to type 'Derived1':
!!! Property 'bar' is missing in type 'Derived3'.