Givens don’t seem to apply transitively. Is there a way to make them transitive? For example, can the code below be changed to compile, without explicitly adding a given for
C? Can the given for
B somehow be made available in
given A = new A()
given B = new B()
usingA // No given instance of type A was found...
def usingA(using A): Unit = ()
import B.give inside
I just tried adding
import B.given inside
C, but the error remains the same…
Sorry, I am still not used to this
given syntax. And I forgot
B there would not be the identifier.
Thanks! Too bad
import summon[B].given doesn’t work.
val b = summon[B]
if you prefer.
Actually it’s just a syntax restriction. If
summon is defined like this then
import summon.given works:
inline transparent def summon(using b: B) = b
It’s only the syntax that doesn’t accept
 in import statements. IMHO that would be a good feature request.