-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Possibly merge resolve_definition_of_name_in_module with resolve_name_in_module #4952
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
Comments
Still relevant |
Triage bump. |
Still there. |
I looked into this, it seems less trivial than I imagined, because the functions don't seem to do the same thing or return the same types (or at least, I don't know enough to recognize the similarities). |
There's a whole host of duplication in |
Replace `TypeNsDef` and `ValueNsDef` with a more general type `NsDef`. Define a newtype `NameBinding` for `Rc<RefCell<Option<NsDef>>>` and refactor `NameBindings` to be a `NameBinding` for each namespace. Replace uses of `NameBindings` with `NameBinding` where only one binding is being used (in `NamespaceResult`, `Target,` etc). Refactor away `resolve_definition_of_name_in_module` and `NameDefinition`, fixing issue #4952.
Fixed by #29530 |
Don't lint various match lints when expanded by a proc-macro fixes rust-lang#4952 As always for proc-macro output this is a hack-job of a fix. It would be really nice if more proc-macro authors would set spans correctly. changelog: Don't lint various lints on proc-macro output.
…ts, r=flodiebold fix: only shift `BoundVar`s that come from outside lowering context Fixes rust-lang#13734 There are some free functions `TyLoweringContext` methods call, which do not know anything about current binders in scope. We need to shift in the `BoundVar`s in substitutions that we get from them (rust-lang#4952), but not those we get from `TyLoweringContext` methods.
As per comment in the former function in resolve.
The text was updated successfully, but these errors were encountered: