Skip to content

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
Collaborator

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
@lcnr lcnr added the WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) label Jul 24, 2023
@compiler-errors compiler-errors deleted the next-solver-byte-pat-again branch August 11, 2023 20:10
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