Suppose you wanted to access some method or field from a base array class. In Chapel 1.16 you can write:
var A_obj = A._value; A_obj.foo(); writeln(A_obj.myField);
The _value method returns the base array class (or a privatized copy if you enabled privatization). The same method can be called for domains and distributions. Please note that this is intentionally undocumented and may change in future releases.
In Chapel 1.17 (to be released in April 2018), method calls and field calls on arrays, domains, and distributions are now passed back to the support class, so you could write:
A.foo(); writeln(A.myField);
These method calls and field calls will be called on the privatized instance of the class, if possible.
source share