[Issue 3188] New: remove opIndexAssign from the language
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Jul 17 07:12:28 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3188
Summary: remove opIndexAssign from the language
Product: D
Version: 2.031
Platform: Other
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: k-foley at onu.edu
Despite being redundant, my main gripe with opIndexAssign is that it can even
get in the way. For instance:
---
import std.stdio;
struct Arr(size_t W, size_t H, T)
{
T[W * H] arr;
this(T[W*H] rhs)
{
arr = rhs;
}
ref T opIndex(size_t row, size_t col)
{
return arr[row + W*col];
}
}
int main()
{
auto a = Arr!(2, 2, int)( [1, 2, 3, 4] );
writeln( "a[1, 1] = ", a[1, 1] ); // a[1, 1] = 4
a[1, 1] += 2;
writeln( "a[1, 1] = ", a[1, 1] ); // a[1, 1] = 6
// This requires opIndexAssign, but for no good reason
//a[1, 1] = 42;
//writeln( "a[1, 1] = ", a[1, 1] );
return 0;
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list