Skip to content

Conversation

estebank
Copy link
Contributor

error[E0308]: mismatched types
  --> $DIR/suggest-dereferencing-through-Deref.rs:13:16
   |
LL |         if let A::V1(v) = b {
   |                ^^^^^^^^   - this expression has type `&Box<A>`
   |                |
   |                expected `Box<A>`, found `A`
   |
   = note: expected struct `Box<A>`
                found enum `A`
help: consider dereferencing to access the inner value using the Deref trait
   |
LL |         if let A::V1(v) = &**b {
   |                           ~~~~

error[E0308]: mismatched types
  --> $DIR/suggest-dereferencing-through-Deref.rs:23:16
   |
LL |         if let A::V1(v) = *b {
   |                ^^^^^^^^   -- this expression has type `Box<A>`
   |                |
   |                expected `Box<A>`, found `A`
   |
   = note: expected struct `Box<A>`
                found enum `A`
help: consider dereferencing the boxed value
   |
LL |         if let A::V1(v) = **b {
   |                           ~~~

Fix #68628

```
error[E0308]: mismatched types
  --> $DIR/suggest-dereferencing-through-Deref.rs:13:16
   |
LL |         if let A::V1(v) = b {
   |                ^^^^^^^^   - this expression has type `&Box<A>`
   |                |
   |                expected `Box<A>`, found `A`
   |
   = note: expected struct `Box<A>`
                found enum `A`
help: consider dereferencing to access the inner value using the Deref trait
   |
LL |         if let A::V1(v) = &**b {
   |                           ~~~~

error[E0308]: mismatched types
  --> $DIR/suggest-dereferencing-through-Deref.rs:23:16
   |
LL |         if let A::V1(v) = *b {
   |                ^^^^^^^^   -- this expression has type `Box<A>`
   |                |
   |                expected `Box<A>`, found `A`
   |
   = note: expected struct `Box<A>`
                found enum `A`
help: consider dereferencing the boxed value
   |
LL |         if let A::V1(v) = **b {
   |                           ~~~
```

Fix rust-lang#68628
@rustbot
Copy link
Collaborator

rustbot commented Dec 28, 2024

r? @BoxyUwU

rustbot has assigned @BoxyUwU.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@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 Dec 28, 2024
@rust-log-analyzer
Copy link
Collaborator

The job mingw-check-tidy failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/

# NOTE: intentionally uses python2 for x.py so we can test it still works.
# validate-toolstate only runs in our CI, so it's ok for it to only support python3.
ENV SCRIPT TIDY_PRINT_DIFF=1 python2.7 ../x.py test \
           --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
#    pip-compile --allow-unsafe --generate-hashes reuse-requirements.in
---
#13 3.090 Building wheels for collected packages: reuse
#13 3.092   Building wheel for reuse (pyproject.toml): started
#13 3.346   Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.347   Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132720 sha256=026f3bb0f1aa8090b861fd0a0939cb1a782396d84c8aab7875096557d637a0f6
#13 3.347   Stored in directory: /tmp/pip-ephem-wheel-cache-q9dwwa8o/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 3.350 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.768 Successfully installed attrs-23.2.0 binaryornot-0.4.4 boolean-py-4.0 chardet-5.2.0 jinja2-3.1.4 license-expression-30.3.0 markupsafe-2.1.5 python-debian-0.1.49 reuse-4.0.3 tomlkit-0.13.0
#13 3.768 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#13 4.318 Collecting virtualenv
#13 4.318 Collecting virtualenv
#13 4.356   Downloading virtualenv-20.28.0-py3-none-any.whl (4.3 MB)
#13 4.424      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 65.0 MB/s eta 0:00:00
#13 4.482 Collecting filelock<4,>=3.12.2
#13 4.485   Downloading filelock-3.16.1-py3-none-any.whl (16 kB)
#13 4.506 Collecting distlib<1,>=0.3.7
#13 4.510   Downloading distlib-0.3.9-py2.py3-none-any.whl (468 kB)
#13 4.518      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 469.0/469.0 KB 76.5 MB/s eta 0:00:00
#13 4.551 Collecting platformdirs<5,>=3.9.1
#13 4.555   Downloading platformdirs-4.3.6-py3-none-any.whl (18 kB)
#13 4.638 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.826 Successfully installed distlib-0.3.9 filelock-3.16.1 platformdirs-4.3.6 virtualenv-20.28.0
#13 DONE 4.9s

#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k:      124864 kB
DirectMap2M:     6166528 kB
DirectMap1G:    12582912 kB
##[endgroup]
Executing TIDY_PRINT_DIFF=1 python2.7 ../x.py test            --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
+ TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
WARN: currently no CI rustc builds have rustc debug assertions enabled. Please either set `rust.debug-assertions` to `false` if you want to use download CI rustc or set `rust.download-rustc` to `false`.
WARN: `rust.debug-assertions = true` will prevent downloading CI rustc as alt CI rustc is not currently built with debug assertions.
---
fmt check
fmt: checked 5747 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/tests/ui/pattern/suggest-dereferencing-through-Deref.rs:11: trailing whitespace
##[error]tidy error: /checkout/tests/ui/pattern/suggest-dereferencing-through-Deref.rs:21: trailing whitespace
removing old virtual environment
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10'
Requirement already satisfied: pip in ./build/venv/lib/python3.10/site-packages (24.3.1)
All checks passed!
checking C++ file formatting
some tidy checks failed
some tidy checks failed
Command has failed. Rerun with -v to see more details.
  local time: Sat Dec 28 19:39:45 UTC 2024
  network time: Sat, 28 Dec 2024 19:39:46 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@compiler-errors
Copy link
Member

This was fixed in #132939. I think the tests in that PR are sufficient; feel free to reopen this PR if you disagree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wrong prompt when failed to pattern match boxed enum type
5 participants