Bug 11479 – template members ignore private attribute in ddoc
Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-11-09T00:32:00Z
Last change time
2013-11-30T18:52:20Z
Keywords
ddoc, pull
Assigned to
nobody
Creator
dmitry.olsh
Comments
Comment #0 by dmitry.olsh — 2013-11-09T00:32:47Z
std.regex DDocs suddenly shows tons of private stuff, see
http://dlang.org/phobos/std_regex.html#.kickstart
The relevant code part std.regex:2087. It's the same code as in 2.063.
The first empty /// must have started to work funnily.
///
private:
NamedGroup[] dict; //maps name -> user group number
uint ngroup; //number of internal groups
uint maxCounterDepth; //max depth of nested {n,m} repetitions
uint hotspotTableSize; //number of entries in merge table
uint threadCount;
uint flags; //global regex flags
const(Trie)[] tries; //
uint[] backrefed; //bit array of backreferenced submatches
Kickstart!Char kickstart;
//bit access helper
uint isBackref(uint n)
{
if(n/32 >= backrefed.length)
return 0;
return backrefed[n / 32] & (1 << (n & 31));
}
//check if searching is not needed
void checkIfOneShot()
...
Comment #1 by github-bugzilla — 2013-11-15T20:02:13Z
Test case:
///
struct S(T)
{
///
private:
int x;
}
Generated html:
<dl><dt><big><a name="S"></a>struct <u>S</u>(T);
</big></dt>
<dd><br><br>
<dl><dt><big><a name="x"></a>int <u>x</u>; // <--
</big></dt>
<dd><br><br>
</dd>
</dl>
</dd>
</dl>
This is a Ddoc generation bug in compiler, but it is not a dmd regression, because old dmd (eg. 2.030) has same bug.
Downgrade importance to 'major'.