Closed
Description
Spawned off from #13847: @nikomatsakis says:
My preferred fix is to remove ty_bot from the set of types and instead instantiate a fresh type variable. This may cause a slight change in the set of programs we accept, but not much of one, and it should simplify a number of bits of code that must currently consider bot, which rarely makes sense. It will require some changes to the representation here and there -- for example fn return types will need to be an enum rather just a ty::t.