On Monday, 17 March 2014 at 18:37:07 UTC, Walter Bright wrote:
On 3/17/2014 7:33 AM, monarch_dodra wrote:
The fix for pointers hasn't been integrated.
"ScopeBuff!(int*)" still doesn't
compile.
I had fixed that.
import std.internal.scopebuffer;
void main() {
alias ScopeBuffer!(int*) T;
}
compiles.
@walter: You fixed it by casting away the const in the
implementation. It didn't even cross my mind you'd fix it like
that, so when I looked at the pulled code, I just saw
"put(const(T)[] arr)", and figured it wasn't "fixed". My
apologies for claiming your code doesn't compile.
So yes, it compiles, but the implementation is still wrong. Your
implementation allows assigning an immutable(int)* into an int*.
Unless there is a performance specific reason for using the
const, I don't see why we aren't removing it.