class idxClass {
var i;
public proc create(a) { i = a; }
public operator =>(t) { assert(t == Int); return i => Int; }
}
proc main()
{
var i = new idxClass([0.1,1.2]);
var a = [2,3].iterate();
"Index by object subscript:\n", a[i,0], '\n';
a[i,0] = [100,200];
"After assign by object subscript:\n", a, '\n';
a#[i] = [400,500];
"After assign by object hash sub:\n", a, '\n';
"Index by object hash sub:\n", a#[i], '\n';
}