On Thursday, 31 October 2013 at 17:22:07 UTC, Daniel Davidson wrote:

I'm think you may be correct... but what specifically is incorrect about the language? When I see __fieldPostBlit I get the feeling it is more an implementation issue than the language.

__postblit also looks like implementation detail but it is same problem. Field postblit means that aggregate has some members which have postblits so they should be called. This is same problem which blows in higher level.

If as you suggest, D language is fundamentally broken - is it possible we can just get a plan for fixing it? To me this seems like a huge design hole and I come back to the threads with questions again and again and I really don't know how others manage the use of const/immutable.

This is probable tenth thread about const postblits which I do remember for all my (only) 2 years in D. D2 (version currently in use) dates back to 2004 AFAIK and Andrei (helping to design the language) is in D since 2006, also AFAIK. Draw your own conclusions.

I've already given up on immutable. If I have to strip const as well then that is a huge pain and unfortunate since the concept seems sound and well argued in TDPL. Trying to mess with mutable/const/immutable on mostly working code is like playing whack a mole.

One can do: 1) revise the design to challange whether consts are really necessary 2a) use workarounds like const pointer 2b) use cast to break const or another tricks (explicit casts are better because holes in type system may be fixed in some point in the feature)

Reply via email to