<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">Just tested in Atom-Typescript which currently has <code class="notranslate">master</code> as of <code class="notranslate">2016-02-23</code> <a href="https://github.com/TypeStrong/atom-typescript/blob/8d43dd1b930a6df0ce62454a1560acfb7eee24c9/package.json#L64">https://github.com/TypeStrong/atom-typescript/blob/8d43dd1b930a6df0ce62454a1560acfb7eee24c9/package.json#L64</a></p>
<p dir="auto"><strong>Code</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import * as React from &quot;react&quot;;
import * as ReactDOM from &quot;react-dom&quot;;

const Hello = (props: { compiler: string, framework: string }) =&gt; {
    return (
        &lt;div&gt;
            &lt;div&gt;{props.compiler}&lt;/div&gt;
            &lt;div&gt;{props.framework}&lt;/div&gt;
        &lt;/div&gt;
    );
}

ReactDOM.render(
    &lt;Hello compiler=&quot;TypeScript&quot; framework=&quot;React&quot; /&gt;,
    document.getElementById(&quot;root&quot;)
);"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-smi">React</span> <span class="pl-k">from</span> <span class="pl-s">"react"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-smi">ReactDOM</span> <span class="pl-k">from</span> <span class="pl-s">"react-dom"</span><span class="pl-kos">;</span>

<span class="pl-k">const</span> <span class="pl-smi">Hello</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-s1">props</span>: <span class="pl-kos">{</span> <span class="pl-c1">compiler</span>: <span class="pl-smi">string</span><span class="pl-kos">,</span> <span class="pl-c1">framework</span>: <span class="pl-smi">string</span> <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-kos">(</span>
        <span class="pl-kos">&lt;</span><span class="pl-smi">div</span><span class="pl-kos">&gt;</span>
            <span class="pl-kos">&lt;</span><span class="pl-smi">div</span><span class="pl-kos">&gt;</span><span class="pl-kos">{</span><span class="pl-s1">props</span><span class="pl-kos">.</span>compiler<span class="pl-kos">}</span><span class="pl-c1">&lt;</span><span class="pl-pds"><span class="pl-c1">/</span>div&gt;</span><span class="pl-c1"></span>
            <span class="pl-c1">&lt;</span><span class="pl-s1">div</span><span class="pl-c1">&gt;</span><span class="pl-kos">{</span><span class="pl-s1">props</span><span class="pl-kos">.</span>framework<span class="pl-kos">}</span><span class="pl-c1">&lt;</span><span class="pl-pds"><span class="pl-c1">/</span>div&gt;</span>
<span class="pl-pds">        <span class="pl-c1">&lt;</span><span class="pl-c1">/</span>div</span><span class="pl-c1">&gt;</span><span class="pl-s1"></span>
    <span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-smi">ReactDOM</span><span class="pl-kos">.</span><span class="pl-c1">render</span><span class="pl-kos">(</span>
    <span class="pl-c1">&lt;</span><span class="pl-smi">Hello</span> <span class="pl-smi">compiler</span><span class="pl-c1">=</span><span class="pl-s">"TypeScript"</span> <span class="pl-s1">framework</span><span class="pl-c1">=</span><span class="pl-s">"React"</span> <span class="pl-c1">/</span><span class="pl-c1">&gt;</span><span class="pl-kos">,</span>
    <span class="pl-smi">document</span><span class="pl-kos">.</span><span class="pl-en">getElementById</span><span class="pl-kos">(</span><span class="pl-s">"root"</span><span class="pl-kos">)</span>
<span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto"><strong>Expected behavior:</strong><br>
Rename <code class="notranslate">Hello</code> in <code class="notranslate">const Hello</code> to <code class="notranslate">Hellos</code> and <code class="notranslate">&lt;Hello</code> should update to <code class="notranslate">&lt;Hellos</code>.</p>
<p dir="auto"><strong>Actual behavior:</strong><br>
Rename <code class="notranslate">Hello</code> in <code class="notranslate">const Hello</code> to <code class="notranslate">Hellos</code> and <code class="notranslate">&lt;Hello</code> will not update.</p>
<h1 dir="auto">More</h1>
<p dir="auto">I was using this as a sample for <a href="https://github.com/basarat/react-typescript">https://github.com/basarat/react-typescript</a>  <g-emoji class="g-emoji" alias="rose" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f339.png">🌹</g-emoji></p>
<p dir="auto">When adding JSDoc to an overloaded function, It seems that the JSDoc comment must immediately precede the actual function. When preceding the list of overloads, the JSDoc comment is dropped after compilation.</p>
<p dir="auto">Example:</p>
<p dir="auto">module app {</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/**
 * Returns &quot;foo&quot;
 * 
 * this doesn't output.
 */
export function foo(x: string): string;
export function foo(x: number): string;
export function foo(x: any): string {
    return &quot;foo&quot;;
}


export function bar(x: string): string;
export function bar(x: number): string;

/**
 * Returns &quot;bar&quot;
 * 
 * this will output. but I don't like my overloads detached.
 */
export function bar(x: any): string {
    return &quot;bar&quot;;
}"><pre class="notranslate"><code class="notranslate">/**
 * Returns "foo"
 * 
 * this doesn't output.
 */
export function foo(x: string): string;
export function foo(x: number): string;
export function foo(x: any): string {
    return "foo";
}


export function bar(x: string): string;
export function bar(x: number): string;

/**
 * Returns "bar"
 * 
 * this will output. but I don't like my overloads detached.
 */
export function bar(x: any): string {
    return "bar";
}
</code></pre></div>
<p dir="auto">}</p>