rust/compiler
Manish Goregaokar 960e49e89b
Rollup merge of #88706 - ThePuzzlemaker:issue-88609, r=jackh726
Normalize associated type projections when checking return type of main

This fixes #88609.

Previously, the return type of `fn main()` would not have any associated type projections within normalized before checking if it implements the standard library trait `std::process::Termination`. This commit appears to fix it.

This feels vaguely symptomatic of a problem in the underlying trait solving engine, but I am not sure how I would solve that. I am unsure why the example in #88609 with `assert_impl_termination` and `fn foo()` work, but simply `fn main()` doesn't. The way that I solved this is also probably not the best way to do this, so please let me know if there is a better way to do this.

I have added a build-pass regression test for this issue.
2021-10-05 12:52:41 -07:00
..
rustc Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_apfloat Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_arena Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_ast Rollup merge of #89487 - FabianWolff:issue-89396, r=petrochenkov 2021-10-04 21:12:42 -07:00
rustc_ast_lowering Add desugaring mark to while loop 2021-10-02 17:41:14 -05:00
rustc_ast_passes Rollup merge of #89494 - FabianWolff:issue-84075, r=davidtwco 2021-10-04 21:12:43 -07:00
rustc_ast_pretty Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_attr Move some HashStable impls. 2021-10-03 16:08:50 +02:00
rustc_borrowck Rollup merge of #89504 - Aaron1011:rpit-nll-static, r=nikomatsakis 2021-10-04 23:56:24 -07:00
rustc_builtin_macros Practice diagnostic message convention 2021-10-03 16:16:28 +09:00
rustc_codegen_cranelift Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
rustc_codegen_gcc Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
rustc_codegen_llvm Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_codegen_ssa Remove re-export. 2021-10-03 16:08:54 +02:00
rustc_const_eval Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_data_structures Rollup merge of #87993 - kornelski:try_reserve_stable, r=joshtriplett 2021-10-04 21:12:33 -07:00
rustc_driver Auto merge of #89363 - oli-obk:in_tracing_we_trust, r=Mark-Simulacrum 2021-10-05 12:52:43 +00:00
rustc_error_codes Consistently use 'supertrait'. 2021-10-02 08:05:44 +07:00
rustc_errors Rollup merge of #89046 - oli-obk:fix_oflo, r=estebank 2021-09-22 19:03:22 +02:00
rustc_expand Improve help for recursion limit errors 2021-09-28 22:17:13 +02:00
rustc_feature Stabilize const_panic 2021-10-04 02:33:33 -04:00
rustc_fs_util Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_graphviz Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_hir Move some HashStable impls. 2021-10-03 16:08:50 +02:00
rustc_hir_pretty Avoid more invocations of hir_crate query. 2021-09-29 23:16:47 +02:00
rustc_incremental Avoid more invocations of hir_crate query. 2021-09-29 23:16:47 +02:00
rustc_index Rollup merge of #89508 - jhpratt:stabilize-const_panic, r=joshtriplett 2021-10-04 13:58:17 -07:00
rustc_infer Make diangostic item names consistent 2021-10-02 19:38:19 -05:00
rustc_interface Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_lexer Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_lint Rollup merge of #89473 - FabianWolff:issue-89469, r=joshtriplett 2021-10-04 21:12:38 -07:00
rustc_lint_defs Auto merge of #88865 - guswynn:must_not_suspend, r=oli-obk 2021-09-22 06:43:33 +00:00
rustc_llvm Fix clippy lints 2021-10-01 23:17:19 +02:00
rustc_macros Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_metadata Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_middle Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_mir_build Rollup merge of #89441 - Nadrieril:fix-89393, r=tmandry 2021-10-01 14:46:52 -07:00
rustc_mir_dataflow Rollup merge of #89508 - jhpratt:stabilize-const_panic, r=joshtriplett 2021-10-04 13:58:17 -07:00
rustc_mir_transform Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_monomorphize Avoid more invocations of hir_crate query. 2021-09-29 23:16:47 +02:00
rustc_parse Use TokenKind::similar_tokens() 2021-10-04 22:13:00 +02:00
rustc_parse_format Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_passes Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_plugin_impl Move rustc_middle::middle::cstore to rustc_session. 2021-10-03 16:08:51 +02:00
rustc_privacy Auto merge of #89405 - GuillaumeGomez:fix-clippy-lints, r=cjgillot 2021-10-02 10:52:09 +00:00
rustc_query_impl Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_query_system Add some inlining. 2021-10-03 16:08:57 +02:00
rustc_resolve Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_save_analysis Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_serialize Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_session Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_span Auto merge of #88175 - camsteffen:let-desugar-span, r=Manishearth 2021-10-03 21:44:10 +00:00
rustc_symbol_mangling Remove re-export. 2021-10-03 16:08:54 +02:00
rustc_target Remove various unused feature gates 2021-10-02 19:09:18 +02:00
rustc_trait_selection Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister 2021-10-05 09:45:11 +00:00
rustc_traits Improve cause information for NLL higher-ranked errors 2021-09-27 10:23:45 -05:00
rustc_ty_utils Remove various unused feature gates 2021-10-02 19:09:18 +02:00
rustc_type_ir Migrate to 2021 2021-09-20 22:21:42 -04:00
rustc_typeck Rollup merge of #88706 - ThePuzzlemaker:issue-88609, r=jackh726 2021-10-05 12:52:41 -07:00