&= is Bitwise AND assigning the result to the lhs( a&=b => a=a&b). (like +=)
It will perform a logical AND and assign the result to possible.
Due to Operator precedence the expression will be like: possible &= (k == ts)
.
Which means that it will evaulate (k == ts)
resulting in a boolean, make a logical and with possible
, store it in possible
and return it as a result.