Ensure that the return type of a function is Sized

While no real rvalue of an unsized type can exist, a diverging function
can still "return" a value of such a type, which causes an ICE.

Fixes #18107.
auto merge of #18142 : arielb1/rust/return-type-sized, r=eddyb

Fixes #18107 

r? @eddyb