added typetraits.supportsCopyMem

This commit is contained in:
Andreas Rumpf 2017-10-17 21:59:17 +02:00
commit e7f37d7223
2 changed files with 9 additions and 1 deletions

View file

@ -146,8 +146,13 @@ proc evalTypeTrait(traitCall: PNode, operand: PType, context: PSym): PNode =
result = res.base.toNode(traitCall.info)
of "stripGenericParams":
result = uninstantiate(operand).toNode(traitCall.info)
of "supportsCopyMem":
let complexObj = containsGarbageCollectedRef(operand) or
hasDestructor(operand)
result = newIntNodeT(ord(not complexObj), traitCall)
else:
internalAssert false
localError(traitCall.info, "unknown trait")
result = emptyNode
proc semTypeTraits(c: PContext, n: PNode): PNode =
checkMinSonsLen(n, 2)