Skip to content

[BUG] No warning reported when a function/procedure has been declared but not defined yet in protected type #381

Open
@nselvara

Description

@nselvara

Bug description:

Hi there,
Another day, another VHDL LS bug 😅

Currently, no warning is reported when a function or procedure is declared but not defined inside a protected type. This should ideally trigger a diagnostic, since such declarations are incomplete and can break tools that rely on fully defined protected types.

This may lead to situations where the LSP assumes the protected type is valid, but simulation or synthesis tools will later reject it - defeating the purpose of early linting and validation.

Thanks again for your awesome work!


Minimal Reproducible Example (MRE):

library ieee;
use ieee.std_logic_1164.all;

package my_pkg is
    type my_protected_type is protected
        procedure do_something;
    end protected my_protected_type;
end package my_pkg;

package body my_pkg is
    type my_protected_type is protected body
        -- Missing definition of 'do_something'
        -- This should raise a warning or error
    end protected body my_protected_type;
end package body my_pkg;

Expected:
A warning or error like:

Procedure 'do_something' declared in protected type but not defined in protected body. vhdl ls(missing_in_sensitivity_list)

Actual:
No diagnostics at all - VHDL LS considers the file clean.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions