Why is this an issue?

Internal tristates should not be used. Tristate usage is only allowed in top-level entity.

How to fix it

Code examples

Noncompliant code example

architecture a of e is
begin
  x <= a when (en = '0') else '1';
  y <= b when (en = '0') else 'Z'; -- Noncompliant
  z <= c when (en = '0') else "ZZZZ"; -- Noncompliant
end;