Open
Description
Nim Version
Nim 2.2.4
Description
The following is a minimal repro that I extracted from my actual use case, which is an algebraic type library.
type
Type1* = concept type t
Type2* = concept type t
t is Type1
Type3* = concept type t
t is Type2
Type4* = concept type t
t is Type3
Type5* = concept type t
t is Type4
Type6* = concept type t
t is Type5
Type7* = concept type t
t is Type6
template checkTypes(T: typedesc) =
doAssert T is Type1 # passes
doAssert T is Type2 # passes
doAssert T is Type4 # passes
doAssert T is Type5 # passes
doAssert T is Type6 # passes
doAssert T is Type7 # fails
static:
checkTypes int8
Current Output
The assertion on `Type7` unexpectedly fails.
Expected Output
The assertion on `Type7` should pass
Known Workarounds
Type7
can be redefined to depend on Type5
instead of Type6
:
Type7* = concept type t
t is Type5
copyOfType6Constraints
Additional Information
No response
Metadata
Metadata
Assignees
Labels
No labels