diff --git a/compiler/ast/ast.nim b/compiler/ast/ast.nim index 08749ce1566..393a038ff4e 100644 --- a/compiler/ast/ast.nim +++ b/compiler/ast/ast.nim @@ -516,9 +516,6 @@ template transitionSymKindCommon*(k: TSymKind) = when defined(nimsuggest): s.allUsages = obj.allUsages -proc transitionSymKindCommon*(s: PSym, kind: TSymKind) = - transitionSymKindCommon(kind) - proc transitionGenericParamToType*(s: PSym) = transitionSymKindCommon(skType) diff --git a/compiler/sem/sem.nim b/compiler/sem/sem.nim index 7042f17c8e0..859448544fe 100644 --- a/compiler/sem/sem.nim +++ b/compiler/sem/sem.nim @@ -431,9 +431,7 @@ proc newSymGNode*(kind: TSymKind, n: PNode, c: PContext): PNode = n.sym.owner = currOwner # xxx: modifying the sym owner is suss n else: - let recoverySym = copySym(n.sym, nextSymId c.idgen) - recoverySym.transitionSymKindCommon(kind) - recoverySym.owner = currOwner + let recoverySym = newSym(kind, n.sym.name, nextSymId c.idgen, currOwner, info) c.config.makeError(n, recoverySym, ExpectedKindMismatch) of nkIdent, nkAccQuoted: # xxx: sym choices qualify here, but shouldn't those be errors in