rust
rust copied to clipboard
Introduce `default_field_values` feature
Initial implementation of #[feature(default_field_values], proposed in https://github.com/rust-lang/rfcs/pull/3681.
We now parse const expressions after a = in a field definition, to specify a struct field default value.
We now allow Struct { field, .. } where there's no base after ...
#[derive(Default)] now uses the default value if present, continuing to use Default::default() if not.
#[derive(Debug)]
pub struct S;
#[derive(Debug, Default)]
pub struct Foo {
pub bar: S = S,
pub baz: i32 = 42 + 3,
}
fn main () {
let x = Foo { .. };
let y = Foo::default();
let z = Foo { baz: 1, .. };
assert_eq!(45, x.baz);
assert_eq!(45, y.baz);
assert_eq!(1, z.baz);
}
r? @cjgillot
rustbot has assigned @cjgillot. 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
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 2.689 Building wheels for collected packages: reuse
#13 2.690 Building wheel for reuse (pyproject.toml): started
#13 2.934 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.935 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 2.935 Stored in directory: /tmp/pip-ephem-wheel-cache-dx2mn4hr/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.938 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.345 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.345 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 3.857 Collecting virtualenv
#13 3.857 Collecting virtualenv
#13 3.895 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 3.977 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 71.7 MB/s eta 0:00:00
#13 4.033 Collecting filelock<4,>=3.12.2
#13 4.036 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.052 Collecting distlib<1,>=0.3.7
#13 4.055 Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 4.062 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 92.4 MB/s eta 0:00:00
#13 4.090 Collecting platformdirs<5,>=3.9.1
#13 4.093 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.172 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.359 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.4s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 194496 kB
DirectMap2M: 8194048 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.04s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/f167efad2f51088d86180ee89177b3d7c9e7c2f5/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-f167efad2f51088d86180ee89177b3d7c9e7c2f5-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 64.8 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sat Aug 24 17:32:11 UTC 2024
network time: Sat, 24 Aug 2024 17:32:11 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
It just occurred to me to try how the following fails, and it Just Works™️ 😄:
pub struct Foo {
pub baz: i32 = Self::X,
}
impl Foo {
const X: i32 = 1;
}
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 2.711 Building wheels for collected packages: reuse
#13 2.712 Building wheel for reuse (pyproject.toml): started
#13 2.962 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.963 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 2.963 Stored in directory: /tmp/pip-ephem-wheel-cache-cbfmq16n/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.966 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.354 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.354 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 3.880 Collecting virtualenv
#13 3.880 Collecting virtualenv
#13 3.916 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 3.990 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 79.7 MB/s eta 0:00:00
#13 4.046 Collecting filelock<4,>=3.12.2
#13 4.050 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.080 Collecting platformdirs<5,>=3.9.1
#13 4.083 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.102 Collecting distlib<1,>=0.3.7
#13 4.113 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 88.9 MB/s eta 0:00:00
#13 4.113 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 88.9 MB/s eta 0:00:00
#13 4.194 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.383 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.5s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 229312 kB
DirectMap2M: 10256384 kB
DirectMap1G: 8388608 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/f167efad2f51088d86180ee89177b3d7c9e7c2f5/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-f167efad2f51088d86180ee89177b3d7c9e7c2f5-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 60.9 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sat Aug 24 19:42:05 UTC 2024
network time: Sat, 24 Aug 2024 19:42:05 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.835 Building wheels for collected packages: reuse
#13 2.836 Building wheel for reuse (pyproject.toml): started
#13 3.081 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.082 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 3.082 Stored in directory: /tmp/pip-ephem-wheel-cache-152k3xft/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 3.085 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.479 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.479 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.008 Collecting virtualenv
#13 4.008 Collecting virtualenv
#13 4.057 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 4.283 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 25.4 MB/s eta 0:00:00
#13 4.326 Collecting distlib<1,>=0.3.7
#13 4.333 Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 4.344 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 51.8 MB/s eta 0:00:00
#13 4.379 Collecting platformdirs<5,>=3.9.1
#13 4.386 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.425 Collecting filelock<4,>=3.12.2
#13 4.432 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.512 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.702 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.8s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 241600 kB
DirectMap2M: 10244096 kB
DirectMap1G: 8388608 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/f167efad2f51088d86180ee89177b3d7c9e7c2f5/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-f167efad2f51088d86180ee89177b3d7c9e7c2f5-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 38.6 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sat Aug 24 20:32:10 UTC 2024
network time: Sat, 24 Aug 2024 20:32:10 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.797 Building wheels for collected packages: reuse
#13 2.799 Building wheel for reuse (pyproject.toml): started
#13 3.043 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.044 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 3.045 Stored in directory: /tmp/pip-ephem-wheel-cache-0beqewwl/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 3.047 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.439 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.439 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 3.957 Collecting virtualenv
#13 3.957 Collecting virtualenv
#13 4.009 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 4.214 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 27.9 MB/s eta 0:00:00
#13 4.269 Collecting platformdirs<5,>=3.9.1
#13 4.275 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.296 Collecting distlib<1,>=0.3.7
#13 4.312 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 58.0 MB/s eta 0:00:00
#13 4.349 Collecting filelock<4,>=3.12.2
#13 4.356 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.356 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.436 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.621 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.7s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 233408 kB
DirectMap2M: 7106560 kB
DirectMap1G: 11534336 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/f167efad2f51088d86180ee89177b3d7c9e7c2f5/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-f167efad2f51088d86180ee89177b3d7c9e7c2f5-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 57.3 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sat Aug 24 22:18:31 UTC 2024
network time: Sat, 24 Aug 2024 22:18:32 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.669 Building wheels for collected packages: reuse
#13 2.670 Building wheel for reuse (pyproject.toml): started
#13 2.916 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.918 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 2.918 Stored in directory: /tmp/pip-ephem-wheel-cache-46fnjvpm/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.920 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.310 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.310 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 3.830 Collecting virtualenv
#13 3.830 Collecting virtualenv
#13 3.868 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 3.942 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 78.6 MB/s eta 0:00:00
#13 4.002 Collecting filelock<4,>=3.12.2
#13 4.006 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.023 Collecting distlib<1,>=0.3.7
#13 4.026 Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 4.034 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 84.2 MB/s eta 0:00:00
#13 4.064 Collecting platformdirs<5,>=3.9.1
#13 4.068 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.175 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.363 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.4s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 214976 kB
DirectMap2M: 9222144 kB
DirectMap1G: 9437184 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/f167efad2f51088d86180ee89177b3d7c9e7c2f5/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-f167efad2f51088d86180ee89177b3d7c9e7c2f5-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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)
Using cached pip-24.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 43.5 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sun Aug 25 02:45:35 UTC 2024
network time: Sun, 25 Aug 2024 02:45:36 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.662 Building wheels for collected packages: reuse
#13 2.663 Building wheel for reuse (pyproject.toml): started
#13 2.907 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.908 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 2.908 Stored in directory: /tmp/pip-ephem-wheel-cache-4_d5ubal/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.911 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.297 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.297 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 3.810 Collecting virtualenv
#13 3.810 Collecting virtualenv
#13 3.848 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 3.920 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 81.4 MB/s eta 0:00:00
#13 3.959 Collecting distlib<1,>=0.3.7
#13 3.963 Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 3.971 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 84.0 MB/s eta 0:00:00
#13 4.000 Collecting platformdirs<5,>=3.9.1
#13 4.004 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.036 Collecting filelock<4,>=3.12.2
#13 4.040 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.121 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.306 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.4s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 227264 kB
DirectMap2M: 8161280 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.04s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/1a94d839be8b248b972b9e022cb940d56de72fa1/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-1a94d839be8b248b972b9e022cb940d56de72fa1-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 71.1 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sun Aug 25 18:22:05 UTC 2024
network time: Sun, 25 Aug 2024 18:22:05 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.719 Building wheels for collected packages: reuse
#13 2.720 Building wheel for reuse (pyproject.toml): started
#13 2.971 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.972 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 2.972 Stored in directory: /tmp/pip-ephem-wheel-cache-slxwpvvk/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.975 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.379 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.379 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 3.920 Collecting virtualenv
#13 3.920 Collecting virtualenv
#13 3.956 Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 4.036 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 73.4 MB/s eta 0:00:00
#13 4.094 Collecting filelock<4,>=3.12.2
#13 4.098 Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 4.128 Collecting platformdirs<5,>=3.9.1
#13 4.132 Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 4.149 Collecting distlib<1,>=0.3.7
#13 4.160 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 88.3 MB/s eta 0:00:00
#13 4.160 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 88.3 MB/s eta 0:00:00
#13 4.242 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.434 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 4.5s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 184256 kB
DirectMap2M: 7155712 kB
DirectMap1G: 11534336 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/1a94d839be8b248b972b9e022cb940d56de72fa1/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-1a94d839be8b248b972b9e022cb940d56de72fa1-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 5511 files
tidy check
tidy: Skipping binary file check, read-only filesystem
##[error]tidy error: /checkout/compiler/rustc_feature/src/unstable.rs:434: no tracking issue for feature default_field_values
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.2-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 72.2 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.2
linting python files
All checks passed!
checking C++ file formatting
some tidy checks failed
Command has failed. Rerun with -v to see more details.
local time: Sun Aug 25 20:44:05 UTC 2024
network time: Sun, 25 Aug 2024 20:44:05 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
:umbrella: The latest upstream changes (presumably #130724) made this pull request unmergeable. Please resolve the merge conflicts.
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 2.766 Building wheels for collected packages: reuse
#13 2.767 Building wheel for reuse (pyproject.toml): started
#13 3.011 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 3.012 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132715 sha256=dfa09868353292d98f811d3efdb0d54d07389e808efc71d68e3b93c514bf8bec
#13 3.013 Stored in directory: /tmp/pip-ephem-wheel-cache-r02asmc1/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 3.015 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.411 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.412 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 3.941 Collecting virtualenv
#13 3.941 Collecting virtualenv
#13 3.987 Downloading virtualenv-20.26.5-py3-none-any.whl (6.0 MB)
#13 4.195 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.0/6.0 MB 29.1 MB/s eta 0:00:00
#13 4.254 Collecting platformdirs<5,>=3.9.1
#13 4.261 Downloading platformdirs-4.3.6-py3-none-any.whl (18 kB)
#13 4.282 Collecting distlib<1,>=0.3.7
#13 4.298 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 59.7 MB/s eta 0:00:00
#13 4.337 Collecting filelock<4,>=3.12.2
#13 4.344 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)
#13 4.344 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)
#13 4.424 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.611 Successfully installed distlib-0.3.8 filelock-3.16.1 platformdirs-4.3.6 virtualenv-20.26.5
#13 DONE 4.7s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 204736 kB
DirectMap2M: 9232384 kB
DirectMap1G: 9437184 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]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/7042c269c166191cd5d8daf0409890903df7af57/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-7042c269c166191cd5d8daf0409890903df7af57-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 5587 files
tidy check
tidy: Skipping binary file check, read-only filesystem
Expected a gate test for the feature 'default_field_values'.
Hint: create a failing test file named 'tests/ui/feature-gates/feature-gate-default-field-values.rs',
with its failures due to missing usage of `#![feature(default_field_values)]`.
Hint: If you already have such a test and don't want to rename it,
you can also add a // gate-test-default_field_values line to the test file.
tidy error: Found 1 features without a gate test.
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.2)
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: Tue Sep 24 00:28:42 UTC 2024
network time: Tue, 24 Sep 2024 00:28:43 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
:umbrella: The latest upstream changes (presumably #130778) made this pull request unmergeable. Please resolve the merge conflicts.
:umbrella: The latest upstream changes (presumably #131205) made this pull request unmergeable. Please resolve the merge conflicts.
Changes to the size of AST and/or HIR nodes.
cc @nnethercote
Some changes occurred in src/tools/clippy
cc @rust-lang/clippy
The job mingw-check failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
#16 2.686 Building wheels for collected packages: reuse
#16 2.687 Building wheel for reuse (pyproject.toml): started
#16 2.930 Building wheel for reuse (pyproject.toml): finished with status 'done'
#16 2.932 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132720 sha256=026f3bb0f1aa8090b861fd0a0939cb1a782396d84c8aab7875096557d637a0f6
#16 2.932 Stored in directory: /tmp/pip-ephem-wheel-cache-k6pycal9/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#16 2.935 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#16 3.331 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
#16 3.331 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
#16 DONE 3.4s
---
|
58 | macro_rules! visit_opt {
| ---------------------- in this expansion of `visit_opt!`
...
61 | $crate::try_visit!($visitor.$method(x $(, $($extra_args,)* )?));
| ^ expected `&Ident`, found `Ident`
::: compiler/rustc_resolve/src/late.rs:1369:26
|
|
1369 | visit_opt!(self, visit_ident, *ident);
| | |
| | arguments to this method are incorrect
| in this macro invocation
|
|
note: method defined here
--> /checkout/compiler/rustc_ast/src/visit.rs:138:8
|
138 | fn visit_ident(&mut self, _ident: &'ast Ident) -> Self::Result {
For more information about this error, try `rustc --explain E0308`.
error: could not compile `rustc_resolve` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged. Otherwise, you can ignore this comment.
The job x86_64-gnu-llvm-18 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
------
> importing cache manifest from ghcr.io/rust-lang/rust-ci-cache:c32c805632780b5c1de330e3f44561b336c2efe163bc0990acb392390157a8e1d9f855d75914a239aa40c49d77f4a837247d05d2f8d46f554b98e1f46712a3e3:
------
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-18/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Downloaded boml v0.3.1
Compiling boml v0.3.1
Compiling y v0.1.0 (/checkout/compiler/rustc_codegen_gcc/build_system)
Finished `release` profile [optimized] target(s) in 3.75s
Running `/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-codegen/x86_64-unknown-linux-gnu/release/y test --use-system-gcc --use-backend gcc --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/cg_gcc --release --mini-tests --std-tests`
Using system GCC
[BUILD] example
[AOT] mini_core_hello_world
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/cg_gcc/mini_core_hello_world
abc
---
error[E0658]: default values on `struct` fields aren't supported
##[error] --> lint_example.rs:4:12
|
4 | bar: u8 = 130 + 130, // `260` doesn't fit in `u8`
|
= note: see issue #132162 <https://github.com/rust-lang/rust/issues/132162> for more information
= help: add `#![feature(default_field_values)]` to the crate attributes to enable
= note: this compiler was built on 2024-10-31; consider upgrading it if it is out of date
---
error[E0658]: default values on `struct` fields aren't supported
##[error] --> lint_example.rs:4:12
|
4 | bar: u8 = 130 + 130, // `260` doesn't fit in `u8`
|
= note: see issue #132162 <https://github.com/rust-lang/rust/issues/132162> for more information
= help: add `#![feature(default_field_values)]` to the crate attributes to enable
= note: this compiler was built on 2024-10-31; consider upgrading it if it is out of date
---
For more information about this error, try `rustc --explain E0658`.
This error was generated by the lint-docs tool.
This tool extracts documentation for lints from the source code and places
them in the rustc book. See the declare_lint! documentation
https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint_defs/macro.declare_lint.html
To re-run these tests, run: ./x.py test --keep-stage=0 src/tools/lint-docs
The --keep-stage flag should be used if you have already built the compiler
Command has failed. Rerun with -v to see more details.
local time: Fri Nov 1 00:46:54 UTC 2024
network time: Fri, 01 Nov 2024 00:46:54 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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 2.737 Building wheels for collected packages: reuse
#13 2.738 Building wheel for reuse (pyproject.toml): started
#13 2.984 Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 2.985 Created wheel for reuse: filename=reuse-4.0.3-cp310-cp310-manylinux_2_35_x86_64.whl size=132720 sha256=026f3bb0f1aa8090b861fd0a0939cb1a782396d84c8aab7875096557d637a0f6
#13 2.985 Stored in directory: /tmp/pip-ephem-wheel-cache-a2xf5a7l/wheels/3d/8d/0a/e0fc6aba4494b28a967ab5eaf951c121d9c677958714e34532
#13 2.988 Installing collected packages: boolean-py, binaryornot, tomlkit, reuse, python-debian, markupsafe, license-expression, jinja2, chardet, attrs
#13 3.391 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.392 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 3.925 Collecting virtualenv
#13 3.925 Collecting virtualenv
#13 3.965 Downloading virtualenv-20.27.1-py3-none-any.whl (3.1 MB)
#13 4.024 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 54.6 MB/s eta 0:00:00
#13 4.081 Collecting filelock<4,>=3.12.2
#13 4.085 Downloading filelock-3.16.1-py3-none-any.whl (16 kB)
#13 4.119 Collecting platformdirs<5,>=3.9.1
#13 4.123 Downloading platformdirs-4.3.6-py3-none-any.whl (18 kB)
#13 4.144 Collecting distlib<1,>=0.3.7
#13 4.155 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 469.0/469.0 KB 84.4 MB/s eta 0:00:00
#13 4.155 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 469.0/469.0 KB 84.4 MB/s eta 0:00:00
#13 4.236 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 4.413 Successfully installed distlib-0.3.9 filelock-3.16.1 platformdirs-4.3.6 virtualenv-20.27.1
#13 DONE 4.5s
#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k: 186304 kB
DirectMap2M: 6105088 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]
downloading https://static.rust-lang.org/dist/2024-10-16/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/2024-10-16/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/rustfmt
---
##[endgroup]
fmt check
fmt: checked 5646 files
tidy check
tidy error: /checkout/compiler/rustc_hir_typeck/messages.ftl: message `hir_typeck_base_expression_double_dot_remove` appears before `hir_typeck_base_expression_double_dot_enable_default_field_values`, but is alphabetically later than it
run `./x.py test tidy --bless` to sort the file correctly
removing old virtual environment
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: Fri Nov 1 22:28:07 UTC 2024
network time: Fri, 01 Nov 2024 22:28:08 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
Changes to the size of AST and/or HIR nodes.
cc @nnethercote
It seems like there is quite active development on the const evaluation side of things. Would it be possible to review (& land) this nightly feature to avoid frequent rebasing as refactoring is happening in the mainline?
The job x86_64-gnu-llvm-18 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
#16 exporting to docker image format
#16 sending tarball 27.9s done
#16 DONE 33.7s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-18/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Saved the actual stderr to "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505-no-std/issue-54505-no-std.stderr"
diff of stderr:
53 |
54 LL | fn take_range(_r: &impl RangeBounds<i8>) {}
55 | ^^^^^^^^^^ -------------------------
+ help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
+ |
+ LL | take_range(..);
+ | ^^
56 help: consider borrowing here
56 help: consider borrowing here
57 |
58 LL | take_range(&(..));
The actual stderr differed from the expected stderr.
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args range/issue-54505-no-std.rs`
To only update this specific test, also pass `--test-args range/issue-54505-no-std.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/range/issue-54505-no-std.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505-no-std" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:29:16
|
|
LL | take_range(0..1);
| ---------- ^^^^ expected `&_`, found `Range<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `core::ops::Range<{integer}>`
found struct `core::ops::Range<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(0..1));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:34:16
|
LL | take_range(1..);
LL | take_range(1..);
| ---------- ^^^ expected `&_`, found `RangeFrom<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `core::ops::RangeFrom<{integer}>`
found struct `core::ops::RangeFrom<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(1..));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:39:16
|
LL | take_range(..);
LL | take_range(..);
| ---------- ^^ expected `&_`, found `RangeFull`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFull`
found struct `RangeFull`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
| ^^^^^^^^^^ -------------------------
help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
|
LL | take_range(..);
| ^^
help: consider borrowing here
help: consider borrowing here
|
LL | take_range(&(..));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:44:16
|
LL | take_range(0..=1);
LL | take_range(0..=1);
| ---------- ^^^^^ expected `&_`, found `RangeInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `core::ops::RangeInclusive<{integer}>`
found struct `core::ops::RangeInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(0..=1));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:49:16
|
LL | take_range(..5);
LL | take_range(..5);
| ---------- ^^^ expected `&_`, found `RangeTo<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeTo<{integer}>`
found struct `RangeTo<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(..5));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-std.rs:54:16
|
LL | take_range(..=42);
LL | take_range(..=42);
| ---------- ^^^^^ expected `&_`, found `RangeToInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeToInclusive<{integer}>`
found struct `RangeToInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-std.rs:25:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(..=42));
| ++ +
error: aborting due to 6 previous errors
For more information about this error, try `rustc --explain E0308`.
------------------------------------------
------------------------------------------
---- [ui] tests/ui/range/issue-54505-no-literals.rs stdout ----
Saved the actual stderr to "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505-no-literals/issue-54505-no-literals.stderr"
diff of stderr:
93 |
94 LL | fn take_range(_r: &impl RangeBounds<i8>) {}
95 | ^^^^^^^^^^ -------------------------
+ help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
+ |
+ LL | take_range(std::ops::RangeFull {});
+ | ^^^^^^^^^^^^^^^^^^^^^^
96 help: consider borrowing here
96 help: consider borrowing here
97 |
98 LL | take_range(&std::ops::RangeFull {});
113 |
113 |
114 LL | fn take_range(_r: &impl RangeBounds<i8>) {}
115 | ^^^^^^^^^^ -------------------------
+ help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
+ |
+ |
+ LL | take_range(::std::ops::RangeFull {});
116 help: consider borrowing here
117 |
117 |
118 LL | take_range(&::std::ops::RangeFull {});
The actual stderr differed from the expected stderr.
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args range/issue-54505-no-literals.rs`
To only update this specific test, also pass `--test-args range/issue-54505-no-literals.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/range/issue-54505-no-literals.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505-no-literals" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:16:16
|
|
LL | take_range(std::ops::Range { start: 0, end: 1 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `Range<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `std::ops::Range<{integer}>`
found struct `std::ops::Range<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&std::ops::Range { start: 0, end: 1 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:21:16
|
|
LL | take_range(::std::ops::Range { start: 0, end: 1 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `Range<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `std::ops::Range<{integer}>`
found struct `std::ops::Range<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&::std::ops::Range { start: 0, end: 1 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:26:16
|
|
LL | take_range(std::ops::RangeFrom { start: 1 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeFrom<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFrom<{integer}>`
found struct `RangeFrom<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&std::ops::RangeFrom { start: 1 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:31:16
|
|
LL | take_range(::std::ops::RangeFrom { start: 1 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeFrom<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFrom<{integer}>`
found struct `RangeFrom<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&::std::ops::RangeFrom { start: 1 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:36:16
|
|
LL | take_range(std::ops::RangeFull {});
| ---------- ^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeFull`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFull`
found struct `RangeFull`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
| ^^^^^^^^^^ -------------------------
help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
|
LL | take_range(std::ops::RangeFull {});
| ^^^^^^^^^^^^^^^^^^^^^^
help: consider borrowing here
help: consider borrowing here
|
LL | take_range(&std::ops::RangeFull {});
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:41:16
|
|
LL | take_range(::std::ops::RangeFull {});
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeFull`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFull`
found struct `RangeFull`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
| ^^^^^^^^^^ -------------------------
help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
|
|
LL | take_range(::std::ops::RangeFull {});
help: consider borrowing here
|
|
LL | take_range(&::std::ops::RangeFull {});
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:46:16
|
|
LL | take_range(std::ops::RangeInclusive::new(0, 1));
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeInclusive<{integer}>`
found struct `RangeInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&std::ops::RangeInclusive::new(0, 1));
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:51:16
|
|
LL | take_range(::std::ops::RangeInclusive::new(0, 1));
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeInclusive<{integer}>`
found struct `RangeInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&::std::ops::RangeInclusive::new(0, 1));
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:56:16
|
|
LL | take_range(std::ops::RangeTo { end: 5 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeTo<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeTo<{integer}>`
found struct `RangeTo<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&std::ops::RangeTo { end: 5 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:61:16
|
|
LL | take_range(::std::ops::RangeTo { end: 5 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeTo<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeTo<{integer}>`
found struct `RangeTo<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&::std::ops::RangeTo { end: 5 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:66:16
|
|
LL | take_range(std::ops::RangeToInclusive { end: 5 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeToInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeToInclusive<{integer}>`
found struct `RangeToInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&std::ops::RangeToInclusive { end: 5 });
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505-no-literals.rs:71:16
|
|
LL | take_range(::std::ops::RangeToInclusive { end: 5 });
| ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&_`, found `RangeToInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeToInclusive<{integer}>`
found struct `RangeToInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505-no-literals.rs:12:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&::std::ops::RangeToInclusive { end: 5 });
error: aborting due to 12 previous errors
For more information about this error, try `rustc --explain E0308`.
---
Saved the actual stderr to "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505/issue-54505.stderr"
diff of stderr:
53 |
54 LL | fn take_range(_r: &impl RangeBounds<i8>) {}
55 | ^^^^^^^^^^ -------------------------
+ help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
+ |
+ LL | take_range(..);
+ | ^^
56 help: consider borrowing here
56 help: consider borrowing here
57 |
58 LL | take_range(&(..));
The actual stderr differed from the expected stderr.
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args range/issue-54505.rs`
To only update this specific test, also pass `--test-args range/issue-54505.rs`
error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/range/issue-54505.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/range/issue-54505" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:14:16
|
|
LL | take_range(0..1);
| ---------- ^^^^ expected `&_`, found `Range<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `std::ops::Range<{integer}>`
found struct `std::ops::Range<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(0..1));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:19:16
|
LL | take_range(1..);
LL | take_range(1..);
| ---------- ^^^ expected `&_`, found `RangeFrom<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFrom<{integer}>`
found struct `RangeFrom<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(1..));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:24:16
|
LL | take_range(..);
LL | take_range(..);
| ---------- ^^ expected `&_`, found `RangeFull`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeFull`
found struct `RangeFull`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
| ^^^^^^^^^^ -------------------------
help: you might have meant to use `..` to skip providing a value for expected fields, but this is only supported on non-tuple struct literals when `#![feature(default_field_values)]` is enabled
|
LL | take_range(..);
| ^^
help: consider borrowing here
help: consider borrowing here
|
LL | take_range(&(..));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:29:16
|
LL | take_range(0..=1);
LL | take_range(0..=1);
| ---------- ^^^^^ expected `&_`, found `RangeInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeInclusive<{integer}>`
found struct `RangeInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(0..=1));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:34:16
|
LL | take_range(..5);
LL | take_range(..5);
| ---------- ^^^ expected `&_`, found `RangeTo<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeTo<{integer}>`
found struct `RangeTo<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(..5));
| ++ +
error[E0308]: mismatched types
##[error] --> /checkout/tests/ui/range/issue-54505.rs:39:16
|
LL | take_range(..=42);
LL | take_range(..=42);
| ---------- ^^^^^ expected `&_`, found `RangeToInclusive<{integer}>`
| arguments to this function are incorrect
|
= note: expected reference `&_`
found struct `RangeToInclusive<{integer}>`
found struct `RangeToInclusive<{integer}>`
note: function defined here
--> /checkout/tests/ui/range/issue-54505.rs:10:4
|
LL | fn take_range(_r: &impl RangeBounds<i8>) {}
help: consider borrowing here
|
|
LL | take_range(&(..=42));
| ++ +
error: aborting due to 6 previous errors
For more information about this error, try `rustc --explain E0308`.
------------------------------------------
The job x86_64-gnu-llvm-18 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
#16 exporting to docker image format
#16 sending tarball 29.0s done
#16 DONE 42.1s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-18/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Compiling rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
Compiling rustc_borrowck v0.0.0 (/checkout/compiler/rustc_borrowck)
Compiling rustc_hir_typeck v0.0.0 (/checkout/compiler/rustc_hir_typeck)
Compiling rustc_passes v0.0.0 (/checkout/compiler/rustc_passes)
error[E0614]: type `ProvidedIdx` cannot be dereferenced
|
|
1040 | detect_dotdot(&mut err, provided_ty, provided_args[*provided_idx]);
For more information about this error, try `rustc --explain E0614`.
error: could not compile `rustc_hir_typeck` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
The job x86_64-gnu-llvm-18 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
#16 exporting to docker image format
#16 sending tarball 28.6s done
#16 DONE 33.9s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-18/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Compiling rustc_passes v0.0.0 (/checkout/compiler/rustc_passes)
Compiling rustc_mir_build v0.0.0 (/checkout/compiler/rustc_mir_build)
Compiling rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
Compiling rustc_hir_typeck v0.0.0 (/checkout/compiler/rustc_hir_typeck)
error[E0614]: type `ProvidedIdx` cannot be dereferenced
|
|
1040 | detect_dotdot(&mut err, provided_ty, provided_args[*provided_idx]);
Compiling rustc_mir_transform v0.0.0 (/checkout/compiler/rustc_mir_transform)
For more information about this error, try `rustc --explain E0614`.
error: could not compile `rustc_hir_typeck` (lib) due to 1 previous error
The job x86_64-gnu-llvm-18 failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
#16 exporting to docker image format
#16 sending tarball 27.9s done
#16 DONE 41.1s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-18/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Compiling rustc_mir_build v0.0.0 (/checkout/compiler/rustc_mir_build)
Compiling rustc_passes v0.0.0 (/checkout/compiler/rustc_passes)
Compiling rustc_hir_typeck v0.0.0 (/checkout/compiler/rustc_hir_typeck)
Compiling rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
error[E0614]: type `ProvidedIdx` cannot be dereferenced
|
|
1040 | detect_dotdot(&mut err, provided_ty, provided_args[*provided_idx]);
Compiling rustc_mir_transform v0.0.0 (/checkout/compiler/rustc_mir_transform)
For more information about this error, try `rustc --explain E0614`.
error: could not compile `rustc_hir_typeck` (lib) due to 1 previous error
Could you also squash all of those line 2-line commits into the original commit?
Could you also squash all of those line 2-line commits into the original commit?
I'll do a squash-rebase soon, once I've addressed all comments. Trying to keep things tidy enough for both review and trying to avoid accidentally squashing different things in the same commit.
Edit: squashed the commits that didn't need splitting up into their "parents". The rewordings span changes from multiple commits so I left them as is. I believe I addressed all the review comments so far. (I can push a branch with the commits before the squash rebase, if that'll be helpful.)
:umbrella: The latest upstream changes (presumably #134039) made this pull request unmergeable. Please resolve the merge conflicts.
Please address nits and then please clean up the history a bit (that zip_eq commit could be squashed into whatever commit, and bbdd6bacd09dcc102deee59daa4efd581e050bdc too -- have you ever heard of git absorb? that might be useful to automate this type of cleanup).
Then r=me
@bors r+ rollup=never
:pushpin: Commit fa331f4d0d2d7657c76972574868c5c00afae459 has been approved by compiler-errors
It is now in the queue for this repository.