Skip to content

Add drop intrinsic trait #3061

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
brson opened this issue Jul 31, 2012 · 1 comment
Closed

Add drop intrinsic trait #3061

brson opened this issue Jul 31, 2012 · 1 comment
Labels
A-codegen Area: Code generation A-type-system Area: Type system
Milestone

Comments

@brson
Copy link
Contributor

brson commented Jul 31, 2012

This will be the way to create types with destructors.

@catamorphism
Copy link
Contributor

Done.

bors pushed a commit to rust-lang-ci/rust that referenced this issue May 15, 2021
Fix help message for edition config option
RalfJung pushed a commit to RalfJung/rust that referenced this issue Sep 25, 2023
celinval pushed a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
This commit adds a new `Dead` goto-instruction that gets codegened
whenever Kani sees a MIR `StatementDead` statement. This new
goto instruction corresponds to the CBMC [code_deadt](
https://diffblue.github.io/cbmc/classcode__deadt.html) statement
that marks the point where a local variable goes out of scope.

This new instruction is needed to detect invalid accesses of dead local
variables.

The commit also codegens a CBMC `Decl` instruction upon seeing a MIR
StatementLive. This ensures that variables that go out of scope at the
end of a loop are not falsely marked as having a dead dereference when
they are accessed on the next loop iteration.

Resolves rust-lang#3061.

By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 and MIT licenses.
celinval pushed a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
This is a follow-up on rust-lang#3063 that adds a test with multiple crates to
make sure this scenario is correctly handled and that Kani reports the
bug.

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-codegen Area: Code generation A-type-system Area: Type system
Projects
None yet
Development

No branches or pull requests

2 participants