In SystemVerilog, always_comb blocks must always specify the value of all the signals within them for all possible case branches to avoid latches.
However, are these latches generated if one of those variables is assigned to its current value?
In other words, having something like:
always_comb begin
case (cs)
2'b00: {a, b} = {some_signal, 0};
2'b01: {a, b} = (a, 1};
2'b10: {a, b} = {0, 0};
endcase
end
Will the above generate a latch because the state 01 assigns a to its previous value?

aand the lack of an output forcs=11results in latches for bothaandb. The block explicitly defines these latches, so it becomes a matter to understand what is actually supposed to be implemented: if the module is supposed to implement storage, it probably should be implemented with FFs. \$\endgroup\$