Stream.opApply and invariance
    Lionello Lunesu 
    lio at lunesu.remove.com
       
    Sat Apr  5 00:23:49 PDT 2008
    
    
  
This one bugs me as well. The reason is that opApply uses readLine, 
which in turn calls readLine(char[]), reusing the passed buffer. This 
will never return an invariant string, and the result must therefor 
always be idup'ed :-((
I don't think there's anything that can be done to 'fix' this. readLine 
must write to the buffer, so it's never invariant. Casting to invariant 
is not possible, as it would break all the guarantees. I wonder if 
there's something that can be done by using an "invariant constructor" 
mentioned in Andrei's PDF (see Walter's post in the other group.)
L.
    
    
More information about the Digitalmars-d-learn
mailing list