On Saturday, 14 June 2014 at 17:15:16 UTC, Dicebot wrote:
On Saturday, 14 June 2014 at 16:41:46 UTC, monarch_dodra wrote:
".init" should simply mean "the default bit state of the object". Let's not make it into anything more complicated than that.

I guess this is the root of disagreement. There is no place in documentation that says that "T.init" is in any way unsafe or dangerous, I see it as a perfectly casual feature often used in any kind of generic code. Putting it in the same league as cast which is explicitly designed to punch holes in the type system? No way.

I'm not saying it's to punch holes in the type system, but (if memory serves right), TDPL simply defines it as the default bit pattern that gets written before constructors are called (ergo default value when no constructors are called).

It's not unsafe, but it *is* a way to request an object explicitly initialized to that "initial" state, which may not actually be ready for use until a corresponding constructor is called upon it.

Which is what "@disable this" does.

Reply via email to