[Bug 26] New: inout foreach does not modify BitArrays
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Wed Mar  8 12:01:40 PST 2006
    
    
  
http://d.puremagic.com/bugzilla/show_bug.cgi?id=26
           Summary: inout foreach does not modify BitArrays
           Product: D
           Version: 0.149
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: wrong-code
          Severity: minor
          Priority: P2
         Component: Phobos
        AssignedTo: walter at digitalmars.com
        ReportedBy: deewiant at gmail.com
Using inout in a foreach loop through a BitArray has no effect: the bits in the
BitArray do not change when assigned to or otherwise modified.
Can be easily circumvented by using a for loop, but is still an annoyance.
--
import std.bitarray;
void main() {
        BitArray a;
        a.length = 5;
        foreach (inout bit b; a) {
                assert (b == 0);
                b = 1;
        }
        foreach (bit b; a)
                assert (b == 1); // FAILS, they're all 0
}
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list