<p>Scope completion doesn't seem to like not being called at the root scope or on a scoped type:</p>
<div class="highlight highlight-source-c++"><pre><span class="pl-k">namespace</span> <span class="pl-en">ns</span> {
<span class="pl-k">class</span> <span class="pl-en">C</span> {
<span class="pl-k">public:</span>
<span class="pl-k">void</span> <span class="pl-en">func</span>() {}
<span class="pl-k">int</span> memb;
};
C c;
<span class="pl-k">void</span> <span class="pl-en">dummy</span>() {
c.<span class="pl-c1">func</span>(); <span class="pl-c">// no autoc on c.</span>
}
};
ns::C c2;
<span class="pl-k">int</span> <span class="pl-en">main</span> (<span class="pl-k">void</span>) {
<span class="pl-k">return</span> c2.<span class="pl-smi">memb</span>; <span class="pl-c">// neither on c2.</span>
}</pre></div>
<p>(Same if trying to autoc outside a func).<br>
Any reason? it's not limited to namespaces, same happens with e.g. a class.</p>
<hr>
<p>However, I must say this is beautiful:</p>
<div class="highlight highlight-source-c++"><pre><span class="pl-k">class</span> <span class="pl-en">C</span>;
<span class="pl-k">class</span> <span class="pl-en">A</span> {
<span class="pl-k">public:</span>
C *bar;
};
<span class="pl-k">class</span> <span class="pl-en">B</span> {
<span class="pl-k">public:</span>
A foo;
};
<span class="pl-k">class</span> <span class="pl-en">C</span> {
<span class="pl-k">public:</span>
B *<span class="pl-en">func</span>() {
<span class="pl-k">return</span> &b;
}
<span class="pl-k">int</span> memb;
B b;
};
C c;
<span class="pl-k">int</span> <span class="pl-en">main</span> (<span class="pl-k">void</span>) {
<span class="pl-c">// scope completion all the way, with only sensible stuff :)</span>
<span class="pl-k">return</span> c.<span class="pl-smi">b</span>.<span class="pl-smi">foo</span>.<span class="pl-smi">bar</span>->b.<span class="pl-smi">foo</span>.<span class="pl-smi">bar</span>->b.<span class="pl-smi">foo</span>.<span class="pl-smi">bar</span>-><span class="pl-c1">func</span>()->foo.<span class="pl-smi">bar</span>->memb;
}</pre></div>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany/pull/862#issuecomment-172661976">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJxIeWK5g-PWH5nzshlo_9z1c8Ql-ks5pbVP1gaJpZM4HB6zU.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
<link itemprop="url" href="https://github.com/geany/geany/pull/862#issuecomment-172661976"></link>
<meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>