Skip to content

Expand free alias types when computing implied outlives-bounds #141007

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fmease
Copy link
Member

@fmease fmease commented May 14, 2025

Supersedes #122340 (see lengthy discussions in comments).

Draft status: Need to add more tests, will do later — am at conf. Also: Needs better PR descr.

r? oli-obk

@fmease fmease added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-types Relevant to the types team, which will review and decide on the PR/issue. F-lazy_type_alias `#![feature(lazy_type_alias)]` labels May 14, 2025
@fmease fmease moved this to In Progress in Lazy Type Aliases (LTA) May 14, 2025
@fmease fmease changed the title Expand free alias type when computing implied outlives-bounds May 14, 2025
@fmease fmease force-pushed the lta-expand-before-inf-outlives branch from 97b0792 to 76795eb Compare May 14, 2025 14:23
@rust-log-analyzer

This comment has been minimized.

@fmease fmease force-pushed the lta-expand-before-inf-outlives branch from 76795eb to 91783b9 Compare May 14, 2025 15:46
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-19 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#18 exporting to docker image format
#18 sending tarball 20.3s done
#18 DONE 27.8s
##[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', '--set', 'gcc.download-ci-gcc=true', '--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
---
test [ui] tests/ui/wrong-hashset-issue-42918.rs ... ok

failures:

---- [ui] tests/ui/lazy-type-alias/implied-outlives-bounds-1.rs#print stdout ----
Saved the actual stderr to "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lazy-type-alias/implied-outlives-bounds-1.print/implied-outlives-bounds-1.print.stderr"
diff of stderr:

1 error: rustc_outlives
-   --> $DIR/implied-outlives-bounds-1.rs:16:1
+   --> $DIR/implied-outlives-bounds-1.rs:13:1
3    |
4 LL | struct Type<'a, K, V>(&'a mut Alias<K, V>);
5    | ^^^^^^^^^^^^^^^^^^^^^

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/lazy-type-alias/implied-outlives-bounds-1.rs:13:1
+   --> $DIR/implied-outlives-bounds-1.rs:13:1
---
To only update this specific test, also pass `--test-args lazy-type-alias/implied-outlives-bounds-1.rs`

error in revision `print`: 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/lazy-type-alias/implied-outlives-bounds-1.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" "print" "--check-cfg" "cfg(test,FALSE,default,print)" "--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/lazy-type-alias/implied-outlives-bounds-1.print" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: rustc_outlives
##[error]  --> /checkout/tests/ui/lazy-type-alias/implied-outlives-bounds-1.rs:13:1
   |
LL | struct Type<'a, K, V>(&'a mut Alias<K, V>); //[print]~ ERROR rustc_outlives
   | ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: K: 'a
   = note: V: 'a

error: aborting due to 1 previous error
------------------------------------------


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F-lazy_type_alias `#![feature(lazy_type_alias)]` S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-types Relevant to the types team, which will review and decide on the PR/issue.
3 participants