> I.e.
> abstract class FooImpl <T extends FooImp<T>> {
> ... lots of code ...
> }
> class Foo extends FooImpl<Foo> {
> ... no code except maybe constructors ...
> }
>
> In essence, I'm saying that Foo needs to be final,
> or you'll shoot yourself into the foot
And I'm challenging that. I think there are cases where it's safe and cases
where it isn't.
However, I have to carefully read and understand which of the many deeper
issues with subtyping are actually at work with that. Which means I'll have to
reread the blog post, think about it for a bit, possibly clean up my own mess,
decide whether the unsafe stuff is even compile-time-checkable, find
examples... so it's going to take me some time to back that challenge with
arguments.
It's entirely possible that it can't be made safe in Java's type system. I'll
have to see :-)
--
You received this message because you are subscribed to the Google Groups "jOOQ
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.