Description
TypeScript Version: 2.0.6, 2.0.7 and 2.1.0-dev.20161107
VSCode Version: 1.7.1
OS Version: Debian GNU/Linux 8.6
This is a regression of #9585. The original problem was fixed in TypeScript 2.0.2 but since 2.0.6 the problem is back. Here is a copy of the reproduction instructions which are still correct (But I haven't made a new screenshot because it would just show the same error with a different TypeScript version):
Steps to reproduce:
-
Globally install TypeScript (Current is 2.0.7) with "npm install -g typescript"
-
Install latest vscode (Current is 1.7.1)
-
Configure vscode to use the globally installed TypeScript by setting the typescript.tsdk path in the user settings.
-
Unpack the projects.zip
archive somewhere. -
Run
npm link
inprojects/base
. -
Run
npm link base
inprojects/ui
. -
Run
npm link
inprojects/ui
. -
Run
npm link base
inprojects/application
. -
Run
npm link ui
inprojects/application
. -
Run
tsc
inprojects/application
and notice that it compiles correctly. -
Now open
projects/application
in vscode and open the filesrc/main/Impl.ts
. The following error is displayed:Class 'TestImpl' incorrectly implements interface 'Test'. Types of property 'getPoint' are incompatible. Type '() => Point' is not assignable to type '() => Point'. Type 'Point' is not assignable to type 'Point'. Types have separate declarations of a private property 'x'.
-
Press Ctrl-Shift-B to compile the project with the command line compiler. The error disappears.
-
Edit the file (inserting a whitespace for example) and the error re-appears.
So while the project compiles fine on the command line (Running tsc
directly) it doesn't compile within vscode which uses the exact same compiler.
Here is a screenshot of the error message: