rust/compiler
Mara Bos 676ff77fb7
Rollup merge of #80726 - lcnr:unsize-query, r=oli-obk
relax adt unsizing requirements

Changes unsizing of structs in case the last struct field shares generic params with other adt fields which do not change.
This change is currently insta stable and changes the language, so it at least requires a lang fcp. I feel like the current state is fairly unintuitive.

An example for what's now allowed would be https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6dd331d23f5c9ffc8c978175aae2e967
```rust
struct A<T, U: ?Sized>(T, B<T, U>); // previously ERR
// struct A<T, U: ?Sized>(T, B<[u32; 1], U>); // ok
struct B<T, U: ?Sized>(T, U);

fn main() {
    let x = A([0; 1], B([0; 1], [0; 1]));
    let y: &A<[u32; 1], [u32]> = &x;
    assert_eq!(y.1.1.len(), 1);
}
```
2021-02-05 12:25:52 +01:00
..
rustc just max_level_info 2020-09-11 09:37:51 -07:00
rustc_apfloat Backport another LLVM commit to rustc_apfloat 2020-10-04 02:02:25 +02:00
rustc_arena Rollup merge of #80470 - SimonSapin:array-intoiter-type, r=m-ou-se 2021-01-31 01:47:25 +01:00
rustc_ast Rollup merge of #81645 - m-ou-se:panic-lint, r=estebank,flip1995 2021-02-04 21:10:36 +01:00
rustc_ast_lowering lowering of generic args in AssocTyConstraint 2021-02-04 16:20:58 +01:00
rustc_ast_passes Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_ast_pretty Box the biggest ast::ItemKind variants 2021-02-01 09:23:39 +01:00
rustc_attr Rollup merge of #81468 - est31:cfg_version, r=petrochenkov 2021-01-30 13:36:50 +09:00
rustc_builtin_macros Auto merge of #81294 - pnkfelix:issue-81211-use-ufcs-in-derive-debug, r=oli-obk 2021-02-03 15:12:19 +00:00
rustc_codegen_cranelift Add a new ABI to support cmse_nonsecure_call 2021-02-02 13:04:31 +00:00
rustc_codegen_llvm Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_codegen_ssa Rollup merge of #81536 - tgnottingham:time-passes-rss, r=oli-obk 2021-02-01 14:29:40 +01:00
rustc_data_structures Revert stabilizing integer::BITS. 2021-02-03 22:23:58 +01:00
rustc_driver Indicate both start and end of pass RSS in time-passes output 2021-01-29 12:46:29 -08:00
rustc_error_codes Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_errors Make panic/assert calls in rustc compatible with Rust 2021. 2021-02-03 22:42:53 +01:00
rustc_expand Improve handling of spans around macro result parse errors 2021-01-31 15:24:34 -05:00
rustc_feature add relaxed_struct_unsize feature gate 2021-02-04 00:00:41 +01:00
rustc_fs_util Optimize away a fs::metadata call. 2021-01-06 08:33:15 -08:00
rustc_graphviz remove redundant closures (clippy::redundant_closure) 2021-01-03 13:34:24 +01:00
rustc_hir Rollup merge of #79554 - b-naber:generic-associated-types-in-trait-paths, r=jackh726 2021-02-05 12:25:50 +01:00
rustc_hir_pretty hir pretty printing 2021-02-04 16:20:57 +01:00
rustc_incremental Auto merge of #80957 - tgnottingham:direct_serialize_depgraph, r=michaelwoerister 2021-01-19 19:36:41 +00:00
rustc_index relax adt unsizing requirements 2021-02-04 00:00:28 +01:00
rustc_infer Rollup merge of #81655 - matsujika:suggest-accessing-field-rewording, r=estebank 2021-02-02 16:01:48 -05:00
rustc_interface Box the biggest ast::ItemKind variants 2021-02-01 09:23:39 +01:00
rustc_lexer Return EOF_CHAR constant instead of magic char. 2021-01-07 13:20:04 +01:00
rustc_lint Rollup merge of #81645 - m-ou-se:panic-lint, r=estebank,flip1995 2021-02-04 21:10:36 +01:00
rustc_lint_defs Rollup merge of #81556 - nikomatsakis:forbidden-lint-groups-lint, r=pnkfelix 2021-02-04 21:10:34 +01:00
rustc_llvm Add a new ABI to support cmse_nonsecure_call 2021-02-02 13:04:31 +00:00
rustc_macros Indent the code correctly again after removing the query categories. 2021-01-31 21:40:03 +01:00
rustc_metadata Pre-canoncalize ExternLocation::ExactPaths 2021-01-29 11:02:12 +01:00
rustc_middle Rollup merge of #79554 - b-naber:generic-associated-types-in-trait-paths, r=jackh726 2021-02-05 12:25:50 +01:00
rustc_mir Fix panic when emitting diagnostic for closure mutable binding error 2021-02-03 12:36:24 -05:00
rustc_mir_build Bump rustfmt version 2021-02-02 09:09:52 -05:00
rustc_parse Auto merge of #81405 - bugadani:ast, r=cjgillot 2021-02-02 17:34:08 +00:00
rustc_parse_format rustc_parse_format: Fix character indices in find_skips 2021-01-17 17:40:58 +03:00
rustc_passes Bump rustfmt version 2021-02-02 09:09:52 -05:00
rustc_plugin_impl Store ForeignItem in a side table. 2020-11-26 21:29:27 +01:00
rustc_privacy more things are const evaluatable *sparkles* 2021-02-01 20:05:50 +00:00
rustc_query_system Auto merge of #80692 - Aaron1011:feature/query-result-debug, r=estebank 2021-01-26 05:47:23 +00:00
rustc_resolve Rollup merge of #81636 - LingMan:slice_not_vec, r=petrochenkov 2021-02-02 16:01:45 -05:00
rustc_save_analysis Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_serialize Revert stabilizing integer::BITS. 2021-02-03 22:23:58 +01:00
rustc_session Rollup merge of #81468 - est31:cfg_version, r=petrochenkov 2021-01-30 13:36:50 +09:00
rustc_span add relaxed_struct_unsize feature gate 2021-02-04 00:00:41 +01:00
rustc_symbol_mangling Rollup merge of #80959 - jhpratt:unsigned_abs-stabilization, r=m-ou-se 2021-01-30 13:36:44 +09:00
rustc_target Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_trait_selection Rollup merge of #80726 - lcnr:unsize-query, r=oli-obk 2021-02-05 12:25:52 +01:00
rustc_traits Update Chalk 2021-02-02 12:37:22 -05:00
rustc_ty_utils Infallible version of def_span. 2021-01-23 13:35:22 +01:00
rustc_type_ir Move a few more types to rustc_type_ir 2021-01-18 21:06:12 +01:00
rustc_typeck substitutions in trait predicates 2021-02-04 16:35:52 +01:00