Make trait lifetime parameters early bound in static fn type.  This is related
to #5121.

Fixes #10391.
Fix test for #10391 to have pub main
auto merge of #10506 : nikomatsakis/rust/issue-10391-ICE-with-lifetimes, r=pnkfelix

Make trait lifetime parameters early bound in static fn type. Reasoning for this change is (hopefully) explained well enough in the comment, so I'll not duplicate it here. Fixes #10391.

r? @pnkfelix