Andrei Alexandrescu wrote:
Walter and I just discussed the matter of inheriting constructors. Our thought on the issue:

a) If a class doesn't define any constructors and adds no fields, inherit constructors. Example:

class MyException : Exception {}

b) If a class defines at least one constructor, do not inherit constructors.

c) If a class doesn't define any constructors but does add at least a non-static field -> undecided.

What do you think?

I like this. I think c should be a compile-time error.

Here's another use for annotations, in case you define new fields but still want to inherit the constructors:

@InheritConstructors
class Foo : Bar {
}

Reply via email to