Subsets & Combinations - Subsets Using Bitmask
Identify the subtle bug in the following recursive subset generation code snippet:
```python
def subsets(nums):
result = []
subset = []
def backtrack(index):
if index == len(nums):
result.append(subset)
return
backtrack(index + 1)
subset.append(nums[index])
backtrack(index + 1)
subset.pop()
backtrack(0)
return result
```
