Let's say I have something like this:
struct Foo {
int[] bar;
this() {
bar.length = 10;
}
ref int opIndex(size_t i) {
return bar[i];
}
}
void main() {
Foo f = Foo();
f[3] = 15;
}
If I wanted to check whether the assigned value is within a range, and I want to throw a certain exception if outside of it, then how I can do that?