> Well, concepts were newly introduced (Dec 2020), the draft paper had 380+ 
> pages, so give C++ a try, the language will mature soon.

If you read the code at the end of the message you replied to, you'll see a 
translation into C++ 20 which compiles with both clang and g++ (--std==c++20), 
and demonstrates the problem.

If you're not going to file the issue with concepts, I guess I will. As for the 
rest, currently even though `type Foo = int or string` is valid Nim, it's a 
lie, Foo isn't a real type, much less a sum or union type. As [the 
manual](https://nim-lang.org/docs/manual.html#generics-type-classes) documents
    
    
    Whilst the syntax of type classes appears to resemble that of
    ADTs/algebraic data types in ML-like languages, it should be
    understood that type classes are static constraints to be enforced
    at type instantiations. Type classes are not really types in
    themselves but are instead a system of providing generic "checks"
    that ultimately resolve to some singular type.
    
    
    Run

Reply via email to