distinctBase overload for values (#13746)
This commit is contained in:
parent
764a81ca25
commit
98753da331
2 changed files with 8 additions and 1 deletions
|
|
@ -122,7 +122,7 @@ echo f
|
||||||
- Added `net.getPeerCertificates` and `asyncnet.getPeerCertificates` for
|
- Added `net.getPeerCertificates` and `asyncnet.getPeerCertificates` for
|
||||||
retrieving the verified certificate chain of the peer we are connected to
|
retrieving the verified certificate chain of the peer we are connected to
|
||||||
through an SSL-wrapped `Socket`/`AsyncSocket`.
|
through an SSL-wrapped `Socket`/`AsyncSocket`.
|
||||||
|
- Added `distinctBase` overload for values: `assert 12.MyInt.distinctBase == 12`
|
||||||
|
|
||||||
## Library changes
|
## Library changes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,13 @@ proc distinctBase*(T: typedesc): typedesc {.magic: "TypeTrait".}
|
||||||
## Returns base type for distinct types, works only for distinct types.
|
## Returns base type for distinct types, works only for distinct types.
|
||||||
## compile time error otherwise
|
## 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).}
|
proc tupleLen*(T: typedesc[tuple]): int {.magic: "TypeTrait", since: (1, 1).}
|
||||||
## Return number of elements of `T`
|
## Return number of elements of `T`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue