This commit is contained in:
Zahary Karadjov
2017-03-24 15:53:56 +02:00
parent f8c921dd25
commit d16557bbdb

View File

@@ -2,7 +2,9 @@ discard """
output: '''true
true
true
true'''
true
p has been called.
p has been called.'''
"""
# https://github.com/nim-lang/Nim/issues/1147
@@ -15,7 +17,7 @@ proc add*(self: var TTest, val: int) =
type CAddable = concept x
x[].add(int)
echo((ref TTest) is CAddable)
echo((ref TTest) is CAddable) # true
# https://github.com/nim-lang/Nim/issues/1570
type ConcretePointOfFloat = object
@@ -34,3 +36,16 @@ echo p1 is AbstractPointOfFloat # true
echo p2 is AbstractPointOfFloat # true
echo p2.x is float and p2.y is float # true
# https://github.com/nim-lang/Nim/issues/2018
type ProtocolFollower = generic
true # not a particularly involved protocol
type ImplementorA = object
type ImplementorB = object
proc p[A: ProtocolFollower, B: ProtocolFollower](a: A, b: B) =
echo "p has been called."
p(ImplementorA(), ImplementorA())
p(ImplementorA(), ImplementorB())