fixes #2405
This commit is contained in:
parent
d5fc62022a
commit
e680e43fc2
2 changed files with 6 additions and 2 deletions
|
|
@ -1075,9 +1075,11 @@ proc primary(p: var TParser, mode: TPrimaryMode): PNode =
|
||||||
getTok(p)
|
getTok(p)
|
||||||
of tkGeneric, tkConcept:
|
of tkGeneric, tkConcept:
|
||||||
if mode == pmTypeDef:
|
if mode == pmTypeDef:
|
||||||
if p.tok.tokType == tkGeneric:
|
let wasGeneric = p.tok.tokType == tkGeneric
|
||||||
parMessage(p, warnDeprecated, "use 'concept' instead; 'generic'")
|
|
||||||
result = parseTypeClass(p)
|
result = parseTypeClass(p)
|
||||||
|
# hack so that it's remembered and can be marked as deprecated in
|
||||||
|
# sem'check:
|
||||||
|
if wasGeneric: result.flags.incl nfBase2
|
||||||
else:
|
else:
|
||||||
parMessage(p, errInvalidToken, p.tok)
|
parMessage(p, errInvalidToken, p.tok)
|
||||||
of tkStatic:
|
of tkStatic:
|
||||||
|
|
|
||||||
|
|
@ -1090,6 +1090,8 @@ proc freshType(res, prev: PType): PType {.inline.} =
|
||||||
|
|
||||||
proc semTypeClass(c: PContext, n: PNode, prev: PType): PType =
|
proc semTypeClass(c: PContext, n: PNode, prev: PType): PType =
|
||||||
# if n.sonsLen == 0: return newConstraint(c, tyTypeClass)
|
# if n.sonsLen == 0: return newConstraint(c, tyTypeClass)
|
||||||
|
if nfBase2 in n.flags:
|
||||||
|
message(n.info, warnDeprecated, "use 'concept' instead; 'generic'")
|
||||||
result = newOrPrevType(tyUserTypeClass, prev, c)
|
result = newOrPrevType(tyUserTypeClass, prev, c)
|
||||||
result.n = n
|
result.n = n
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue