-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Consider implementing "two-dimensional" index for ty::substs #13564
Labels
Comments
@edwardw thanks, I couldn't find this issue when I searched for it. :) |
nikomatsakis
added a commit
that referenced
this issue
Jun 4, 2014
parameters This involves numerous substeps: 1. Treat Self same as any other parameter. 2. No longer compute offsets for method parameters. 3. Store all generic types (both trait/impl and method) with a method, eliminating odd discrepancies. 4. Stop doing unspeakable things to static methods and instead just use the natural types, now that we can easily add the type parameters from trait into the method's polytype. 5. No doubt some more. It was hard to separate these into distinct commits. Fixes #13564
nikomatsakis
added a commit
to nikomatsakis/rust
that referenced
this issue
Jun 7, 2014
parameters This involves numerous substeps: 1. Treat Self same as any other parameter. 2. No longer compute offsets for method parameters. 3. Store all generic types (both trait/impl and method) with a method, eliminating odd discrepancies. 4. Stop doing unspeakable things to static methods and instead just use the natural types, now that we can easily add the type parameters from trait into the method's polytype. 5. No doubt some more. It was hard to separate these into distinct commits. Fixes rust-lang#13564
flip1995
pushed a commit
to flip1995/rust
that referenced
this issue
Nov 7, 2024
…blyxyas Stop linting manual_bits in any macro invoke Closes rust-lang#13563. changelog: [`manual_bits`] No longer lints in macro-generated code
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
One core data structure of
rustc
isty::substs
:And,
ty::ty_param
andty::ReEarlyBound
variants ofty::t
andty::Region
have indexes in them:These indexes are meant to distinguish type and lifetime parameters originated from trait, implementation and method bounds. In order to do so, they are monotonic so merging them from different bounds involves messy index manipulation, such as #13503.
@nikomatsakis in IRC:
The text was updated successfully, but these errors were encountered: