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
..
2021-09-20 22:21:42 -04:00
2021-09-20 22:21:42 -04:00
2021-09-20 22:21:42 -04:00
2021-09-20 22:21:42 -04:00
2021-10-03 16:08:50 +02:00
2021-10-03 16:08:54 +02:00
2021-10-04 02:33:33 -04:00
2021-09-20 22:21:42 -04:00
2021-09-20 22:21:42 -04:00
2021-10-03 16:08:50 +02:00
2021-09-20 22:21:42 -04:00
2021-10-01 23:17:19 +02:00
2021-09-20 22:21:42 -04:00
2021-10-03 16:08:57 +02:00
2021-09-20 22:21:42 -04:00
2021-10-03 16:08:54 +02:00
2021-09-20 22:21:42 -04:00