{"push_id":2405736123,"size":2,"distinct_size":2,"ref":"refs/heads/issue-46541-impl-trait-hidden-lifetimes","head":"a347f30125d68714c9a1551b0c7d2409ec7728a9","before":"9936463983af035e31db336e4dd2b02cd3529c5f","commits":[{"sha":"efa04e4733709b2d76b9e50f9b9e2da8439e91a2","author":{"name":"Niko Matsakis","email":"aa30189ba4dad768268e0d8a2ae502b7d4faf4d2@alum.mit.edu"},"message":"report an error if we see an unexpected lifetime in impl Trait\n\nBut leave closure substs alone.","distinct":true,"url":"https://api.github.com/repos/nikomatsakis/rust/commits/efa04e4733709b2d76b9e50f9b9e2da8439e91a2"},{"sha":"a347f30125d68714c9a1551b0c7d2409ec7728a9","author":{"name":"Niko Matsakis","email":"aa30189ba4dad768268e0d8a2ae502b7d4faf4d2@alum.mit.edu"},"message":"use subtyping when we create a closure instead of for upvar types\n\nWe used to make the upvar types in the closure `==` but that was\nstronger than we needed. Subtyping suffices, since we are copying the\nupvar value into the closure field. This in turn allows us to infer\nsmaller lifetimes in captured values in some cases (like the example\nhere), avoiding errors.","distinct":true,"url":"https://api.github.com/repos/nikomatsakis/rust/commits/a347f30125d68714c9a1551b0c7d2409ec7728a9"}]}
{"actor":{"display_login":"nikomatsakis"}}