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

Updating lints page to reflect recent changes #127504

Conversation

llamaha
Copy link

@llamaha llamaha commented Jul 9, 2024

Closes #102743

@rustbot
Copy link
Collaborator

rustbot commented Jul 9, 2024

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ehuss (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 9, 2024
@rust-log-analyzer

This comment has been minimized.


$ rustc main.rs

error[E0793]: reference to packed field is unaligned
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's not actually a future incompat lint now, it's just an error, you need a different example. search for @future_incompat in the compiler source to find examples

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Nilstrieb , I learned a lot hunting these down.

@ehuss
Copy link
Contributor

ehuss commented Jul 9, 2024

I'm not entirely sure it is a good idea to try to change this to a new lint example. The set of future-incompatible lints is constantly changing, and in a few months or years this would likely just be back where it started. It's not clear to me what kind of concern the original issue poster was having, or why they wanted to recreate the output. For me, the existing text seems pretty clear that this is just an illustrative example of what it might look like. Can you say more about why it is important to have an example that is triggered in the current compiler?

@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)
Getting action download info
Download action repository 'msys2/setup-msys2@v2.22.0' (SHA:cc11e9188b693c2b100158c3322424c4cc1dadea)
Download action repository 'actions/checkout@v4' (SHA:692973e3d937129bcbf40652eb9f2f61becf3332)
Download action repository 'actions/upload-artifact@v4' (SHA:0b2256b8c012f0828dc542b3febcab082c67f72b)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt \
    && pip3 install virtualenv
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.
# 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
---

#12 [5/8] COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
#12 DONE 0.0s

#13 [6/8] RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt     && pip3 install virtualenv
#13 0.410   Downloading binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)
#13 0.422 Collecting boolean-py==4.0
#13 0.424   Downloading boolean.py-4.0-py3-none-any.whl (25 kB)
#13 0.439 Collecting chardet==5.1.0
---
#13 3.419 Building wheels for collected packages: reuse
#13 3.420   Building wheel for reuse (pyproject.toml): started
#13 3.744   Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.745   Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=181117 sha256=f5f58750481f69515c2c0d1d503daf565e2565c370d07fc6aeb95fe3498b4269
#13 3.745   Stored in directory: /tmp/pip-ephem-wheel-cache-r1qa9nic/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
#13 3.748 Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
#13 3.772   Attempting uninstall: setuptools
#13 3.772     Found existing installation: setuptools 59.6.0
#13 3.774     Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
---
#13 5.016   Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 5.125      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 53.7 MB/s eta 0:00:00
#13 5.179 Collecting filelock<4,>=3.12.2
#13 5.185   Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 5.201 Collecting distlib<1,>=0.3.7
#13 5.205   Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 5.212      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 82.1 MB/s eta 0:00:00
#13 5.243 Collecting platformdirs<5,>=3.9.1
#13 5.247   Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 5.336 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 5.509 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 5.6s

#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k:      188352 kB
DirectMap2M:     8200192 kB
DirectMap1G:    10485760 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.03s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/6be96e3865c4e59028fd50396f7a46c3498ce91d/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-6be96e3865c4e59028fd50396f7a46c3498ce91d-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
---
fmt check
fmt: checked 5239 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/src/doc/rustc/src/lints/index.md:73: 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.1)
  Downloading pip-24.1.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 84.2 MB/s eta 0:00:00
Installing collected packages: pip
---
checking C++ file formatting
some tidy checks failed


Command BootstrapCommand { command: LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/lib" RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-tidy" "/checkout" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "/checkout/obj/build" "4" "--extra-checks=py:lint,cpp:fmt", failure_behavior: DelayFail, stdout: Print, stderr: Print, run_always: false } did not execute successfully.

Build completed unsuccessfully in 0:01:14
  local time: Tue Jul  9 22:46:54 UTC 2024
  network time: Tue, 09 Jul 2024 22:46:54 GMT

@llamaha
Copy link
Author

llamaha commented Jul 9, 2024

@ehuss I submitted a change before reading your comment.

That makes total sense, it looks fine to me as is.

I have just tested it myself and can see that unaligned references is already a hard error anyway:

warning: lint unaligned_references has been removed: converted into hard error, see issue #82523 #82523 for more information

So I will leave this as is and close out this PR without merge.

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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Future-Incompatible Lint - Improve Example
5 participants