rust/compiler
Eric Holk c37a906db5 Drop tracking: improve break and continue handling
This commit fixes two issues.

One, sometimes break or continue have a block target instead of an
expression target. This seems to mainly happen with try blocks. Since
the drop tracking analysis only works on expressions, if we see a block
target for break or continue, we substitute the last expression of the
block as the target instead.

Two, break and continue were incorrectly being treated as the same, so
continue would also show up as an exit from the loop or block. This
patch corrects the way continue is handled by keeping a stack of loop
entry points and uses those to find the target of the continue.
2022-02-07 16:30:30 -08:00
..
rustc remove unused jemallocator crate 2022-01-28 16:56:05 +01:00
rustc_apfloat Stabilize iter::zip. 2021-12-14 18:50:31 -04:00
rustc_arena Remove unused dep from rustc_arena 2022-02-02 17:37:14 +01:00
rustc_ast Drop tracking: improve break and continue handling 2022-02-07 16:30:30 -08:00
rustc_ast_lowering More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_ast_passes add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_ast_pretty Change struct expr pretty printing to match rustfmt style 2022-02-03 10:59:35 -08:00
rustc_attr More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_borrowck Rollup merge of #93590 - est31:let_else, r=lcnr 2022-02-02 19:34:07 +01:00
rustc_builtin_macros Rollup merge of #93416 - name1e5s:chore/remove_allow_fail, r=m-ou-se 2022-02-07 14:08:34 +00:00
rustc_codegen_cranelift Use an indexmap to avoid sorting LocalDefIds 2022-01-22 22:34:16 -06:00
rustc_codegen_gcc Merge landing_pad and set_cleanup into cleanup_landing_pad 2022-01-24 14:10:05 +01:00
rustc_codegen_llvm Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_codegen_ssa Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_const_eval Rollup merge of #92802 - compiler-errors:deduplicate-stack-trace, r=oli-obk 2022-02-03 22:20:24 +09:00
rustc_data_structures Fix isize optimization in StableHasher for big-endian architectures 2022-02-03 11:47:41 +01:00
rustc_driver Rollup merge of #93566 - Aaron1011:rustc-backtrace, r=davidtwco 2022-02-03 22:20:26 +09:00
rustc_error_codes Rollup merge of #91939 - GKFX:feature-91866, r=cjgillot 2022-02-06 04:13:29 +01:00
rustc_errors add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_expand add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_feature Rollup merge of #93682 - PatchMixolydic:where-in-the-world-is-const_fn_trait_bound, r=oli-obk 2022-02-07 14:08:37 +00:00
rustc_fs_util Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_graphviz eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
rustc_hir Auto merge of #93179 - Urgau:unreachable-2021, r=m-ou-se,oli-obk 2022-02-07 00:26:52 +00:00
rustc_hir_pretty Change pp indent to signed to allow negative indents 2022-02-03 10:59:09 -08:00
rustc_incremental add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_index implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_infer Rollup merge of #91530 - bobrippling:suggest-1-tuple-parens, r=camelid 2022-02-07 14:08:31 +00:00
rustc_interface Add a flag enabling drop range tracking in generators 2022-02-07 12:27:09 -08:00
rustc_lexer Auto merge of #91393 - Julian-Wollersberger:lexer_optimization, r=petrochenkov 2021-12-03 13:20:14 +00:00
rustc_lint Auto merge of #93179 - Urgau:unreachable-2021, r=m-ou-se,oli-obk 2022-02-07 00:26:52 +00:00
rustc_lint_defs implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_llvm Windows: Disable LLVM crash dialog boxes. 2022-01-27 16:53:17 -08:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros Make Decodable and Decoder infallible. 2022-01-22 10:38:31 +11:00
rustc_metadata Auto merge of #93539 - petrochenkov:doclink, r=camelid,michaelwoerister 2022-02-05 18:27:06 +00:00
rustc_middle Auto merge of #93643 - lcnr:fold-substs-perf, r=michaelwoerister 2022-02-07 03:47:47 +00:00
rustc_mir_build Rollup merge of #93589 - est31:option_then, r=cjgillot 2022-02-03 22:20:27 +09:00
rustc_mir_dataflow rustc_mir_dataflow: use iter::once instead of Some().into_iter 2022-02-03 13:52:26 -07:00
rustc_mir_transform Rollup merge of #90132 - joshtriplett:stabilize-instrument-coverage, r=wesleywiser 2022-02-04 18:42:13 +01:00
rustc_monomorphize add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_parse clippy::perf fixes 2022-02-03 21:45:51 +01:00
rustc_parse_format Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_passes Rollup merge of #90998 - jhpratt:require-const-stability, r=oli-obk 2022-02-06 10:43:50 +01:00
rustc_plugin_impl replace dynamic library module with libloading 2021-12-06 12:03:47 -05:00
rustc_privacy add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_query_impl add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_query_system Use Option::then in two places 2022-02-02 16:10:16 +01:00
rustc_resolve resolve lifetimes for const generic defaults 2022-02-05 01:30:14 -08:00
rustc_save_analysis More let_else adoptions 2022-02-02 17:11:01 +01:00
rustc_serialize Drop json::from_reader 2022-02-05 15:07:10 -05:00
rustc_session Add a flag enabling drop range tracking in generators 2022-02-07 12:27:09 -08:00
rustc_span Auto merge of #93179 - Urgau:unreachable-2021, r=m-ou-se,oli-obk 2022-02-07 00:26:52 +00:00
rustc_symbol_mangling add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_target Rollup merge of #93680 - Mark-Simulacrum:drop-json-reader, r=bjorn3 2022-02-07 14:08:36 +00:00
rustc_trait_selection Auto merge of #93285 - JulianKnodt:const_eq_2, r=oli-obk 2022-02-01 23:18:01 +00:00
rustc_traits Remove generalization over projection 2022-01-28 00:25:36 +00:00
rustc_ty_utils remove TyS::same_type 2022-02-01 11:21:26 +01:00
rustc_type_ir initial revert 2022-01-15 01:16:55 +00:00
rustc_typeck Drop tracking: improve break and continue handling 2022-02-07 16:30:30 -08:00