New Issue: CG: allow constraints on generic types?

16761, “vasslitvinov”, “CG: allow constraints on generic types?”, “2020-11-20T07:19:13Z”

Main issue: #8629

Should we provide constraints on generic data types? For example:

interface Printable(type T) {
  proc T.print();
}

record PrintableRecord {
  var element: Printable;
}

proc worker(arg: PrintableRecord) {
  arg.element.print();       // legal because guaranteed by the interface
}

var r: PrintableRecord(...);   // the argument must implement Printable