8a87b945b2
Fix memory leak if C++ catches a Rust panic and discards it If C++ catches a Rust panic using `catch (...)` and then chooses not to rethrow it, the `Box<dyn Any>` in the exception may be leaked. This PR fixes this by adding the necessary destructors to the exception object. r? @Mark-Simulacrum |
||
---|---|---|
.. | ||
bootstrap | ||
build_helper | ||
ci | ||
doc | ||
etc | ||
liballoc | ||
libarena | ||
libcore | ||
libfmt_macros | ||
libgraphviz | ||
libpanic_abort | ||
libpanic_unwind | ||
libproc_macro | ||
libprofiler_builtins | ||
librustc | ||
librustc_apfloat | ||
librustc_ast_lowering | ||
librustc_ast_passes | ||
librustc_builtin_macros | ||
librustc_codegen_llvm | ||
librustc_codegen_ssa | ||
librustc_codegen_utils | ||
librustc_data_structures | ||
librustc_driver | ||
librustc_error_codes | ||
librustc_errors | ||
librustc_expand | ||
librustc_feature | ||
librustc_fs_util | ||
librustc_hir | ||
librustc_incremental | ||
librustc_index | ||
librustc_interface | ||
librustc_lexer | ||
librustc_lint | ||
librustc_llvm | ||
librustc_macros | ||
librustc_metadata | ||
librustc_mir | ||
librustc_mir_build | ||
librustc_parse | ||
librustc_passes | ||
librustc_plugin_impl | ||
librustc_privacy | ||
librustc_resolve | ||
librustc_save_analysis | ||
librustc_session | ||
librustc_span | ||
librustc_target | ||
librustc_traits | ||
librustc_typeck | ||
librustdoc | ||
libserialize | ||
libstd | ||
libsyntax | ||
libterm | ||
libtest | ||
libunwind | ||
llvm-project@9330ec5a4c | ||
rtstartup | ||
rustc | ||
rustllvm | ||
stdarch@e0ab2c165a | ||
test | ||
tools | ||
README.md | ||
stage0.txt |
This directory contains the source code of the rust project, including:
rustc
and its testslibstd
- Various submodules for tools, like rustdoc, rls, etc.
For more information on how various parts of the compiler work, see the rustc guide.