https://issues.dlang.org/show_bug.cgi?id=15364
tmarpl...@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tmarpl...@gmail.com --- Comment #7 from tmarpl...@gmail.com --- The following commit related to this issue https://github.com/dlang/phobos/commit/74fbb79087c46ebde38ac3648b6a46b76f2a0a9e has apparently overreached when setting bitsPerSizeT as private state. The intended fix is successful in hiding .len and .ptr, but there is no explicit rationale (in this thread and in the commit message) for also encapsulating .bitsPerSizeT. Namely, the question is: why has BitArray.bitsPerSizeT been made a private member? It's an enum. It can't be accidentally nor intentionally rewritten. I've ran into "variable std.bitmanip.BitArray.bitsPerSizeT is not accessible from module" errors because my module imports from an (albeit old) library which implements certain bit setting algorithm that relies on BitArray.bitsPerSizeT being publicly accessible. (If you need to know, the library in question is artemisd:) https://github.com/elvisxzhou/artemisd After examining the problem, the commit and the issue that produced the problem, I believe that the mentioned commit introduces an unintended regression, and that it deserves to be reviewed. --