From 56b3d422b014b42c6367fa56916cfd9851884506 Mon Sep 17 00:00:00 2001 From: alaviss Date: Tue, 30 Jun 2020 13:25:53 +0000 Subject: [PATCH] typetraits: features and fixes (#14791) * typetraits: add support for nnkTypeOfExpr * typetraits: don't wrap typedesc symbols in StaticParam * typetraits: add nested generics support to genericParams * typetraits: make genericParams understand array[I, T] whackiness Also moved tests to ttypetraits * typetraits: clarify comment on genericParams --- lib/pure/typetraits.nim | 42 +++++++++++++++++++++++++++++++--- tests/metatype/ttypetraits.nim | 17 ++++++++++++++ 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/lib/pure/typetraits.nim b/lib/pure/typetraits.nim index c289f6c84a..0e23077ac3 100644 --- a/lib/pure/typetraits.nim +++ b/lib/pure/typetraits.nim @@ -121,6 +121,9 @@ macro genericParamsImpl(T: typedesc): untyped = of nnkTypeDef: impl = impl[2] continue + of nnkTypeOfExpr: + impl = getTypeInst(impl[0]) + continue of nnkBracketExpr: for i in 1..