Skip to content
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

another correction for caller destroying args #16167

Merged
merged 1 commit into from
Mar 6, 2024

Conversation

WalterBright
Copy link
Member

This is a fix for this problem:

#16145 (comment)

In case that PR never gets pulled. Don't know how to trigger the test case without the rest of that PR.

The problem is that functions that return a static array with elements that need to be destructed should not be inlined, because the e2ir.d code no longer will call _d_arrayctor() to do it.

@WalterBright WalterBright added Easy Review Refactoring No semantic changes to code labels Feb 8, 2024
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @WalterBright!

Bugzilla references

Your 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 locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#16167"

@WalterBright WalterBright added the Ready To Merge Let's get this merged label Feb 13, 2024
@WalterBright
Copy link
Member Author

This is ready to merge.

@thewilsonator
Copy link
Contributor

does this fix anything? Why does it not have a test suite change?

@WalterBright
Copy link
Member Author

It's a partial fix for #16145 . If we don't go with 16415, this fix is still important in case of a change of mind in the future. But it cannot be tested without implementing 16145.

I.e. the code promises that caller/callee destruction is set by a flag in target.d. It should keep its promise!

@ibuclaw
Copy link
Member

ibuclaw commented Feb 16, 2024

There's a PR for removing the frontend inliner. #16173

@RazvanN7 RazvanN7 merged commit f957472 into dlang:master Mar 6, 2024
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Easy Review Ready To Merge Let's get this merged Refactoring No semantic changes to code
Projects
None yet
6 participants