Normalize main return type during mono item collection & codegen
The issue can be observed with `-Zprint-mono-items=lazy` in:
```rust
#![feature(termination_trait_lib)]
fn main() -> impl std::process::Termination { }
```
```
BEFORE: MONO_ITEM fn std::rt::lang_start::<impl std::process::Termination> ````@@```` t.93933fa2-cgu.2[External]
AFTER: MONO_ITEM fn std::rt::lang_start::<()> ````@@```` t.df56e625-cgu.1[External]
```
|
||
|---|---|---|
| .. | ||
| back | ||
| coverageinfo | ||
| debuginfo | ||
| mir | ||
| traits | ||
| base.rs | ||
| common.rs | ||
| glue.rs | ||
| lib.rs | ||
| meth.rs | ||
| mono_item.rs | ||
| target_features.rs | ||