angular2 Type 'Subject<{}>' is not assignable to type '() => Subject<number>'
<p>i use angular2 rxjs to test it's multicast func,here is my code:</p>

<pre><code>var source = Observable.from([1, 2, 3]);
var subject = new Subject();
var multicasted = source.multicast(subject);

// These are, under the hood, `subject.subscribe({...})`:
multicasted.subscribe({
    next: (v) =&gt; console.log('observerA: ' + v)
});
multicasted.subscribe({
    next: (v) =&gt; console.log('observerB: ' + v)
});

// This is, under the hood, `source.subscribe(subject)`:
multicasted.connect();
</code></pre>

<p>i got the error info :</p>

<p>Argument of type 'Subject&lt;{}>' is not assignable to parameter of type </p>

<pre><code>'Subject&lt;number&gt; | (() =&gt; Subject&lt;number&gt;)'.
        Type 'Subject&lt;{}&gt;' is not assignable to type '() =&gt; Subject&lt;number&gt;'.
        Type 'Subject&lt;{}&gt;' provides no match for the signature '(): Subject&lt;number&gt;'
</code></pre>