Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code style improvements and embellishments to the structure of the code base #118

Open
2 of 8 tasks
fmease opened this issue Dec 23, 2021 · 0 comments
Open
2 of 8 tasks
Labels
T-enhancement Type: Enhancement

Comments

@fmease
Copy link
Owner

fmease commented Dec 23, 2021

  • move the branches of those large match-statements in the lowerer, the resolver and the typer into their own separate methods
  • go through all comments marked @Bug, @Task, @Temporary and so on (this not only includes Rust files but also UI test files!) and consider opening an issue per item (if not already existent and if deemed useful enough); add a permalink back to the code if the location is the true source of the bug
    • separate issue for unimplemented attributes (unstable, deprecated, if, total, partial, …)
  • migrate all files in bugs/ into their own issue (if they don't exist already) and delete the folder (via 9d0bc74)
  • check which public items are actually used in main.rs and make all the other ones in the library lushui pub(crate)! (via c2b176a)
  • make attributes::Target a struct/enum instead of a bitset and remove the bitfields dependency
    • make the system more flexible: allow custom messages for e.g. @public on constructors (where we mention @transparent etc.) and @location on inline modules (clearer message / note)
  • heavily improve the API of attribute arguments: we should move their parsing/deserialization logic into the AST module / or a submodule thereof and add UI tests for them (create internal testing attributes if necessary to test more cases)
@fmease fmease added the T-enhancement Type: Enhancement label Dec 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-enhancement Type: Enhancement
Projects
None yet
Development

No branches or pull requests

1 participant