Concurrent assignments (assignments outside of processes) should be complete to avoid undesired latch inference. All
select assignments should end with a when others clause and conditional assignments with an
else clause.
f <= a when a = '1'; -- Noncompliant: No "else" with a select g <= '0' when '0'; -- Noncompliant: No "when others"
f <= a when a = '1' else b; with a select g <= '0' when '0', '1' when others;