Why is this an issue?

Function and task arguments should have an explicit storage type.

How to fix it

Code examples

Noncompliant code example

function automatic logic [2:0] fly(
  a, // Noncompliant: Storage type is not defined
  [2:0] b, // Noncompliant: No explicit storage type
  logic [2:0] c // Compliant
);
  ...
endfunction

Compliant solution

function automatic logic [2:0] fly(
  logic a,
  logic [2:0] b,
  logic [2:0] c
);
  ...
endfunction

Resources

Articles & blog posts