package repro_pkg is
  function "<" (a, b : natural) return bit;
end repro_pkg;

package body repro_pkg is
  function "<" (a, b : natural) return bit is
  begin
    if boolean'(a < b) then
      return '1';
    else
      return '0';
    end if;
  end "<";
end repro_pkg;

use work.repro_pkg.all;
entity repro is
end;

architecture behav of repro is
  signal n1, n2 : natural;
begin
  --  No crash: this is a vhdl expression.
  --  assert n1 < n2;

  --  No crash: this is an 'or' property
  --  assert n1 < n2 or n2 < n1;

  --  Crash: this is a vhdl expression
  assert (n1 < n2) or (n2 < n1);
end;