rust/compiler
Matthias Krüger 90dd7c03af
Rollup merge of #89359 - fee1-dead:const-it, r=oli-obk
Various fixes for const_trait_impl

A few problems I found while making `Iterator` easier to const-implement.

1. More generous `~const Drop` check.

We check for nested fields with caller bounds.

For example, an ADT type with fields of types `A`, `B`, `C`, check if all of them are either:
 - Bounded (`A: ~const Drop`, `B: Copy`)
 - Known to be able to destruct at compile time (`C = i32`, `struct C(i32)`, `C = some_fn`)

2. Don't treat trait functions marked with `#[default_method_body_is_const]` as stable const fns when checking `const_for` and `const_try` feature gates.

I think anyone can review this, so no r? this time.
2021-11-25 15:05:35 +01:00
..
rustc Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_apfloat Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_arena Add some comments. 2021-11-19 07:52:59 +11:00
rustc_ast Account for incorrect impl Foo<const N: ty> {} syntax 2021-11-24 20:02:09 +00:00
rustc_ast_lowering Simplify for loop desugar 2021-11-21 08:15:21 -06:00
rustc_ast_passes Rollup merge of #90420 - GuillaumeGomez:rustdoc-internals-feature, r=camelid 2021-11-24 22:56:37 +01:00
rustc_ast_pretty Add support for specifying multiple clobber_abi in asm! 2021-11-10 01:06:03 -05:00
rustc_attr Correct typo 2021-10-16 13:36:05 -07:00
rustc_borrowck Auto merge of #90491 - Mark-Simulacrum:push-pred-faster, r=matthewjasper 2021-11-24 15:51:46 +00:00
rustc_builtin_macros Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_codegen_cranelift Make hash_result an Option. 2021-10-20 18:29:18 +02:00
rustc_codegen_gcc Remove workaround for the forward progress handling in LLVM 2021-11-14 16:35:09 +01:00
rustc_codegen_llvm add rustc option for using LLVM stack smash protection 2021-11-22 20:06:22 +01:00
rustc_codegen_ssa Rollup merge of #90900 - andjo403:removeLlvm12Check, r=nikic 2021-11-17 15:58:05 +01:00
rustc_const_eval Debug 2021-11-24 15:55:21 +08:00
rustc_data_structures Add #[inline]s to SortedIndexMultiMap 2021-11-11 08:35:59 +09:00
rustc_driver add rustc option for using LLVM stack smash protection 2021-11-22 20:06:22 +01:00
rustc_error_codes Update Copy/Clone documentation WRT arrays 2021-11-08 13:11:59 -05:00
rustc_errors replace_tabs -> normalize_whitespace 2021-11-23 20:37:21 +00:00
rustc_expand Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_feature Rollup merge of #90420 - GuillaumeGomez:rustdoc-internals-feature, r=camelid 2021-11-24 22:56:37 +01:00
rustc_fs_util Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_graphviz Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, r=petrochenkov" 2021-10-15 11:28:23 +02:00
rustc_hir Simplify for loop desugar 2021-11-21 08:15:21 -06:00
rustc_hir_pretty Auto merge of #89124 - cjgillot:owner-info, r=michaelwoerister 2021-10-18 19:53:05 +00:00
rustc_incremental Add -Zassert-incr-state to assert state of incremental cache 2021-11-12 13:41:46 -06:00
rustc_index Auto merge of #90491 - Mark-Simulacrum:push-pred-faster, r=matthewjasper 2021-11-24 15:51:46 +00:00
rustc_infer Use derive_default_enum in the compiler 2021-11-22 20:17:53 -05:00
rustc_interface Sort FxHashSet's contents before emitting errors for consistent output 2021-11-23 20:37:24 +00:00
rustc_lexer udpate comment to be more accurate 2021-11-23 20:37:23 +00:00
rustc_lint Stabilize format_args_capture 2021-11-15 10:14:29 +01:00
rustc_lint_defs Properly register text_direction_codepoint_in_comment lint. 2021-11-05 20:12:40 +01:00
rustc_llvm add rustc option for using LLVM stack smash protection 2021-11-22 20:06:22 +01:00
rustc_macros Avoid generating empty closures for fieldless enums 2021-11-22 21:22:35 -05:00
rustc_metadata Add ty::Visibility::is_public() 2021-11-09 18:35:00 -08:00
rustc_middle Auto merge of #90579 - cjgillot:no-ee-ii, r=Aaron1011 2021-11-24 12:51:19 +00:00
rustc_mir_build Simplify for loop desugar 2021-11-21 08:15:21 -06:00
rustc_mir_dataflow Auto merge of #90788 - ecstatic-morse:issue-90752, r=wesleywiser 2021-11-23 17:44:33 +00:00
rustc_mir_transform impl Copy/Clone for arrays in std, not in compiler 2021-11-08 13:11:58 -05:00
rustc_monomorphize Rollup merge of #90701 - michaelwoerister:more-artifact-sizes, r=davidtwco 2021-11-09 19:00:45 +01:00
rustc_parse Auto merge of #88781 - estebank:emoji-idents, r=oli-obk 2021-11-25 08:16:08 +00:00
rustc_parse_format Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_passes Rollup merge of #89359 - fee1-dead:const-it, r=oli-obk 2021-11-25 15:05:35 +01:00
rustc_plugin_impl Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
rustc_privacy Add ty::Visibility::is_public() 2021-11-09 18:35:00 -08:00
rustc_query_impl Revert "Add rustc lint, warning when iterating over hashmaps" 2021-10-28 11:01:42 -04:00
rustc_query_system Manually outline error on incremental_verify_ich 2021-11-22 21:32:20 -05:00
rustc_resolve Rollup merge of #90856 - ken-matsui:suggestion-to-wrap-vec-allocator-api-in-tuple, r=davidtwco 2021-11-23 19:28:06 +01:00
rustc_save_analysis Give inline const separate DefKind 2021-11-07 03:59:06 +00:00
rustc_serialize Avoid generating empty closures for fieldless enums 2021-11-22 21:22:35 -05:00
rustc_session Auto merge of #88781 - estebank:emoji-idents, r=oli-obk 2021-11-25 08:16:08 +00:00
rustc_span Rollup merge of #90420 - GuillaumeGomez:rustdoc-internals-feature, r=camelid 2021-11-24 22:56:37 +01:00
rustc_symbol_mangling Revert "Add rustc lint, warning when iterating over hashmaps" 2021-10-28 11:01:42 -04:00
rustc_target Rollup merge of #90044 - rusticstuff:disable_arm_outline_atomics_for_musl, r=workingjubilee 2021-11-24 22:56:36 +01:00
rustc_trait_selection Add impl polarity to fields 2021-11-24 16:31:47 +08:00
rustc_traits Make select_* methods return Vec for TraitEngine 2021-11-08 23:35:23 +08:00
rustc_ty_utils Recurse through query system when checking ADT drop types, hopefully improving perf 2021-11-13 14:47:17 -05:00
rustc_type_ir Add two inline annotations for hot functions 2021-10-03 12:43:43 -04:00
rustc_typeck Auto merge of #88681 - ehuss:duplicate-attributes, r=petrochenkov 2021-11-22 02:15:25 +00:00