You can explicitly pass implicit parameters, so even if there is no Foo in the implicit region of the caller, the caller can simply pass it explicitly.
As commented, you can use the same trick to pass Foo to somethingThatNeedsFoo :
def myMethod(a: Int, f: Foo) = somethingThatNeedsFoo(a)(f)
Jed wesley-smith
source share