-
-
Notifications
You must be signed in to change notification settings - Fork 668
Remove class deallocator following deprecation #10727
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for your pull request, @Geod24! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + dmd#10727" |
| { | ||
| semanticTypeInfo(sc, tb); | ||
| break; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code was a bit surprising: If ad.aggDelete is false (and it should, because otherwise we error out), the if is always followed and the code that follows is never executed. However the code seemed to account for the possibility of f or fd being null, which doesn't make sense as fd can never be null. Maybe it's just historical baggage.
c6c094b to
d1685b3
Compare
Yes, it is odd. This is an unfortunate consequence of not following through on the deprecations -- users will choose to use these odd techniques to workaround limitations in the language, which then requires D to support and maintain the feature, or to go through a disproportionate amount of work to get its removal approved. |
|
Fix for the Buildkite failure: libmir/mir-random#121 |
d1685b3 to
3747bbd
Compare
WalterBright
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's nice to remove a large chunk of code.
|
Green |
See the changelog entry for the timeline.
I wanted to apply the same to class allocator, but
@disable new()was not deprecated, with the rationale that aggregates could want to force to use a different allocator.It sounds very odd that this very specific things could be allowed. There are other ways to do so (e.g. a factory function which accepts a delegate). But that means another deprecation period for them.
CC @JinShil