Cross referencing in Ddoc

Dmitry Olshansky dmitry.olsh at gmail.com
Mon Dec 30 02:21:45 PST 2013


30-Dec-2013 14:19, Jacob Carlborg пишет:
> On 2013-12-30 05:05, H. S. Teoh wrote:
>
>> Not only so, even without cross-referencing, the way Ddoc currently does
>> referencing *within* a module is faulty, because it does not take
>> symbols declared in nested scopes into account. For example:
>>
>>     module mymodule;
>>
>>     /// docs here
>>     struct S {
>>         /// docs here
>>         void func() { ... }
>>     }
>>
>>     /// docs here
>>     void func() { ... }
>>
>> Ddoc will use "func" as the identifier for *both* mymodule.func and
>> mymodule.S.func, so any hyperlinks to "func" will likely point to the
>> wrong overload of func (depending on declaration order).
>>
>> This problem is actually being exhibited on dlang.org at this very
>> moment, in std.algorithm. Look for 'remove' in the navigation table at
>> the top of the page, and click on it; you'll see it jumps to the wrong
>> place because there's a member function called 'remove' in a struct that
>> took precedence over the module-level 'remove' function. (Not to mention
>> it breaks HTML compliance because it gives multiple elements the same
>> ID.)
>
> Yeah, that's another problem.

And couple of years old at that...

-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list