diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/typetraits.nim | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pure/typetraits.nim b/lib/pure/typetraits.nim index 66b94e238..ef28f83b0 100644 --- a/lib/pure/typetraits.nim +++ b/lib/pure/typetraits.nim @@ -71,6 +71,13 @@ proc distinctBase*(T: typedesc): typedesc {.magic: "TypeTrait".} ## Returns base type for distinct types, works only for distinct types. ## compile time error otherwise +since (1, 1): + template distinctBase*[T](a: T): untyped = + ## overload for values + runnableExamples: + type MyInt = distinct int + doAssert 12.MyInt.distinctBase == 12 + distinctBase(type(a))(a) proc tupleLen*(T: typedesc[tuple]): int {.magic: "TypeTrait", since: (1, 1).} ## Return number of elements of `T` |