sensorial-systems / ligen

Apache License 2.0
19 stars 3 forks source link

Implementation block only gets parsed if its path only refer to the type identifier in the same module #83

Closed notdanilo closed 1 year ago

notdanilo commented 3 years ago

Implementation block only gets parsed if its path only refer to the type identifier (just the identifier, no other path segments) in the same module.

This is a deep design issue.

  1. Implementation block shouldn't be exposed in the IR because it's a Rust construct.
  2. We need a fully built IR representation to be able to use the absolute path finding mechanism, which means that the implementation blocks should be introduced in a second parse pass after all the type definitions are parsed in the first pass.
notdanilo commented 1 year ago

This issue is old and confusing. I will close it since it will probably arise again when refactoring the IR to make it less Rusty.