-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Track bound types like bound regions #107486
Conversation
@@ -370,7 +370,7 @@ impl<'tcx> LowerInto<'tcx, chalk_ir::Ty<RustInterner<'tcx>>> for Ty<'tcx> { | |||
ty::Placeholder(_placeholder) => { | |||
chalk_ir::TyKind::Placeholder(chalk_ir::PlaceholderIndex { | |||
ui: chalk_ir::UniverseIndex { counter: _placeholder.universe.as_usize() }, | |||
idx: _placeholder.name.as_usize(), | |||
idx: _placeholder.name.expect_anon() as usize, |
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.
I'm pretty sure that due to canonicalization, this will never be triggered.
In any case, I'm happpy with not having chalk support for bound types 😬 -- we also treat RePlaceholder very strangely below (always giving it an idx: 0
)
fec937e
to
0e98a16
Compare
@bors r+ rollup Except for the chalk use cases |
…, r=oli-obk Track bound types like bound regions When we instantiate bound types into placeholder types, we throw away the names for some reason. These names are particularly useful for error reporting once we have `for<T>` binders. r? types
…, r=oli-obk Track bound types like bound regions When we instantiate bound types into placeholder types, we throw away the names for some reason. These names are particularly useful for error reporting once we have `for<T>` binders. r? types
…llaumeGomez Rollup of 12 pull requests Successful merges: - rust-lang#106898 (Include both md and yaml ICE ticket templates) - rust-lang#107331 (Clean up eslint annotations and remove unused JS function) - rust-lang#107348 (small refactor to new projection code) - rust-lang#107354 (rustdoc: update Source Serif 4 from 4.004 to 4.005) - rust-lang#107412 (avoid needless checks) - rust-lang#107467 (Improve enum checks) - rust-lang#107486 (Track bound types like bound regions) - rust-lang#107491 (rustdoc: remove unused CSS from `.setting-check`) - rust-lang#107508 (`Edition` micro refactor) - rust-lang#107525 (PointeeInfo is advisory only) - rust-lang#107527 (rustdoc: stop making unstable items transparent) - rust-lang#107535 (Replace unwrap with ? in TcpListener doc) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
When we instantiate bound types into placeholder types, we throw away the names for some reason. These names are particularly useful for error reporting once we have
for<T>
binders.r? types