One that I recently did was for iterating over possible errors of weight w in a quantum stabilizer code (for [1]). In a classical code this would just be the problem in the blog post, since there's only one type of error (bit flips). In a quantum code you have bit flips (X) but also phase flips (Z) and combination-bit-and-phase-flips (Y) all having weight 1. So the problem becomes: given ints (x, z) find the next (x2, z2) such that popcnt(x2 | z2) == popcnt(x | z).
The solution I came up with, which is likely very suboptimal, was to iterate over single-integer solutions for a given weight. Then, for each single-integer solution m, iterate over the pairs x,z where x|z == m. Here's python pseudocode for the second part:
def pair_sat_increment(x: int, z: int, m: int) -> Tuple[int, int]:
"""Returns the next (x, z) such that x | z == m."""
inc = x & z
up = ~inc
inc |= ~m
inc += 1
inc &= m
up &= inc
z &= inc | ~x
z ^= x & up
x ^= up
return x, z
[1]: https://github.com/quantumlib/Stim/issues/397