| |
![Ernesto Castellotti's Gravatar profile Gravatar of Ernesto Castellotti](//www.gravatar.com/avatar/709a5930b3212453c0822ce4d02cd3dd?d=identicon&s=32) | Posted by Ernesto Castellotti in reply to Alex Biscotti | Permalink Reply |
|
Ernesto Castellotti ![Ernesto Castellotti's Gravatar profile Gravatar of Ernesto Castellotti](//www.gravatar.com/avatar/709a5930b3212453c0822ce4d02cd3dd?d=identicon&s=80)
Posted in reply to Alex Biscotti
| On Friday, 26 May 2023 at 09:39:29 UTC, Alex Biscotti wrote:
> On Friday, 26 May 2023 at 09:24:29 UTC, Ernesto Castellotti wrote:
> On Friday, 26 May 2023 at 09:17:34 UTC, Alex Biscotti wrote:
> On Friday, 26 May 2023 at 09:11:47 UTC, Ernesto Castellotti wrote:
> On Friday, 26 May 2023 at 09:07:07 UTC, Alex Biscotti wrote:
> Hello everyone! While researching the phobos library, I discovered that a class can have multiple destructors if the destructors are added via mixin injection. Accordingly, the question is whether a description of such feature should be added to the documentation, since the current description is a bit confusing - "There can be only one destructor per class"?
[...]
This is a bug to me, you should open an issue on bugzilla
Do you mean that it's a bug in the documentation or implementation of the language?
Bug in the implementation of Mixin Template
Hmm, this feature is used in Phobos in std.signal. Actually, this is how I found it, since I implemented the Signal functionality, but without garbage collection. It seems to me that this is an undocumented feature, rather than a bug.
Currently the spec says "If the name of a declaration in a mixin is the same as a declaration in the surrounding scope, the surrounding declaration overrides the mixin one", I understand why this occurs with the current implementation, but either way the implementation should be changed or the specs should be clarified to explain this specific behavior with destructors.
|