-
Notifications
You must be signed in to change notification settings - Fork 219
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
feat(traits): Type checking for Trait impl method signatures #2652
feat(traits): Type checking for Trait impl method signatures #2652
Conversation
d270dde
to
5f4539a
Compare
5f4539a
to
40052a9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks mostly good. Can you move the type checking portion to the type checking pass rather than include it during name resolution?
tooling/nargo_cli/tests/compile_failure/dup_trait_implementation/src/main.nr
Show resolved
Hide resolved
Co-authored-by: jfecher <jfecher11@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can save moving the type checking to a later PR when it is easier to do so, as you mentioned. 👍
* master: feat(traits): Type checking for Trait impl method signatures (#2652) chore: split 9_conditional test case and remove 8_integration (#2751) chore(github): Add "Idea Action Plan" Issue template (#2736) feat(aztec-noir): abstract storage (#2750) feat: signed arithmetic (#2748) chore: encapsulate abstraction leaks from `bb` into new crate (#2747) feat: Variable liveness analysis for brillig (#2715) chore: noirjs integration testing (#2744) chore: Add rust-toolchain file & adapt nix for changes (#2686) chore: wrap backend info response in a struct instead of boxed closure (#2737) fix: check for literal overflows in expressions (#2742) fix: nightly js test (#2740) fix: keep the correct type for bitshift (#2739) chore: Make new daily nightly releases be pre-releases and non latest (#2735) chore: disabling display location section (#2118) chore: add a workflow that tracks acvm version for integration tests (#2700) feat: Save nightly build in github releases with date tags (#2416) chore: Add unified linting setup for JS code and enforce in CI (#2728)
Description
Summary
This is further work on traits (#2568).
Self
, a type variable is added in the Trait struct, which has to get bound to the concrete self type before we do the signature check mentioned aboveDocumentation
This PR requires documentation updates when merged.
Additional Context
PR Checklist*
cargo fmt
on default settings.