To be clear...I'm not trying to subvert anything! Just to make it easier
and more natural to choose the best option. :)  if it wasn't clear from my
example, AbstractFoo would NOT be a concrete type, and couldn't be
constructed.

On Tuesday, September 13, 2016, Michael Borregaard <mkborrega...@gmail.com>
wrote:

> Thanks for the enlightening discussion. The emerging consensus is to use
> example #2, but perhaps use macros to make the syntax easier to read and
> maintain. Alternatively, it looks like my idea with having a FoobarData
> object as a field would do the job (but would require
> foobar.foobardata.bazbaz syntax for accessing fields, of course).
>
> It is also interesting to see that there are divergent views. It seems to
> me, for example, that Tom Breloff's macro syntax would subvert the
> inheritance design decision that Stefan Karpinski described, by combining
> the abstract type with the concrete type?
>

Reply via email to