title: rxjs/Subject.d.ts error : Class 'Subject<T>' incorrectly extends base class 'Observable<T>'
body: <p>I extracted sample template code from <a href="https://github.com/gopinav/Angular-2-Tutorials" rel="noreferrer">this tutorial</a> and did below two steps to get started - </p>
  
  <ol>
  <li><code>npm install // worked fine and created node_modules folder with all dependencies</code></li>
  <li><p><code>npm start</code>
  // failed with below error-</p>
  
  <pre><code>node_modules/rxjs/Subject.d.ts(16,22): error TS2415: Class 'Subject&lt;T&gt;' 
    incorrectly extends base class 'Observable&lt;T&gt;'.
    Types of property 'lift' are incompatible.
    Type '&lt;T, R&gt;(operator: Operator&lt;T, R&gt;) =&gt; Observable&lt;T&gt;' is not assignable  
    to type '&lt;R&gt;(operator: Operator&lt;T, R&gt;) =&gt; Observable&lt;R&gt;'.
    Type 'Observable&lt;T&gt;' is not assignable to type 'Observable&lt;R&gt;'.
    Type 'T' is not assignable to type 'R'.
    npm ERR! code ELIFECYCLE
    npm ERR! errno 2
  </code></pre></li>
  </ol>
  
  <p>I see that in the subject.d.ts declaration of lift is as below -</p>
  
  <pre><code> lift&lt;T, R&gt;(operator: Operator&lt;T, R&gt;): Observable&lt;T&gt;;
  </code></pre>
  
  <p>And in Observable.ts it is defined as below-</p>
  
  <pre><code> lift&lt;R&gt;(operator: Operator&lt;T, R&gt;): Observable&lt;R&gt; {
  </code></pre>
  
  <p>Note:-
  1. I am new to Angular2 and trying to get hold of things.</p>
  
  <ol start="2">
  <li><p>The error might be due to incompatible definitions of lift method</p></li>
  <li><p>I read through this <a href="https://github.com/Microsoft/TypeScript/issues/2073" rel="noreferrer">github thread</a> </p></li>
  <li><p>If I need to install some different version of rxjs then please tell how to uninstall and install the correct rxjs.</p></li>
  </ol>
  
  <p><strong>Edit1:</strong> 
  I might be a bit late in responding here but I still get the same error even after using <em>typescript 2.3.4</em> or <em>rxjs 6 alpha</em>. Below is my package.json,</p>
  
  <pre><code>{
    "name": "angular-quickstart",
    "version": "1.0.0",
    "scripts": {
      "start": "tsc &amp;&amp; concurrently \"npm run tsc:w\" \"npm run lite\" ",
      "lite": "lite-server",
      "postinstall": "typings install",
      "tsc": "tsc",
      "tsc:w": "tsc -w",
      "typings": "typings"
    },
    "license": "ISC",
    "dependencies": {
      "@angular/common": "2.0.0",
      "@angular/compiler": "2.0.0",
      "@angular/core": "2.0.0",
      "@angular/forms": "2.0.0",
      "@angular/http": "2.0.0",
      "@angular/platform-browser": "2.0.0",
      "@angular/platform-browser-dynamic": "2.0.0",
      "@angular/router": "3.0.0",
      "@angular/upgrade": "2.0.0",
      "core-js": "^2.4.1",
      "reflect-metadata": "^0.1.3",
      "rxjs": "6.0.0-alpha.0",
      "systemjs": "0.19.27",
      "zone.js": "^0.6.23",
      "angular2-in-memory-web-api": "0.0.20",
      "bootstrap": "^3.3.6"
    },
    "devDependencies": {
      "concurrently": "^2.2.0",
      "lite-server": "^2.2.2",
      "typescript": "2.3.4",
      "typings": "^1.3.2"
    }
  }
  </code></pre>