-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Now that we have a place to store diagnostics, let's add warnings/errors for all of the possible resolution failures. Things like:
- Something was a module and then became a class (Provide resolution diagnostics #474)
- A class declares two different parents in its definitions (Provide resolution diagnostics #474)
- A class or module contains a cyclic dependency (e.g.: a class that inherits from itself) (Provide resolution diagnostics #474)
- Ambiguous definitions due to parent scope resolution
- Tried to include/prepend a class or inherit from a module (Provide resolution diagnostics #474)
- Privacy violations for accessing private constants outside of their namespace
- Class variables definitions at the top level (crashes in the runtime)
As part of this work, I would really love for us to design Rust-like help messages that assist the developer in understand why the diagnostic exists. Maybe something like an expanded description, with examples and information that can be used to better understand what the error is saying.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels