16988, “vasslitvinov”, “CG: how to interpret abstract intents?”, “2021-01-22T19:15:11Z”
main issue: #8629 abstract intents: spec
Consider the signature of a required function in an interface. Consider the case of its formal of an interface type with an abstract intent.
- How do we translate it into a concrete intent?
- How does it interact with the ref-if-modified rule for arrays+records?
For example:
interface I(T) {
proc req(ref argR:T);
}
proc cg(argCG: ?Q) where Q implements I {
req(argCG); // legal if T is an array, not if T is int
}