> Would it be syntactically ambiguous to allow "implicit" autos?
It used to be like this proc foo(a, b) But Araq removed implicit parameters, so
I don't think they will return.
> Or does the compiler not do any type validation until the generic proc is
> called (and thereby instantiated
That's the case. It depends type by type.
> So then would it also be capable of, for lack of a better term, "implicit
> concept types for generics?"
As long as the requirements are satisfied, yes:
type T = concept var a
a.x += int
proc foo(a: var auto): bool =
a.x += 1
a is T
var a = (x: 5, y: 5)
var b = (x: 5.3, y: 5)
echo foo(a) # true
echo foo(b) # false