PLC-lang/rusty

Improve `DataType` `SourceLocation`

Open

#1,343 opened on Oct 18, 2024

 (0 comments) (0 reactions) (0 assignees)Rust (71 forks)auto 404
buggood first issuemedium-priorityvalidation

Repository metrics

Stars
 (351 stars)
PR merge metrics
 (PR metrics pending)

Description

When parsing data-types, we include the initializer in the data-types source locations, leading to confusing error messages when converting the location to a slice:

FUNCTION main: DINT
VAR
    x: REF_TO STRING;
    y: REF_TO DINT := REF(x);
END_VAR
END_FUNCTION

error[E037]: Invalid assignment: cannot assign '__main_x' to 'REF_TO DINT := REF(x)'
  ┌─ target\demo.st:4:23
  │
4 │     y: REF_TO DINT := REF(x);
  │                       ^^^^^^ Invalid assignment: cannot assign '__main_x' to 'REF_TO DINT := REF(x)'

Contributor guide