23 lines
403 B
Nim
23 lines
403 B
Nim
discard """
|
|
output: "true"
|
|
"""
|
|
|
|
import future
|
|
|
|
type
|
|
FilterMixin*[T] = ref object
|
|
test*: (T) -> bool
|
|
trans*: (T) -> T
|
|
|
|
SeqGen*[T] = ref object
|
|
fil*: FilterMixin[T]
|
|
|
|
WithFilter[T] = concept a
|
|
a.fil is FilterMixin[T]
|
|
|
|
proc test*[T](a: WithFilter[T]): (T) -> bool =
|
|
a.fil.test
|
|
|
|
var s = SeqGen[int](fil: FilterMixin[int](test: nil, trans: nil))
|
|
echo s.test() == nil
|
|
|