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

Structurally normalize again for byte string lit pat checking #113399

Merged
merged 1 commit into from
Jul 8, 2023

Conversation

compiler-errors
Copy link
Member

We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used1 to call structurally_resolve_type, which errors for type vars2, but lcnr added try_structurally_resolve_type3 in the mean time, which is the right thing to use here since it's totally opportunistic.

Fixes rust-lang/trait-system-refactor-initiative#38

Footnotes

  1. Structurally resolve pointee in check_pat_lit #112428

  2. Type inference regression #112993

  3. implement deep normalization via the new solver #113086

@rustbot
Copy link
Collaborator

rustbot commented Jul 6, 2023

r? @wesleywiser

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 6, 2023
@rust-log-analyzer

This comment has been minimized.

@rust-cloud-vms rust-cloud-vms bot force-pushed the next-solver-byte-pat-again branch from 64d94f4 to 906d2b1 Compare July 6, 2023 07:11
@oli-obk
Copy link
Contributor

oli-obk commented Jul 7, 2023

r? @oli-obk
@bors r+

@bors
Copy link
Contributor

bors commented Jul 7, 2023

📌 Commit 906d2b1 has been approved by oli-obk

It is now in the queue for this repository.

@rustbot rustbot assigned oli-obk and unassigned wesleywiser Jul 7, 2023
@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 7, 2023
@oli-obk
Copy link
Contributor

oli-obk commented Jul 7, 2023

@bors rollup

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 7, 2023
…at-again, r=oli-obk

Structurally normalize again for byte string lit pat checking

We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used[^1] to call `structurally_resolve_type`, which errors for type vars[^2], but lcnr added `try_structurally_resolve_type`[^3] in the mean time, which is the right thing to use here since it's totally opportunistic.

Fixes rust-lang/trait-system-refactor-initiative#38

[^1]: rust-lang#112428
[^2]: rust-lang#112993
[^3]: rust-lang#113086
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 7, 2023
…at-again, r=oli-obk

Structurally normalize again for byte string lit pat checking

We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used[^1] to call `structurally_resolve_type`, which errors for type vars[^2], but lcnr added `try_structurally_resolve_type`[^3] in the mean time, which is the right thing to use here since it's totally opportunistic.

Fixes rust-lang/trait-system-refactor-initiative#38

[^1]: rust-lang#112428
[^2]: rust-lang#112993
[^3]: rust-lang#113086
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 7, 2023
…at-again, r=oli-obk

Structurally normalize again for byte string lit pat checking

We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used[^1] to call `structurally_resolve_type`, which errors for type vars[^2], but lcnr added `try_structurally_resolve_type`[^3] in the mean time, which is the right thing to use here since it's totally opportunistic.

Fixes rust-lang/trait-system-refactor-initiative#38

[^1]: rust-lang#112428
[^2]: rust-lang#112993
[^3]: rust-lang#113086
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jul 8, 2023
…at-again, r=oli-obk

Structurally normalize again for byte string lit pat checking

We need to structurally normalize the pointee of a match scrutinee when trying to match byte string patterns -- we used[^1] to call `structurally_resolve_type`, which errors for type vars[^2], but lcnr added `try_structurally_resolve_type`[^3] in the mean time, which is the right thing to use here since it's totally opportunistic.

Fixes rust-lang/trait-system-refactor-initiative#38

[^1]: rust-lang#112428
[^2]: rust-lang#112993
[^3]: rust-lang#113086
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 8, 2023
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#112931 (Enable zlib in LLVM on aarch64-apple-darwin)
 - rust-lang#113158 (tests: unset `RUSTC_LOG_COLOR` in a test)
 - rust-lang#113173 (CI: include workflow name in concurrency group)
 - rust-lang#113335 (Reveal opaques in new solver)
 - rust-lang#113390 (CGU formation tweaks)
 - rust-lang#113399 (Structurally normalize again for byte string lit pat checking)
 - rust-lang#113412 (Add basic types to SMIR)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 8dc9461 into rust-lang:master Jul 8, 2023
@rustbot rustbot added this to the 1.72.0 milestone Jul 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New solver needs to structurally normalize when checking byte string patterns without failure
7 participants