Thanks Fabian, that's exactly what I was looking for.
On Mon, Feb 24, 2014 at 9:18 AM, Iain Dunning <iaindunn...@gmail.com> wrote: > Steven, I'd say its just for the useful error message > > e.g. > > abstract Parent > method1(p::Parent) = error("Children must implement this or face an > error!") > method2(p::Parent) = error("Children must implement this or face an > error!") > > type Child <: Parent > fizz > buzz > end > method1(c::Child) = println("happy days") > # no method2, naughty > > user code > jimmy = Child(1,2) > method2(jimmy) # Useful error message results that lets you know that you > SHOULD be able to do this, but can't due to a failure to implement in > library. > > > > On Monday, February 24, 2014 10:27:16 AM UTC-5, Steven G. Johnson wrote: >> >> On Monday, February 24, 2014 9:55:33 AM UTC-5, Iain Dunning wrote: >>> >>> One way to do it is >>> >>> abstract Parent >>> >>> method1(p::Parent) = error("Children must implement this or face an >>> error!") >>>> >>>> >>>>>> >> How is this better than just deleting the method1(::Parent) method, in >> which case you will get a MethodError if one attempts to call it on a child >> type? >> >> >>