&for<'a> Tr<'a> + Send is parsed as &(for<'a> Tr<'a> + Send) while RFC 438 tells that it should be parsed as (&for<'a> Tr<'a>) + Send and therefore be invalid.
Another example: Fn() -> for<'a> Tr<'a> + Send is parsed as Fn() -> (for<'a> Tr<'a> + Send) instead of (Fn() -> for<'a> Tr<'a>) + Send.
cc #39158 (comment)
&for<'a> Tr<'a> + Sendis parsed as&(for<'a> Tr<'a> + Send)while RFC 438 tells that it should be parsed as(&for<'a> Tr<'a>) + Sendand therefore be invalid.Another example:
Fn() -> for<'a> Tr<'a> + Sendis parsed asFn() -> (for<'a> Tr<'a> + Send)instead of(Fn() -> for<'a> Tr<'a>) + Send.cc #39158 (comment)