I'd hate to launch a new feature that doesn't work with another feature at all. Perhaps we should just warn if you define an implicit case class ?
Does that actually work now? If I import Foo, is it picked up?
Does that actually work now? If I import Foo, is it picked up?
That only works because the implicits in the companion are in the
implicit scope:
The use case Jason shows was the big motivator for implicit classes. I think if we had case-class-feature-a-la-cart not having companion object would be OK.
Worse though is the inconsistencies of object and def/val/var in the term namespace.
scala> object bip { class Foo(val xxx: Int) ; implicit object Foo
extends (Int => Foo) { implicit def apply(x: Int) = new Foo(x) } }
I'd be for that encoding but I remember some kind of issue with the tech. details. Anyone recall what?