Bit Manipulation - Single Number III (Two Singles)
In the following code snippet for finding two unique numbers, which line contains the subtle bug causing incorrect results?
```python
def findTwoSingles(nums):
xor_all = 0
for num in nums:
xor_all ^= num
set_bit = xor_all & (xor_all - 1) # Bug here
num1 = 0
num2 = 0
for num in nums:
if num & set_bit:
num1 ^= num
else:
num2 ^= num
return [num1, num2]
```
