On Saturday, 14 February 2026 at 15:45:20 UTC, Richard (Rikki)
Andrew Cattermole wrote:
On 15/02/2026 4:42 AM, Brother Bill wrote:
Is this expected behavior, that is, we always need to create
our constructors, no free constructor is built for us by the D
compiler?
Yes currently.
If so, this is a clear departure from C# and Eiffel, where one
gets a free constructor if no explicitly declared constructors.
D's classes were based off of Java's.
I want some changes to them, constructors also don't inherit.
Eiffel may be the only language that supports inheriting
constructers.
In Eiffel, a constructor is just another method, that is marked
as a constructor in "create" clause. As all methods are
inheritable by default in Eiffel, constructors can be inherited
there.
They are massive pain for exceptions.
Why are they a massive pain? Please explain.