If input.parse::<BinOp>() is Ok, then input.peek(Token![=]) && !input.peek(Token![==]) is known to be false, input.peek(Token![..]) is known to be false, and input.peek(Token![as]) is known to be false, regardless of the precedences involved.
If input.parse::<BinOp>() is Err, then !input.peek(Token![==]) is known to be true.
If
input.parse::<BinOp>()
is Ok, theninput.peek(Token![=]) && !input.peek(Token![==])
is known to be false,input.peek(Token![..])
is known to be false, andinput.peek(Token![as])
is known to be false, regardless of the precedences involved.If
input.parse::<BinOp>()
is Err, then!input.peek(Token![==])
is known to be true.