Remove Symbol from Named variant of BoundRegionKind/LateParamRegionKind by compiler-errors · Pull Request #139598 · rust-lang/rust (original) (raw)
#19 exporting to docker image format
#19 sending tarball 19.9s done
#19 DONE 32.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-19]
[CI_JOB_NAME=x86_64-gnu-llvm-19]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Listening on address 127.0.0.1:4226
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-19', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'build.print-step-timings', '--enable-verbose-tests', '--set', 'build.metrics', '--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: build.build := x86_64-unknown-linux-gnu
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-19/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
Number of decisions: 4447
longest path: 1159 (code: 152)
longest backtrack: 66 (code: 428)
Shared 86733 out of 152951 states by creating 14756 new states, saving 71977
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc: In function ‘rtx_def* extract_bit_field_1(rtx, poly_uint64, poly_uint64, int, rtx, machine_mode, machine_mode, bool, bool, rtx_def**)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc:1864:45: warning: ‘*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ may be used uninitialized [-Wmaybe-uninitialized]
1864 | rtx sub = extract_bit_field_as_subreg (mode1, op0, imode,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
1865 | bitsize, bitnum);
| ~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc:1824:19: note: ‘*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ was declared here
1824 | scalar_int_mode imode;
| ^~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gimple-range-gori.cc: In member function ‘void range_def_chain::dump(FILE*, basic_block, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gimple-range-gori.cc:319:19: warning: format not a string literal and no format arguments [-Wformat-security]
319 | fprintf (f, prefix);
| ~~~~~~~~^~~~~~~~~~~
---
from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/region-model.h:33,
from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:39:
In constructor ‘ana::byte_range::byte_range(ana::byte_offset_t, ana::byte_size_t)’,
inlined from ‘virtual text_art::table ana::string_literal_spatial_item::make_table(const ana::bit_to_table_map&, text_art::style_manager&) const’ at /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:1812:18:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/store.h:312:5: warning: ‘size_in_bytes.generic_wide_int<fixed_wide_int_storage<128> >::fixed_wide_int_storage<128>.fixed_wide_int_storage<128>::val[1]’ may be used uninitialized [-Wmaybe-uninitialized]
312 | m_size_in_bytes (size_in_bytes)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc: In member function ‘virtual text_art::table ana::string_literal_spatial_item::make_table(const ana::bit_to_table_map&, text_art::style_manager&) const’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:1808:28: note: ‘size_in_bytes.generic_wide_int<fixed_wide_int_storage<128> >::fixed_wide_int_storage<128>.fixed_wide_int_storage<128>::val[1]’ was declared here
1808 | byte_size_t size_in_bytes
| ^~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/diagnostic.cc: In function ‘void fancy_abort(const char*, int, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/diagnostic.cc:1677:15: warning: format not a string literal and no format arguments [-Wformat-security]
1677 | fnotice (stderr, diagnostic_kind_text[DK_ICE]);
---
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc:7930:9: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
7930 | write (fd, "\n\n", 2);
| ~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc: In member function ‘void driver::final_actions() const’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc:9307:13: warning: ignoring return value of ‘int truncate(const char*, __off_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
9307 | truncate(totruncate_file, 0);
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto-wrapper.cc: In function ‘bool find_and_merge_options(int, off_t, const char*, vec<cl_decoded_option>, bool, vec<cl_decoded_option>*, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto-wrapper.cc:1165:8: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1165 | read (fd, data, length);
| ~~~~~^~~~~~~~~~~~~~~~~~
---
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc: In function ‘void lto_resolution_read(splay_tree, FILE*, lto_file*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2091:10: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2091 | fscanf (resolution, " "); /* Read white space. */
| ~~~~~~~^~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2093:9: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2093 | fread (obj_name, sizeof (char), name_len, resolution);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2113:10: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2113 | fscanf (resolution, "%u", &num_symbols);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/jit/jit-recording.cc:32:
---
Applying io_quotes_use to linux/blkzoned.h
Applying io_quotes_use to linux/ipmi.h
Applying io_quotes_use to linux/psp-dbc.h
Applying io_quotes_use to linux/bt-bmc.h
Applying io_quotes_use to linux/tps6594_pfsm.h
Applying io_quotes_use to linux/cxl_mem.h
Applying io_quotes_use to linux/wmi.h
Applying io_quotes_use to linux/auto_fs.h
Applying io_quotes_use to linux/mmtimer.h
Applying io_quotes_use to linux/f2fs.h
Applying io_quotes_use to linux/vhost.h
---
Applying io_quotes_use to sound/asound.h
Applying io_quotes_use to sound/compress_offload.h
Applying hpux8_bogus_inlines to math.h
Applying pthread_incomplete_struct_argument to pthread.h
Fixed: pthread.h
Applying io_quotes_use to misc/mrvl_cn10k_dpi.h
Applying io_quotes_use to misc/ocxl.h
Applying io_quotes_use to misc/cxl.h
Applying io_quotes_use to misc/xilinx_sdfec.h
Applying io_quotes_def to unicode/platform.h
Applying sun_malloc to malloc.h
Applying io_quotes_use to scsi/cxlflash_ioctl.h
---
Applying machine_name to x86_64-linux-gnu/bits/unistd_ext.h
Applying io_quotes_use to x86_64-linux-gnu/asm/mtrr.h
Applying io_quotes_use to x86_64-linux-gnu/asm/amd_hsmp.h
Applying machine_name to openssl/e_os2.h
Applying io_quotes_use to drm/xe_drm.h
Applying io_quotes_use to drm/radeon_drm.h
Applying io_quotes_use to drm/panfrost_drm.h
Applying io_quotes_use to drm/etnaviv_drm.h
Applying io_quotes_use to drm/lima_drm.h
Applying io_quotes_use to drm/qaic_accel.h
Applying io_quotes_use to drm/vc4_drm.h
Applying io_quotes_use to drm/i915_drm.h
Applying io_quotes_use to drm/omap_drm.h
Applying io_quotes_use to drm/pvr_drm.h
Applying io_quotes_use to drm/amdgpu_drm.h
Applying io_quotes_use to drm/vgem_drm.h
Applying io_quotes_use to drm/msm_drm.h
Applying io_quotes_use to drm/v3d_drm.h
Applying io_quotes_use to drm/exynos_drm.h
Applying io_quotes_use to drm/nouveau_drm.h
Applying io_quotes_use to drm/drm.h
Applying io_quotes_use to drm/habanalabs_accel.h
Applying io_quotes_use to drm/tegra_drm.h
Applying io_quotes_use to rdma/rdma_user_ioctl.h
cc1: note: self-tests are not enabled in this build
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/c++tools/server.cc: In function ‘void server(bool, int, module_resolver*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/c++tools/server.cc:620:10: warning: ignoring return value of ‘int pipe(int*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
---
failures:
---- [ui] tests/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.rs#bad stdout ----
Saved the actual stderr to "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.bad/placeholders-dont-outlive-static.bad.stderr"
diff of stderr:
7 = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
8 = note: `#[warn(incomplete_features)]` on by default
9
- error[E0310]: the placeholder type `!1_"T"` may not live long enough
+ error[E0310]: the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` may not live long enough
11 --> $DIR/placeholders-dont-outlive-static.rs:13:5
12 |
13 LL | foo();
14 | ^^^^^
15 | |
- | the placeholder type `!1_"T"` must be valid for the static lifetime...
+ | the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` must be valid for the static lifetime...
17 | ...so that the type `T` will meet its required lifetime bounds
18 |
19 help: consider adding an explicit lifetime bound
20 |
- LL | fn bad() where !1_"T": 'static {
- | +++++++++++++++++++++
+ LL | fn bad() where !1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T): 'static {
+ | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23
24 error: aborting due to 1 previous error; 1 warning emitted
25
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 traits/non_lifetime_binders/placeholders-dont-outlive-static.rs`
error in revision `bad`: 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/traits/non_lifetime_binders/placeholders-dont-outlive-static.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" "--cfg" "bad" "--check-cfg" "cfg(test,FALSE,good,bad)" "--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/traits/non_lifetime_binders/placeholders-dont-outlive-static.bad" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
##[warning] --> /checkout/tests/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.rs:6:12
|
LL | #![feature(non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0310]: the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` may not live long enough
##[error] --> /checkout/tests/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.rs:13:5
|
LL | foo();
| ^^^^^
| |
| the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` must be valid for the static lifetime...
| ...so that the type `T` will meet its required lifetime bounds
|
help: consider adding an explicit lifetime bound
|
LL | fn bad() where !1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T): 'static {
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0310`.
---
7 = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
8 = note: `#[warn(incomplete_features)]` on by default
9
- error[E0310]: the placeholder type `!1_"T"` may not live long enough
+ error[E0310]: the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` may not live long enough
11 --> $DIR/placeholders-dont-outlive-static.rs:19:5
12 |
13 LL | foo();
14 | ^^^^^
15 | |
- | the placeholder type `!1_"T"` must be valid for the static lifetime...
+ | the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` must be valid for the static lifetime...
17 | ...so that the type `T` will meet its required lifetime bounds
18 |
19 help: consider adding an explicit lifetime bound
20 |
- LL | fn good() where for<T> T: 'static, !1_"T": 'static {
- | +++++++++++++++++
+ LL | fn good() where for<T> T: 'static, !1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T): 'static {
+ | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23
24 error: aborting due to 1 previous error; 1 warning emitted
25
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 traits/non_lifetime_binders/placeholders-dont-outlive-static.rs`
error in revision `good`: 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/traits/non_lifetime_binders/placeholders-dont-outlive-static.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" "--cfg" "good" "--check-cfg" "cfg(test,FALSE,good,bad)" "--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/traits/non_lifetime_binders/placeholders-dont-outlive-static.good" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
##[warning] --> /checkout/tests/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.rs:6:12
|
LL | #![feature(non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0310]: the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` may not live long enough
##[error] --> /checkout/tests/ui/traits/non_lifetime_binders/placeholders-dont-outlive-static.rs:19:5
|
LL | foo();
| ^^^^^
| |
| the placeholder type `!1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T)` must be valid for the static lifetime...
| ...so that the type `T` will meet its required lifetime bounds
|
help: consider adding an explicit lifetime bound
|
LL | fn good() where for<T> T: 'static, !1_DefId(0:4 ~ placeholders_dont_outlive_static[9c4a]::foo::T): 'static {
| +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error: aborting due to 1 previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0310`.
---
7 = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
8 = note: `#[warn(incomplete_features)]` on by default
9
- error[E0309]: the placeholder type `!1_"F"` may not live long enough
+ error[E0309]: the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
11 --> $DIR/type-match-with-late-bound.rs:8:1
12 |
13 LL | async fn walk2<'a, T: 'a>(_: T)
- | ^ -- the placeholder type `!1_"F"` must be valid for the lifetime `'a` as defined here...
+ | ^ -- the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
15 | _|
16 | |
17 LL | | where
25 | ^^
26 help: consider adding an explicit lifetime bound
27 |
- LL | for<F> F: 'a, !1_"F": 'a
- | ++++++++++
+ LL | for<F> F: 'a, !1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
+ | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30
- error[E0309]: the placeholder type `!1_"F"` may not live long enough
+ error[E0309]: the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
32 --> $DIR/type-match-with-late-bound.rs:11:1
33 |
34 LL | async fn walk2<'a, T: 'a>(_: T)
- | -- the placeholder type `!1_"F"` must be valid for the lifetime `'a` as defined here...
+ | -- the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
36 ...
37 LL | {}
38 | ^^ ...so that the type `F` will meet its required lifetime bounds
39 |
40 help: consider adding an explicit lifetime bound
41 |
- LL | for<F> F: 'a, !1_"F": 'a
- | ++++++++++
+ LL | for<F> F: 'a, !1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
+ | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44
- error[E0309]: the placeholder type `!2_"F"` may not live long enough
+ error[E0309]: the placeholder type `!2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
46 --> $DIR/type-match-with-late-bound.rs:11:1
47 |
48 LL | async fn walk2<'a, T: 'a>(_: T)
- | -- the placeholder type `!2_"F"` must be valid for the lifetime `'a` as defined here...
+ | -- the placeholder type `!2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
50 ...
51 LL | {}
52 | ^^ ...so that the type `F` will meet its required lifetime bounds
53 |
54 help: consider adding an explicit lifetime bound
55 |
- LL | for<F> F: 'a, !2_"F": 'a
- | ++++++++++
+ LL | for<F> F: 'a, !2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
+ | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58
59 error: aborting due to 3 previous errors; 1 warning emitted
60
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 traits/non_lifetime_binders/type-match-with-late-bound.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/traits/non_lifetime_binders/type-match-with-late-bound.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(test,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/traits/non_lifetime_binders/type-match-with-late-bound" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2021"
stdout: none
--- stderr -------------------------------
warning: the feature `non_lifetime_binders` is incomplete and may not be safe to use and/or cause compiler crashes
##[warning] --> /checkout/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.rs:6:12
|
LL | #![feature(non_lifetime_binders)]
| ^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0309]: the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
##[error] --> /checkout/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.rs:8:1
|
LL | async fn walk2<'a, T: 'a>(_: T)
| ^ -- the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
| _|
| |
LL | | where
LL | | for<F> F: 'a,
| |_________________^ ...so that the type `F` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> /checkout/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.rs:10:15
|
LL | for<F> F: 'a,
| ^^
help: consider adding an explicit lifetime bound
|
LL | for<F> F: 'a, !1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0309]: the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
##[error] --> /checkout/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.rs:11:1
|
LL | async fn walk2<'a, T: 'a>(_: T)
| -- the placeholder type `!1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
...
LL | {}
| ^^ ...so that the type `F` will meet its required lifetime bounds
|
help: consider adding an explicit lifetime bound
|
LL | for<F> F: 'a, !1_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error[E0309]: the placeholder type `!2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` may not live long enough
##[error] --> /checkout/tests/ui/traits/non_lifetime_binders/type-match-with-late-bound.rs:11:1
|
LL | async fn walk2<'a, T: 'a>(_: T)
| -- the placeholder type `!2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F)` must be valid for the lifetime `'a` as defined here...
...
LL | {}
| ^^ ...so that the type `F` will meet its required lifetime bounds
|
help: consider adding an explicit lifetime bound
|
LL | for<F> F: 'a, !2_DefId(0:6 ~ type_match_with_late_bound[266d]::walk2::F): 'a
| ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
error: aborting due to 3 previous errors; 1 warning emitted
For more information about this error, try `rustc --explain E0309`.