Usage of Var

In reply to dave_59:

Yes, thank for this additional distinction.

This bug “logic a = b” is difficult to debug, but it is flagged by some linters.

However at least one linter (I think it is from Synopsys) has another bug of its own.

If you write:

wire a = b; // OK
logic a = b; // ERROR, I agree
wire signed [7:0] a = b; // OK

So far so good. But:

typedef logic signed [7:0] abc;
abc a = b; // ERROR, I agree
wire abc a = b; // Also ERROR - it should not be an error

The last thing is I believe a bug in linter.