21 lines
727 B
Text
21 lines
727 B
Text
|
==== tests/cases/compiler/functionArgShadowing.ts (3 errors) ====
|
||
|
class A { foo() { } }
|
||
|
class B { bar() { } }
|
||
|
function foo(x: A) {
|
||
|
var x: B = new B();
|
||
|
~
|
||
|
!!! Subsequent variable declarations must have the same type. Variable 'x' must be of type 'A', but here has type 'B'.
|
||
|
x.bar(); // the property bar does not exist on a value of type A
|
||
|
~~~
|
||
|
!!! Property 'bar' does not exist on type 'A'.
|
||
|
}
|
||
|
|
||
|
class C {
|
||
|
constructor(public p: number) {
|
||
|
var p: string;
|
||
|
~
|
||
|
!!! Subsequent variable declarations must have the same type. Variable 'p' must be of type 'number', but here has type 'string'.
|
||
|
|
||
|
var n: number = p;
|
||
|
}
|
||
|
}
|