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