Generic pointer procs now error if no types supplied (#18832)

* more precise logic for pointer procs

* added test for generic pointer procs

* Fixed generic getting bracket expr if erroring
This commit is contained in:
Jason Beetham 2021-09-11 14:20:22 -06:00 • committed by GitHub
commit 5d1608c976
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 2 deletions

View file

@ -553,7 +553,7 @@ proc semVarOrLet(c: PContext, n: PNode, symkind: TSymKind): PNode =
typ = typ.lastSon
if hasEmpty(typ):
localError(c.config, def.info, errCannotInferTypeOfTheLiteral % typ.kind.toHumanStr)
elif typ.kind == tyProc and hasUnresolvedParams(def, {}):
elif typ.kind == tyProc and def.kind == nkSym and isGenericRoutine(def.sym.ast):
# tfUnresolved in typ.flags:
localError(c.config, def.info, errProcHasNoConcreteType % def.renderTree)
when false: