Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
/ druntime Public archive

Comments

Make -betterC code nothrow and @nogc#2203

Closed
JinShil wants to merge 1 commit intodlang:masterfrom
JinShil:betterC_nothrow_object_d
Closed

Make -betterC code nothrow and @nogc#2203
JinShil wants to merge 1 commit intodlang:masterfrom
JinShil:betterC_nothrow_object_d

Conversation

@JinShil
Copy link
Contributor

@JinShil JinShil commented Jun 1, 2018

This is a rework of #2184, but since #2194 has already been merged, the context and motivations for it have changed.

-betterC does not support throwing exceptions or garbage collection. Users should, therefore, always be attributing their -betterC code with nothrow and @betterC. To ensure -betterC builds receive D's compile-time correctness guarantees, runtime implementations, when compiled with -betterC, should also be attributed nothrow and @nogc.

This PR is still required for dlang/dmd#8253, but is still valuable (and fundamentally correct) despite the fate of that PR.

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @JinShil!

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 fetch digger
dub run digger -- build "master + druntime#2203"

@JinShil
Copy link
Contributor Author

JinShil commented Jun 1, 2018

Gah. My mistake. _destructRecurse is a template. Closing.

@JinShil JinShil closed this Jun 1, 2018
@JinShil JinShil deleted the betterC_nothrow_object_d branch June 1, 2018 22:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants