rust/compiler
ThePuzzlemaker 734209ed73
Normalize assoc types when checking ret ty 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-09-06 16:30:44 -05:00
..
rustc rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_apfloat rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_arena Remove unused arena macro args 2021-08-30 13:09:38 +02:00
rustc_ast Auto merge of #88598 - estebank:type-ascription-can-die-in-a-fire, r=wesleywiser 2021-09-04 01:40:36 +00:00
rustc_ast_lowering Replace Vec by Option. 2021-09-03 23:36:22 +02:00
rustc_ast_passes Auto merge of #87114 - cjgillot:abilint, r=estebank 2021-09-02 06:06:24 +00:00
rustc_ast_pretty Add let-else to AST 2021-08-30 20:17:45 -05:00
rustc_attr Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_builtin_macros Auto merge of #88598 - estebank:type-ascription-can-die-in-a-fire, r=wesleywiser 2021-09-04 01:40:36 +00:00
rustc_codegen_cranelift Auto merge of #88499 - eddyb:layout-off, r=nagisa 2021-09-05 16:14:41 +00:00
rustc_codegen_llvm Auto merge of #88499 - eddyb:layout-off, r=nagisa 2021-09-05 16:14:41 +00:00
rustc_codegen_ssa Auto merge of #88499 - eddyb:layout-off, r=nagisa 2021-09-05 16:14:41 +00:00
rustc_data_structures Rollup merge of #88659 - est31:update_smallvec_name, r=matthewjasper 2021-09-06 12:38:55 +02:00
rustc_driver Remove print_fuel_crate field of Session 2021-09-02 12:29:11 +02:00
rustc_error_codes Update E0785.md 2021-08-30 22:18:55 -07:00
rustc_errors Auto merge of #88493 - chenyukang:fix-duplicated-diagnostic, r=estebank 2021-09-06 00:14:41 +00:00
rustc_expand Auto merge of #88598 - estebank:type-ascription-can-die-in-a-fire, r=wesleywiser 2021-09-04 01:40:36 +00:00
rustc_feature Add let_else feature gate 2021-08-30 20:18:39 -05:00
rustc_fs_util rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_graphviz rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_hir Auto merge of #88435 - cjgillot:no-walk-crate, r=Aaron1011 2021-09-05 21:40:34 +00:00
rustc_hir_pretty Remove obsolete MacroDef variant of OwnerNode 2021-08-28 00:24:30 -07:00
rustc_incremental Stop using walk_crate. 2021-09-02 19:08:58 +02:00
rustc_index Suggested changes 2021-08-27 16:21:25 -07:00
rustc_infer Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank 2021-09-03 00:23:10 +00:00
rustc_interface Auto merge of #88435 - cjgillot:no-walk-crate, r=Aaron1011 2021-09-05 21:40:34 +00:00
rustc_lexer Fix more “a”/“an” typos 2021-08-22 17:27:18 +02:00
rustc_lint Auto merge of #88435 - cjgillot:no-walk-crate, r=Aaron1011 2021-09-05 21:40:34 +00:00
rustc_lint_defs Tracking issue for UNSUPPORTED_CALLING_CONVENTIONS 2021-08-27 20:47:00 +03:00
rustc_llvm RustWrapper: adapt to LLVM change 0f45c16f2caa 2021-08-26 10:40:27 -04:00
rustc_macros Rollup merge of #86123 - Aaron1011:query-span, r=cjgillot 2021-08-19 19:30:04 +02:00
rustc_metadata Auto merge of #88538 - bjorn3:no_session_in_crate_loader, r=petrochenkov 2021-09-04 07:17:12 +00:00
rustc_middle Auto merge of #88493 - chenyukang:fix-duplicated-diagnostic, r=estebank 2021-09-06 00:14:41 +00:00
rustc_mir Auto merge of #88499 - eddyb:layout-off, r=nagisa 2021-09-05 16:14:41 +00:00
rustc_mir_build Change scope of temporaries in match guards 2021-09-05 18:50:55 +01:00
rustc_parse Rollup merge of #88257 - estebank:invalid-attr-error, r=oli-obk 2021-09-05 10:32:20 +02:00
rustc_parse_format rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_passes Auto merge of #88435 - cjgillot:no-walk-crate, r=Aaron1011 2021-09-05 21:40:34 +00:00
rustc_plugin_impl Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_privacy Rename walk_crate. 2021-09-02 19:23:11 +02:00
rustc_query_impl Add query own_existential_vtable_entries 2021-09-05 18:13:32 +01:00
rustc_query_system Remove redundant Span in QueryJobInfo 2021-09-01 11:10:58 -07:00
rustc_resolve Auto merge of #88598 - estebank:type-ascription-can-die-in-a-fire, r=wesleywiser 2021-09-04 01:40:36 +00:00
rustc_save_analysis Rename walk_crate. 2021-09-02 19:23:11 +02:00
rustc_serialize Fix more “a”/“an” typos 2021-08-22 16:35:29 +02:00
rustc_session Add explanation for ctfe_backtrace lock 2021-09-02 12:29:12 +02:00
rustc_span Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank 2021-09-03 00:23:10 +00:00
rustc_symbol_mangling Rollup merge of #85534 - csmoe:demagnle-assert, r=michaelwoerister 2021-08-29 16:25:28 +02:00
rustc_target Auto merge of #88499 - eddyb:layout-off, r=nagisa 2021-09-05 16:14:41 +00:00
rustc_trait_selection Add query own_existential_vtable_entries 2021-09-05 18:13:32 +01:00
rustc_traits Auto merge of #88371 - Manishearth:rollup-pkkjsme, r=Manishearth 2021-08-27 01:07:17 +00:00
rustc_ty_utils Auto merge of #88371 - Manishearth:rollup-pkkjsme, r=Manishearth 2021-08-27 01:07:17 +00:00
rustc_type_ir update TypeFlags to deal with missing ct substs 2021-08-26 11:00:30 +02:00
rustc_typeck Normalize assoc types when checking ret ty of main 2021-09-06 16:30:44 -05:00