about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/assembly-llvm/aarch64-pointer-auth.rs (renamed from tests/assembly/aarch64-pointer-auth.rs)0
-rw-r--r--tests/assembly-llvm/aarch64-xray.rs (renamed from tests/assembly/aarch64-xray.rs)0
-rw-r--r--tests/assembly-llvm/align_offset.rs (renamed from tests/assembly/align_offset.rs)0
-rw-r--r--tests/assembly-llvm/asm/aarch64-el2vmsa.rs (renamed from tests/assembly/asm/aarch64-el2vmsa.rs)0
-rw-r--r--tests/assembly-llvm/asm/aarch64-modifiers.rs (renamed from tests/assembly/asm/aarch64-modifiers.rs)0
-rw-r--r--tests/assembly-llvm/asm/aarch64-outline-atomics.rs (renamed from tests/assembly/asm/aarch64-outline-atomics.rs)0
-rw-r--r--tests/assembly-llvm/asm/aarch64-types.rs (renamed from tests/assembly/asm/aarch64-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/arm-modifiers.rs (renamed from tests/assembly/asm/arm-modifiers.rs)0
-rw-r--r--tests/assembly-llvm/asm/arm-types.rs (renamed from tests/assembly/asm/arm-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/avr-modifiers.rs (renamed from tests/assembly/asm/avr-modifiers.rs)0
-rw-r--r--tests/assembly-llvm/asm/avr-types.rs (renamed from tests/assembly/asm/avr-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/bpf-types.rs (renamed from tests/assembly/asm/bpf-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/comments.rs (renamed from tests/assembly/asm/comments.rs)0
-rw-r--r--tests/assembly-llvm/asm/global_asm.rs (renamed from tests/assembly/asm/global_asm.rs)0
-rw-r--r--tests/assembly-llvm/asm/hexagon-types.rs (renamed from tests/assembly/asm/hexagon-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/inline-asm-avx.rs (renamed from tests/assembly/asm/inline-asm-avx.rs)0
-rw-r--r--tests/assembly-llvm/asm/loongarch-type.rs (renamed from tests/assembly/asm/loongarch-type.rs)0
-rw-r--r--tests/assembly-llvm/asm/m68k-types.rs (renamed from tests/assembly/asm/m68k-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/mips-types.rs (renamed from tests/assembly/asm/mips-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/msp430-types.rs (renamed from tests/assembly/asm/msp430-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/nvptx-types.rs (renamed from tests/assembly/asm/nvptx-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/powerpc-types.rs (renamed from tests/assembly/asm/powerpc-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/riscv-types.rs (renamed from tests/assembly/asm/riscv-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/s390x-types.rs (renamed from tests/assembly/asm/s390x-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/sparc-types.rs (renamed from tests/assembly/asm/sparc-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/wasm-types.rs (renamed from tests/assembly/asm/wasm-types.rs)0
-rw-r--r--tests/assembly-llvm/asm/x86-modifiers.rs (renamed from tests/assembly/asm/x86-modifiers.rs)0
-rw-r--r--tests/assembly-llvm/asm/x86-types.rs (renamed from tests/assembly/asm/x86-types.rs)0
-rw-r--r--tests/assembly-llvm/auxiliary/breakpoint-panic-handler.rs (renamed from tests/assembly/auxiliary/breakpoint-panic-handler.rs)0
-rw-r--r--tests/assembly-llvm/auxiliary/dwarf-mixed-versions-lto-aux.rs (renamed from tests/assembly/auxiliary/dwarf-mixed-versions-lto-aux.rs)0
-rw-r--r--tests/assembly-llvm/auxiliary/non-inline-dependency.rs (renamed from tests/assembly/auxiliary/non-inline-dependency.rs)0
-rw-r--r--tests/assembly-llvm/breakpoint.rs (renamed from tests/assembly/breakpoint.rs)0
-rw-r--r--tests/assembly-llvm/closure-inherit-target-feature.rs (renamed from tests/assembly/closure-inherit-target-feature.rs)0
-rw-r--r--tests/assembly-llvm/cmse.rs (renamed from tests/assembly/cmse.rs)0
-rw-r--r--tests/assembly-llvm/compiletest-self-test/use-minicore-no-run.rs (renamed from tests/assembly/compiletest-self-test/use-minicore-no-run.rs)0
-rw-r--r--tests/assembly-llvm/cstring-merging.rs (renamed from tests/assembly/cstring-merging.rs)2
-rw-r--r--tests/assembly-llvm/dwarf-mixed-versions-lto.rs (renamed from tests/assembly/dwarf-mixed-versions-lto.rs)0
-rw-r--r--tests/assembly-llvm/dwarf4.rs (renamed from tests/assembly/dwarf4.rs)0
-rw-r--r--tests/assembly-llvm/dwarf5.rs (renamed from tests/assembly/dwarf5.rs)0
-rw-r--r--tests/assembly-llvm/emit-intel-att-syntax.rs (renamed from tests/assembly/emit-intel-att-syntax.rs)0
-rw-r--r--tests/assembly-llvm/is_aligned.rs (renamed from tests/assembly/is_aligned.rs)0
-rw-r--r--tests/assembly-llvm/issue-83585-small-pod-struct-equality.rs (renamed from tests/assembly/issue-83585-small-pod-struct-equality.rs)0
-rw-r--r--tests/assembly-llvm/libs/issue-115339-zip-arrays.rs (renamed from tests/assembly/libs/issue-115339-zip-arrays.rs)0
-rw-r--r--tests/assembly-llvm/libs/issue-140207-slice-min-simd.rs (renamed from tests/assembly/libs/issue-140207-slice-min-simd.rs)0
-rw-r--r--tests/assembly-llvm/manual-eq-efficient.rs (renamed from tests/assembly/manual-eq-efficient.rs)0
-rw-r--r--tests/assembly-llvm/naked-functions/aarch64-naked-fn-no-bti-prolog.rs (renamed from tests/assembly/naked-functions/aarch64-naked-fn-no-bti-prolog.rs)0
-rw-r--r--tests/assembly-llvm/naked-functions/aix.rs (renamed from tests/assembly/naked-functions/aix.rs)0
-rw-r--r--tests/assembly-llvm/naked-functions/wasm32.rs (renamed from tests/assembly/naked-functions/wasm32.rs)0
-rw-r--r--tests/assembly-llvm/naked-functions/x86_64-naked-fn-no-cet-prolog.rs (renamed from tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs)0
-rw-r--r--tests/assembly-llvm/niche-prefer-zero.rs (renamed from tests/assembly/niche-prefer-zero.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-arch-default.rs (renamed from tests/assembly/nvptx-arch-default.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-arch-emit-asm.rs (renamed from tests/assembly/nvptx-arch-emit-asm.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-arch-link-arg.rs (renamed from tests/assembly/nvptx-arch-link-arg.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-arch-target-cpu.rs (renamed from tests/assembly/nvptx-arch-target-cpu.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-atomics.rs (renamed from tests/assembly/nvptx-atomics.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-c-abi-arg-v7.rs (renamed from tests/assembly/nvptx-c-abi-arg-v7.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-c-abi-ret-v7.rs (renamed from tests/assembly/nvptx-c-abi-ret-v7.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-internalizing.rs (renamed from tests/assembly/nvptx-internalizing.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs (renamed from tests/assembly/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-linking-binary.rs (renamed from tests/assembly/nvptx-linking-binary.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-linking-cdylib.rs (renamed from tests/assembly/nvptx-linking-cdylib.rs)0
-rw-r--r--tests/assembly-llvm/nvptx-safe-naming.rs (renamed from tests/assembly/nvptx-safe-naming.rs)0
-rw-r--r--tests/assembly-llvm/panic-no-unwind-no-uwtable.rs (renamed from tests/assembly/panic-no-unwind-no-uwtable.rs)0
-rw-r--r--tests/assembly-llvm/panic-unwind-no-uwtable.rs (renamed from tests/assembly/panic-unwind-no-uwtable.rs)0
-rw-r--r--tests/assembly-llvm/pic-relocation-model.rs (renamed from tests/assembly/pic-relocation-model.rs)0
-rw-r--r--tests/assembly-llvm/pie-relocation-model.rs (renamed from tests/assembly/pie-relocation-model.rs)0
-rw-r--r--tests/assembly-llvm/powerpc64-struct-abi.rs (renamed from tests/assembly/powerpc64-struct-abi.rs)0
-rw-r--r--tests/assembly-llvm/riscv-float-struct-abi.rs (renamed from tests/assembly/riscv-float-struct-abi.rs)0
-rw-r--r--tests/assembly-llvm/riscv-soft-abi-with-float-features.rs (renamed from tests/assembly/riscv-soft-abi-with-float-features.rs)0
-rw-r--r--tests/assembly-llvm/rust-abi-arg-attr.rs (renamed from tests/assembly/rust-abi-arg-attr.rs)0
-rw-r--r--tests/assembly-llvm/s390x-backchain-toggle.rs (renamed from tests/assembly/s390x-backchain-toggle.rs)0
-rw-r--r--tests/assembly-llvm/s390x-vector-abi.rs (renamed from tests/assembly/s390x-vector-abi.rs)0
-rw-r--r--tests/assembly-llvm/sanitizer/kcfi/emit-arity-indicator.rs (renamed from tests/assembly/sanitizer/kcfi/emit-arity-indicator.rs)14
-rw-r--r--tests/assembly-llvm/simd-bitmask.rs (renamed from tests/assembly/simd-bitmask.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-gather.rs (renamed from tests/assembly/simd-intrinsic-gather.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-mask-load.rs (renamed from tests/assembly/simd-intrinsic-mask-load.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-mask-reduce.rs (renamed from tests/assembly/simd-intrinsic-mask-reduce.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-mask-store.rs (renamed from tests/assembly/simd-intrinsic-mask-store.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-scatter.rs (renamed from tests/assembly/simd-intrinsic-scatter.rs)0
-rw-r--r--tests/assembly-llvm/simd-intrinsic-select.rs (renamed from tests/assembly/simd-intrinsic-select.rs)0
-rw-r--r--tests/assembly-llvm/simd/reduce-fadd-unordered.rs (renamed from tests/assembly/simd/reduce-fadd-unordered.rs)0
-rw-r--r--tests/assembly-llvm/slice-is_ascii.rs (renamed from tests/assembly/slice-is_ascii.rs)0
-rw-r--r--tests/assembly-llvm/small_data_threshold.rs (renamed from tests/assembly/small_data_threshold.rs)0
-rw-r--r--tests/assembly-llvm/sparc-struct-abi.rs (renamed from tests/assembly/sparc-struct-abi.rs)0
-rw-r--r--tests/assembly-llvm/stack-probes.rs (renamed from tests/assembly/stack-probes.rs)0
-rw-r--r--tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs (renamed from tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs)0
-rw-r--r--tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs (renamed from tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs)0
-rw-r--r--tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect.rs (renamed from tests/assembly/stack-protector/stack-protector-heuristics-effect.rs)0
-rw-r--r--tests/assembly-llvm/stack-protector/stack-protector-target-support.rs (renamed from tests/assembly/stack-protector/stack-protector-target-support.rs)0
-rw-r--r--tests/assembly-llvm/static-relocation-model.rs (renamed from tests/assembly/static-relocation-model.rs)0
-rw-r--r--tests/assembly-llvm/strict_provenance.rs (renamed from tests/assembly/strict_provenance.rs)0
-rw-r--r--tests/assembly-llvm/target-feature-multiple.rs (renamed from tests/assembly/target-feature-multiple.rs)2
-rw-r--r--tests/assembly-llvm/targets/targets-amdgpu.rs (renamed from tests/assembly/targets/targets-amdgpu.rs)0
-rw-r--r--tests/assembly-llvm/targets/targets-elf.rs (renamed from tests/assembly/targets/targets-elf.rs)0
-rw-r--r--tests/assembly-llvm/targets/targets-macho.rs (renamed from tests/assembly/targets/targets-macho.rs)0
-rw-r--r--tests/assembly-llvm/targets/targets-nvptx.rs (renamed from tests/assembly/targets/targets-nvptx.rs)0
-rw-r--r--tests/assembly-llvm/targets/targets-pe.rs (renamed from tests/assembly/targets/targets-pe.rs)0
-rw-r--r--tests/assembly-llvm/wasm_exceptions.rs (renamed from tests/assembly/wasm_exceptions.rs)1
-rw-r--r--tests/assembly-llvm/x86-return-float.rs (renamed from tests/assembly/x86-return-float.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-array-pair-load-store-merge.rs (renamed from tests/assembly/x86_64-array-pair-load-store-merge.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-bigint-helpers.rs (renamed from tests/assembly/x86_64-bigint-helpers.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-cmp.rs (renamed from tests/assembly/x86_64-cmp.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-floating-point-clamp.rs (renamed from tests/assembly/x86_64-floating-point-clamp.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs (renamed from tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs (renamed from tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs (renamed from tests/assembly/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-function-return.rs (renamed from tests/assembly/x86_64-function-return.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-no-jump-tables.rs (renamed from tests/assembly/x86_64-no-jump-tables.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-sse_crc.rs (renamed from tests/assembly/x86_64-sse_crc.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-typed-swap.rs (renamed from tests/assembly/x86_64-typed-swap.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-windows-float-abi.rs (renamed from tests/assembly/x86_64-windows-float-abi.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-windows-i128-abi.rs (renamed from tests/assembly/x86_64-windows-i128-abi.rs)0
-rw-r--r--tests/assembly-llvm/x86_64-xray.rs (renamed from tests/assembly/x86_64-xray.rs)0
-rw-r--r--tests/auxiliary/minisimd.rs160
-rw-r--r--tests/codegen-llvm/README.md (renamed from tests/codegen/README.md)0
-rw-r--r--tests/codegen-llvm/aarch64-softfloat.rs (renamed from tests/codegen/aarch64-softfloat.rs)0
-rw-r--r--tests/codegen-llvm/aarch64-struct-align-128.rs (renamed from tests/codegen/aarch64-struct-align-128.rs)0
-rw-r--r--tests/codegen-llvm/abi-efiapi.rs (renamed from tests/codegen/abi-efiapi.rs)0
-rw-r--r--tests/codegen-llvm/abi-main-signature-16bit-c-int.rs (renamed from tests/codegen/abi-main-signature-16bit-c-int.rs)0
-rw-r--r--tests/codegen-llvm/abi-main-signature-32bit-c-int.rs (renamed from tests/codegen/abi-main-signature-32bit-c-int.rs)0
-rw-r--r--tests/codegen-llvm/abi-repr-ext.rs (renamed from tests/codegen/abi-repr-ext.rs)0
-rw-r--r--tests/codegen-llvm/abi-sysv64.rs (renamed from tests/codegen/abi-sysv64.rs)0
-rw-r--r--tests/codegen-llvm/abi-win64-zst.rs (renamed from tests/codegen/abi-win64-zst.rs)0
-rw-r--r--tests/codegen-llvm/abi-x86-interrupt.rs (renamed from tests/codegen/abi-x86-interrupt.rs)0
-rw-r--r--tests/codegen-llvm/abi-x86-sse.rs (renamed from tests/codegen/abi-x86-sse.rs)0
-rw-r--r--tests/codegen-llvm/abi-x86_64_sysv.rs (renamed from tests/codegen/abi-x86_64_sysv.rs)0
-rw-r--r--tests/codegen-llvm/addr-of-mutate.rs (renamed from tests/codegen/addr-of-mutate.rs)0
-rw-r--r--tests/codegen-llvm/adjustments.rs (renamed from tests/codegen/adjustments.rs)0
-rw-r--r--tests/codegen-llvm/align-byval-alignment-mismatch.rs (renamed from tests/codegen/align-byval-alignment-mismatch.rs)0
-rw-r--r--tests/codegen-llvm/align-byval-vector.rs (renamed from tests/codegen/align-byval-vector.rs)0
-rw-r--r--tests/codegen-llvm/align-byval.rs (renamed from tests/codegen/align-byval.rs)0
-rw-r--r--tests/codegen-llvm/align-enum.rs (renamed from tests/codegen/align-enum.rs)0
-rw-r--r--tests/codegen-llvm/align-fn.rs (renamed from tests/codegen/align-fn.rs)54
-rw-r--r--tests/codegen-llvm/align-offset.rs (renamed from tests/codegen/align-offset.rs)0
-rw-r--r--tests/codegen-llvm/align-struct.rs (renamed from tests/codegen/align-struct.rs)0
-rw-r--r--tests/codegen-llvm/alloc-optimisation.rs (renamed from tests/codegen/alloc-optimisation.rs)0
-rw-r--r--tests/codegen-llvm/amdgpu-addrspacecast.rs (renamed from tests/codegen/amdgpu-addrspacecast.rs)0
-rw-r--r--tests/codegen-llvm/array-clone.rs (renamed from tests/codegen/array-clone.rs)0
-rw-r--r--tests/codegen-llvm/array-cmp.rs (renamed from tests/codegen/array-cmp.rs)0
-rw-r--r--tests/codegen-llvm/array-codegen.rs (renamed from tests/codegen/array-codegen.rs)0
-rw-r--r--tests/codegen-llvm/array-equality.rs (renamed from tests/codegen/array-equality.rs)0
-rw-r--r--tests/codegen-llvm/array-from_fn.rs (renamed from tests/codegen/array-from_fn.rs)0
-rw-r--r--tests/codegen-llvm/array-map.rs (renamed from tests/codegen/array-map.rs)0
-rw-r--r--tests/codegen-llvm/array-optimized.rs (renamed from tests/codegen/array-optimized.rs)0
-rw-r--r--tests/codegen-llvm/array-repeat.rs (renamed from tests/codegen/array-repeat.rs)0
-rw-r--r--tests/codegen-llvm/ascii-char.rs (renamed from tests/codegen/ascii-char.rs)0
-rw-r--r--tests/codegen-llvm/asm/aarch64-clobbers.rs (renamed from tests/codegen/asm/aarch64-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/avr-clobbers.rs (renamed from tests/codegen/asm/avr-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/bpf-clobbers.rs (renamed from tests/codegen/asm/bpf-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/critical.rs (renamed from tests/codegen/asm/critical.rs)0
-rw-r--r--tests/codegen-llvm/asm/csky-clobbers.rs (renamed from tests/codegen/asm/csky-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/foo.s (renamed from tests/codegen/asm/foo.s)0
-rw-r--r--tests/codegen-llvm/asm/global_asm.rs (renamed from tests/codegen/asm/global_asm.rs)0
-rw-r--r--tests/codegen-llvm/asm/global_asm_include.rs (renamed from tests/codegen/asm/global_asm_include.rs)0
-rw-r--r--tests/codegen-llvm/asm/global_asm_x2.rs (renamed from tests/codegen/asm/global_asm_x2.rs)0
-rw-r--r--tests/codegen-llvm/asm/goto.rs (renamed from tests/codegen/asm/goto.rs)0
-rw-r--r--tests/codegen-llvm/asm/hexagon-clobbers.rs (renamed from tests/codegen/asm/hexagon-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/may_unwind.rs (renamed from tests/codegen/asm/may_unwind.rs)0
-rw-r--r--tests/codegen-llvm/asm/maybe-uninit.rs (renamed from tests/codegen/asm/maybe-uninit.rs)0
-rw-r--r--tests/codegen-llvm/asm/msp430-clobbers.rs (renamed from tests/codegen/asm/msp430-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/multiple-options.rs (renamed from tests/codegen/asm/multiple-options.rs)0
-rw-r--r--tests/codegen-llvm/asm/options.rs (renamed from tests/codegen/asm/options.rs)0
-rw-r--r--tests/codegen-llvm/asm/powerpc-clobbers.rs (renamed from tests/codegen/asm/powerpc-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/riscv-clobbers.rs (renamed from tests/codegen/asm/riscv-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/s390x-clobbers.rs (renamed from tests/codegen/asm/s390x-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/sanitize-llvm.rs (renamed from tests/codegen/asm/sanitize-llvm.rs)0
-rw-r--r--tests/codegen-llvm/asm/sparc-clobbers.rs (renamed from tests/codegen/asm/sparc-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/x86-clobber_abi.rs (renamed from tests/codegen/asm/x86-clobber_abi.rs)0
-rw-r--r--tests/codegen-llvm/asm/x86-clobbers.rs (renamed from tests/codegen/asm/x86-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/asm/x86-target-clobbers.rs (renamed from tests/codegen/asm/x86-target-clobbers.rs)0
-rw-r--r--tests/codegen-llvm/assign-desugar-debuginfo.rs (renamed from tests/codegen/assign-desugar-debuginfo.rs)0
-rw-r--r--tests/codegen-llvm/async-closure-debug.rs (renamed from tests/codegen/async-closure-debug.rs)0
-rw-r--r--tests/codegen-llvm/async-fn-debug-awaitee-field.rs (renamed from tests/codegen/async-fn-debug-awaitee-field.rs)0
-rw-r--r--tests/codegen-llvm/async-fn-debug-msvc.rs (renamed from tests/codegen/async-fn-debug-msvc.rs)0
-rw-r--r--tests/codegen-llvm/async-fn-debug.rs (renamed from tests/codegen/async-fn-debug.rs)0
-rw-r--r--tests/codegen-llvm/atomic-operations.rs (renamed from tests/codegen/atomic-operations.rs)0
-rw-r--r--tests/codegen-llvm/atomicptr.rs (renamed from tests/codegen/atomicptr.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/batched.rs (renamed from tests/codegen/autodiff/batched.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/generic.rs (renamed from tests/codegen/autodiff/generic.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/identical_fnc.rs (renamed from tests/codegen/autodiff/identical_fnc.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/inline.rs (renamed from tests/codegen/autodiff/inline.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/scalar.rs (renamed from tests/codegen/autodiff/scalar.rs)0
-rw-r--r--tests/codegen-llvm/autodiff/sret.rs (renamed from tests/codegen/autodiff/sret.rs)0
-rw-r--r--tests/codegen-llvm/autodiffv2.rs (renamed from tests/codegen/autodiffv2.rs)0
-rw-r--r--tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt2.rs (renamed from tests/codegen/autovec/dont-shuffle-bswaps-opt2.rs)0
-rw-r--r--tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt3.rs (renamed from tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs)0
-rw-r--r--tests/codegen-llvm/autovectorize-f32x4.rs (renamed from tests/codegen/autovectorize-f32x4.rs)0
-rw-r--r--tests/codegen-llvm/auxiliary/extern_decl.rs (renamed from tests/codegen/auxiliary/extern_decl.rs)0
-rw-r--r--tests/codegen-llvm/auxiliary/nounwind.rs (renamed from tests/codegen/auxiliary/nounwind.rs)0
-rw-r--r--tests/codegen-llvm/auxiliary/thread_local_aux.rs (renamed from tests/codegen/auxiliary/thread_local_aux.rs)0
-rw-r--r--tests/codegen-llvm/avr/avr-func-addrspace.rs (renamed from tests/codegen/avr/avr-func-addrspace.rs)0
-rw-r--r--tests/codegen-llvm/bigint-helpers.rs (renamed from tests/codegen/bigint-helpers.rs)0
-rw-r--r--tests/codegen-llvm/binary-heap-peek-mut-pop-no-panic.rs (renamed from tests/codegen/binary-heap-peek-mut-pop-no-panic.rs)0
-rw-r--r--tests/codegen-llvm/binary-search-index-no-bound-check.rs (renamed from tests/codegen/binary-search-index-no-bound-check.rs)0
-rw-r--r--tests/codegen-llvm/bool-cmp.rs (renamed from tests/codegen/bool-cmp.rs)0
-rw-r--r--tests/codegen-llvm/bounds-checking/gep-issue-133979.rs (renamed from tests/codegen/bounds-checking/gep-issue-133979.rs)0
-rw-r--r--tests/codegen-llvm/box-default-debug-copies.rs (renamed from tests/codegen/box-default-debug-copies.rs)0
-rw-r--r--tests/codegen-llvm/box-uninit-bytes.rs (renamed from tests/codegen/box-uninit-bytes.rs)0
-rw-r--r--tests/codegen-llvm/bpf-alu32.rs (renamed from tests/codegen/bpf-alu32.rs)0
-rw-r--r--tests/codegen-llvm/branch-protection.rs (renamed from tests/codegen/branch-protection.rs)0
-rw-r--r--tests/codegen-llvm/call-llvm-intrinsics.rs (renamed from tests/codegen/call-llvm-intrinsics.rs)0
-rw-r--r--tests/codegen-llvm/call-tmps-lifetime.rs (renamed from tests/codegen/call-tmps-lifetime.rs)0
-rw-r--r--tests/codegen-llvm/cast-optimized.rs (renamed from tests/codegen/cast-optimized.rs)0
-rw-r--r--tests/codegen-llvm/cast-target-abi.rs (renamed from tests/codegen/cast-target-abi.rs)0
-rw-r--r--tests/codegen-llvm/catch-unwind.rs (renamed from tests/codegen/catch-unwind.rs)0
-rw-r--r--tests/codegen-llvm/cdylib-external-inline-fns.rs (renamed from tests/codegen/cdylib-external-inline-fns.rs)0
-rw-r--r--tests/codegen-llvm/cf-protection.rs (renamed from tests/codegen/cf-protection.rs)0
-rw-r--r--tests/codegen-llvm/cffi/c-variadic-copy.rs (renamed from tests/codegen/cffi/c-variadic-copy.rs)0
-rw-r--r--tests/codegen-llvm/cffi/c-variadic-naked.rs (renamed from tests/codegen/cffi/c-variadic-naked.rs)0
-rw-r--r--tests/codegen-llvm/cffi/c-variadic-opt.rs (renamed from tests/codegen/cffi/c-variadic-opt.rs)0
-rw-r--r--tests/codegen-llvm/cffi/c-variadic.rs (renamed from tests/codegen/cffi/c-variadic.rs)0
-rw-r--r--tests/codegen-llvm/cffi/ffi-const.rs (renamed from tests/codegen/cffi/ffi-const.rs)0
-rw-r--r--tests/codegen-llvm/cffi/ffi-out-of-bounds-loads.rs (renamed from tests/codegen/cffi/ffi-out-of-bounds-loads.rs)0
-rw-r--r--tests/codegen-llvm/cffi/ffi-pure.rs (renamed from tests/codegen/cffi/ffi-pure.rs)0
-rw-r--r--tests/codegen-llvm/cfguard-checks.rs (renamed from tests/codegen/cfguard-checks.rs)0
-rw-r--r--tests/codegen-llvm/cfguard-disabled.rs (renamed from tests/codegen/cfguard-disabled.rs)0
-rw-r--r--tests/codegen-llvm/cfguard-nochecks.rs (renamed from tests/codegen/cfguard-nochecks.rs)0
-rw-r--r--tests/codegen-llvm/cfguard-non-msvc.rs (renamed from tests/codegen/cfguard-non-msvc.rs)0
-rw-r--r--tests/codegen-llvm/char-ascii-branchless.rs (renamed from tests/codegen/char-ascii-branchless.rs)0
-rw-r--r--tests/codegen-llvm/char-escape-debug-no-bounds-check.rs (renamed from tests/codegen/char-escape-debug-no-bounds-check.rs)0
-rw-r--r--tests/codegen-llvm/checked_ilog.rs (renamed from tests/codegen/checked_ilog.rs)0
-rw-r--r--tests/codegen-llvm/checked_math.rs (renamed from tests/codegen/checked_math.rs)0
-rw-r--r--tests/codegen-llvm/clone-shims.rs (renamed from tests/codegen/clone-shims.rs)0
-rw-r--r--tests/codegen-llvm/clone_as_copy.rs (renamed from tests/codegen/clone_as_copy.rs)0
-rw-r--r--tests/codegen-llvm/codemodels.rs (renamed from tests/codegen/codemodels.rs)0
-rw-r--r--tests/codegen-llvm/coercions.rs (renamed from tests/codegen/coercions.rs)0
-rw-r--r--tests/codegen-llvm/cold-call-declare-and-call.rs (renamed from tests/codegen/cold-call-declare-and-call.rs)0
-rw-r--r--tests/codegen-llvm/common_prim_int_ptr.rs (renamed from tests/codegen/common_prim_int_ptr.rs)0
-rw-r--r--tests/codegen-llvm/comparison-operators-2-struct.rs (renamed from tests/codegen/comparison-operators-2-struct.rs)0
-rw-r--r--tests/codegen-llvm/comparison-operators-2-tuple.rs (renamed from tests/codegen/comparison-operators-2-tuple.rs)0
-rw-r--r--tests/codegen-llvm/comparison-operators-newtype.rs (renamed from tests/codegen/comparison-operators-newtype.rs)0
-rw-r--r--tests/codegen-llvm/compiletest-self-test/minicore-smoke-test.rs (renamed from tests/codegen/compiletest-self-test/minicore-smoke-test.rs)0
-rw-r--r--tests/codegen-llvm/const-array.rs (renamed from tests/codegen/const-array.rs)0
-rw-r--r--tests/codegen-llvm/const-vector.rs (renamed from tests/codegen/const-vector.rs)38
-rw-r--r--tests/codegen-llvm/const_scalar_pair.rs (renamed from tests/codegen/const_scalar_pair.rs)0
-rw-r--r--tests/codegen-llvm/constant-branch.rs (renamed from tests/codegen/constant-branch.rs)0
-rw-r--r--tests/codegen-llvm/consts.rs (renamed from tests/codegen/consts.rs)0
-rw-r--r--tests/codegen-llvm/coroutine-debug-msvc.rs (renamed from tests/codegen/coroutine-debug-msvc.rs)0
-rw-r--r--tests/codegen-llvm/coroutine-debug.rs (renamed from tests/codegen/coroutine-debug.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/always-inline.rs (renamed from tests/codegen/cross-crate-inlining/always-inline.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/auxiliary/always.rs (renamed from tests/codegen/cross-crate-inlining/auxiliary/always.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs (renamed from tests/codegen/cross-crate-inlining/auxiliary/leaf.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/auxiliary/never.rs (renamed from tests/codegen/cross-crate-inlining/auxiliary/never.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs (renamed from tests/codegen/cross-crate-inlining/leaf-inlining.rs)0
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/never-inline.rs (renamed from tests/codegen/cross-crate-inlining/never-inline.rs)0
-rw-r--r--tests/codegen-llvm/dealloc-no-unwind.rs (renamed from tests/codegen/dealloc-no-unwind.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/crate-enum.rs (renamed from tests/codegen/debug-accessibility/crate-enum.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/crate-struct.rs (renamed from tests/codegen/debug-accessibility/crate-struct.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/private-enum.rs (renamed from tests/codegen/debug-accessibility/private-enum.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/private-struct.rs (renamed from tests/codegen/debug-accessibility/private-struct.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/public-enum.rs (renamed from tests/codegen/debug-accessibility/public-enum.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/public-struct.rs (renamed from tests/codegen/debug-accessibility/public-struct.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/struct-fields.rs (renamed from tests/codegen/debug-accessibility/struct-fields.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/super-enum.rs (renamed from tests/codegen/debug-accessibility/super-enum.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/super-struct.rs (renamed from tests/codegen/debug-accessibility/super-struct.rs)0
-rw-r--r--tests/codegen-llvm/debug-accessibility/tuple-fields.rs (renamed from tests/codegen/debug-accessibility/tuple-fields.rs)0
-rw-r--r--tests/codegen-llvm/debug-alignment.rs (renamed from tests/codegen/debug-alignment.rs)0
-rw-r--r--tests/codegen-llvm/debug-column-msvc.rs (renamed from tests/codegen/debug-column-msvc.rs)0
-rw-r--r--tests/codegen-llvm/debug-column.rs (renamed from tests/codegen/debug-column.rs)0
-rw-r--r--tests/codegen-llvm/debug-compile-unit-path.rs (renamed from tests/codegen/debug-compile-unit-path.rs)0
-rw-r--r--tests/codegen-llvm/debug-fndef-size.rs (renamed from tests/codegen/debug-fndef-size.rs)0
-rw-r--r--tests/codegen-llvm/debug-limited.rs (renamed from tests/codegen/debug-limited.rs)0
-rw-r--r--tests/codegen-llvm/debug-line-directives-only.rs (renamed from tests/codegen/debug-line-directives-only.rs)0
-rw-r--r--tests/codegen-llvm/debug-line-tables-only.rs (renamed from tests/codegen/debug-line-tables-only.rs)0
-rw-r--r--tests/codegen-llvm/debug-linkage-name.rs (renamed from tests/codegen/debug-linkage-name.rs)0
-rw-r--r--tests/codegen-llvm/debug-vtable.rs (renamed from tests/codegen/debug-vtable.rs)0
-rw-r--r--tests/codegen-llvm/debuginfo-constant-locals.rs (renamed from tests/codegen/debuginfo-constant-locals.rs)0
-rw-r--r--tests/codegen-llvm/debuginfo-generic-closure-env-names.rs (renamed from tests/codegen/debuginfo-generic-closure-env-names.rs)0
-rw-r--r--tests/codegen-llvm/debuginfo-inline-callsite-location.rs (renamed from tests/codegen/debuginfo-inline-callsite-location.rs)0
-rw-r--r--tests/codegen-llvm/debuginfo-proc-macro/auxiliary/macro_def.rs (renamed from tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs)0
-rw-r--r--tests/codegen-llvm/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs (renamed from tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs)0
-rw-r--r--tests/codegen-llvm/deduced-param-attrs.rs (renamed from tests/codegen/deduced-param-attrs.rs)0
-rw-r--r--tests/codegen-llvm/default-requires-uwtable.rs (renamed from tests/codegen/default-requires-uwtable.rs)0
-rw-r--r--tests/codegen-llvm/default-visibility.rs (renamed from tests/codegen/default-visibility.rs)0
-rw-r--r--tests/codegen-llvm/direct-access-external-data.rs (renamed from tests/codegen/direct-access-external-data.rs)0
-rw-r--r--tests/codegen-llvm/dllimports/auxiliary/dummy.rs (renamed from tests/codegen/dllimports/auxiliary/dummy.rs)0
-rw-r--r--tests/codegen-llvm/dllimports/auxiliary/wrapper.rs (renamed from tests/codegen/dllimports/auxiliary/wrapper.rs)0
-rw-r--r--tests/codegen-llvm/dllimports/main.rs (renamed from tests/codegen/dllimports/main.rs)0
-rw-r--r--tests/codegen-llvm/dont_codegen_private_const_fn_only_used_in_const_eval.rs (renamed from tests/codegen/dont_codegen_private_const_fn_only_used_in_const_eval.rs)0
-rw-r--r--tests/codegen-llvm/drop-in-place-noalias.rs (renamed from tests/codegen/drop-in-place-noalias.rs)0
-rw-r--r--tests/codegen-llvm/drop.rs (renamed from tests/codegen/drop.rs)0
-rw-r--r--tests/codegen-llvm/dst-offset.rs (renamed from tests/codegen/dst-offset.rs)0
-rw-r--r--tests/codegen-llvm/dst-vtable-align-nonzero.rs (renamed from tests/codegen/dst-vtable-align-nonzero.rs)0
-rw-r--r--tests/codegen-llvm/dst-vtable-size-range.rs (renamed from tests/codegen/dst-vtable-size-range.rs)0
-rw-r--r--tests/codegen-llvm/ehcontguard_disabled.rs (renamed from tests/codegen/ehcontguard_disabled.rs)0
-rw-r--r--tests/codegen-llvm/ehcontguard_enabled.rs (renamed from tests/codegen/ehcontguard_enabled.rs)0
-rw-r--r--tests/codegen-llvm/emscripten-catch-unwind-js-eh.rs (renamed from tests/codegen/emscripten-catch-unwind-js-eh.rs)0
-rw-r--r--tests/codegen-llvm/emscripten-catch-unwind-wasm-eh.rs (renamed from tests/codegen/emscripten-catch-unwind-wasm-eh.rs)0
-rw-r--r--tests/codegen-llvm/enable-lto-unit-splitting.rs (renamed from tests/codegen/enable-lto-unit-splitting.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-aggregate.rs (renamed from tests/codegen/enum/enum-aggregate.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-bounds-check-derived-idx.rs (renamed from tests/codegen/enum/enum-bounds-check-derived-idx.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-bounds-check-issue-13926.rs (renamed from tests/codegen/enum/enum-bounds-check-issue-13926.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-bounds-check-issue-82871.rs (renamed from tests/codegen/enum/enum-bounds-check-issue-82871.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-bounds-check.rs (renamed from tests/codegen/enum/enum-bounds-check.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-debug-clike.rs (renamed from tests/codegen/enum/enum-debug-clike.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-debug-niche-2.rs (renamed from tests/codegen/enum/enum-debug-niche-2.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-debug-niche.rs (renamed from tests/codegen/enum/enum-debug-niche.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-debug-tagged.rs (renamed from tests/codegen/enum/enum-debug-tagged.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-discriminant-eq.rs (renamed from tests/codegen/enum/enum-discriminant-eq.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-discriminant-value.rs (renamed from tests/codegen/enum/enum-discriminant-value.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-early-otherwise-branch.rs (renamed from tests/codegen/enum/enum-early-otherwise-branch.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-match.rs (renamed from tests/codegen/enum/enum-match.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-two-variants-match.rs (renamed from tests/codegen/enum/enum-two-variants-match.rs)0
-rw-r--r--tests/codegen-llvm/enum/enum-u128.rs (renamed from tests/codegen/enum/enum-u128.rs)0
-rw-r--r--tests/codegen-llvm/enum/unreachable_enum_default_branch.rs (renamed from tests/codegen/enum/unreachable_enum_default_branch.rs)0
-rw-r--r--tests/codegen-llvm/ergonomic-clones/closure.rs (renamed from tests/codegen/ergonomic-clones/closure.rs)0
-rw-r--r--tests/codegen-llvm/error-provide.rs (renamed from tests/codegen/error-provide.rs)0
-rw-r--r--tests/codegen-llvm/export-no-mangle.rs (renamed from tests/codegen/export-no-mangle.rs)0
-rw-r--r--tests/codegen-llvm/external-no-mangle-fns.rs (renamed from tests/codegen/external-no-mangle-fns.rs)0
-rw-r--r--tests/codegen-llvm/external-no-mangle-statics.rs (renamed from tests/codegen/external-no-mangle-statics.rs)0
-rw-r--r--tests/codegen-llvm/f128-wasm32-callconv.rs (renamed from tests/codegen/f128-wasm32-callconv.rs)0
-rw-r--r--tests/codegen-llvm/fastcall-inreg.rs (renamed from tests/codegen/fastcall-inreg.rs)0
-rw-r--r--tests/codegen-llvm/fatptr.rs (renamed from tests/codegen/fatptr.rs)0
-rw-r--r--tests/codegen-llvm/fewer-names.rs (renamed from tests/codegen/fewer-names.rs)0
-rw-r--r--tests/codegen-llvm/fixed-x18.rs (renamed from tests/codegen/fixed-x18.rs)0
-rw-r--r--tests/codegen-llvm/float/algebraic.rs (renamed from tests/codegen/float/algebraic.rs)0
-rw-r--r--tests/codegen-llvm/float/f128.rs (renamed from tests/codegen/float/f128.rs)0
-rw-r--r--tests/codegen-llvm/float/f16-f128-inline.rs (renamed from tests/codegen/float/f16-f128-inline.rs)0
-rw-r--r--tests/codegen-llvm/float/f16.rs (renamed from tests/codegen/float/f16.rs)0
-rw-r--r--tests/codegen-llvm/float_math.rs (renamed from tests/codegen/float_math.rs)0
-rw-r--r--tests/codegen-llvm/fn-impl-trait-self.rs (renamed from tests/codegen/fn-impl-trait-self.rs)0
-rw-r--r--tests/codegen-llvm/fn-parameters-on-different-lines-debuginfo.rs (renamed from tests/codegen/fn-parameters-on-different-lines-debuginfo.rs)0
-rw-r--r--tests/codegen-llvm/force-frame-pointers.rs (renamed from tests/codegen/force-frame-pointers.rs)0
-rw-r--r--tests/codegen-llvm/force-no-unwind-tables.rs (renamed from tests/codegen/force-no-unwind-tables.rs)0
-rw-r--r--tests/codegen-llvm/force-unwind-tables.rs (renamed from tests/codegen/force-unwind-tables.rs)0
-rw-r--r--tests/codegen-llvm/frame-pointer-cli-control.rs (renamed from tests/codegen/frame-pointer-cli-control.rs)0
-rw-r--r--tests/codegen-llvm/frame-pointer.rs (renamed from tests/codegen/frame-pointer.rs)0
-rw-r--r--tests/codegen-llvm/function-arguments-noopt.rs (renamed from tests/codegen/function-arguments-noopt.rs)0
-rw-r--r--tests/codegen-llvm/function-arguments.rs (renamed from tests/codegen/function-arguments.rs)0
-rw-r--r--tests/codegen-llvm/function-return.rs (renamed from tests/codegen/function-return.rs)0
-rw-r--r--tests/codegen-llvm/gdb_debug_script_load.rs (renamed from tests/codegen/gdb_debug_script_load.rs)0
-rw-r--r--tests/codegen-llvm/generic-debug.rs (renamed from tests/codegen/generic-debug.rs)0
-rw-r--r--tests/codegen-llvm/gep-index.rs (renamed from tests/codegen/gep-index.rs)0
-rw-r--r--tests/codegen-llvm/gpu-kernel-abi.rs (renamed from tests/codegen/gpu-kernel-abi.rs)0
-rw-r--r--tests/codegen-llvm/gpu_offload/gpu_host.rs80
-rw-r--r--tests/codegen-llvm/hint/cold_path.rs (renamed from tests/codegen/hint/cold_path.rs)0
-rw-r--r--tests/codegen-llvm/hint/likely.rs (renamed from tests/codegen/hint/likely.rs)0
-rw-r--r--tests/codegen-llvm/hint/unlikely.rs (renamed from tests/codegen/hint/unlikely.rs)0
-rw-r--r--tests/codegen-llvm/i128-wasm32-callconv.rs (renamed from tests/codegen/i128-wasm32-callconv.rs)0
-rw-r--r--tests/codegen-llvm/i128-x86-align.rs (renamed from tests/codegen/i128-x86-align.rs)0
-rw-r--r--tests/codegen-llvm/i128-x86-callconv.rs (renamed from tests/codegen/i128-x86-callconv.rs)0
-rw-r--r--tests/codegen-llvm/infallible-unwrap-in-opt-z.rs (renamed from tests/codegen/infallible-unwrap-in-opt-z.rs)0
-rw-r--r--tests/codegen-llvm/inherit_overflow.rs (renamed from tests/codegen/inherit_overflow.rs)0
-rw-r--r--tests/codegen-llvm/inline-always-works-always.rs (renamed from tests/codegen/inline-always-works-always.rs)0
-rw-r--r--tests/codegen-llvm/inline-debuginfo.rs (renamed from tests/codegen/inline-debuginfo.rs)0
-rw-r--r--tests/codegen-llvm/inline-function-args-debug-info.rs (renamed from tests/codegen/inline-function-args-debug-info.rs)0
-rw-r--r--tests/codegen-llvm/inline-hint.rs (renamed from tests/codegen/inline-hint.rs)0
-rw-r--r--tests/codegen-llvm/instrument-coverage/instrument-coverage-off.rs (renamed from tests/codegen/instrument-coverage/instrument-coverage-off.rs)0
-rw-r--r--tests/codegen-llvm/instrument-coverage/instrument-coverage.rs (renamed from tests/codegen/instrument-coverage/instrument-coverage.rs)0
-rw-r--r--tests/codegen-llvm/instrument-coverage/testprog.rs (renamed from tests/codegen/instrument-coverage/testprog.rs)0
-rw-r--r--tests/codegen-llvm/instrument-mcount.rs (renamed from tests/codegen/instrument-mcount.rs)0
-rw-r--r--tests/codegen-llvm/instrument-xray/basic.rs (renamed from tests/codegen/instrument-xray/basic.rs)0
-rw-r--r--tests/codegen-llvm/instrument-xray/options-combine.rs (renamed from tests/codegen/instrument-xray/options-combine.rs)0
-rw-r--r--tests/codegen-llvm/instrument-xray/options-override.rs (renamed from tests/codegen/instrument-xray/options-override.rs)0
-rw-r--r--tests/codegen-llvm/integer-cmp.rs (renamed from tests/codegen/integer-cmp.rs)0
-rw-r--r--tests/codegen-llvm/integer-overflow.rs (renamed from tests/codegen/integer-overflow.rs)0
-rw-r--r--tests/codegen-llvm/internalize-closures.rs (renamed from tests/codegen/internalize-closures.rs)0
-rw-r--r--tests/codegen-llvm/intrinsic-no-unnamed-attr.rs (renamed from tests/codegen/intrinsic-no-unnamed-attr.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/aggregate-thin-pointer.rs (renamed from tests/codegen/intrinsics/aggregate-thin-pointer.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/carrying_mul_add.rs (renamed from tests/codegen/intrinsics/carrying_mul_add.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/cold_path.rs (renamed from tests/codegen/intrinsics/cold_path.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/cold_path2.rs (renamed from tests/codegen/intrinsics/cold_path2.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/cold_path3.rs (renamed from tests/codegen/intrinsics/cold_path3.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/compare_bytes.rs (renamed from tests/codegen/intrinsics/compare_bytes.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/const_eval_select.rs (renamed from tests/codegen/intrinsics/const_eval_select.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/ctlz.rs (renamed from tests/codegen/intrinsics/ctlz.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/ctpop.rs (renamed from tests/codegen/intrinsics/ctpop.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/disjoint_bitor.rs (renamed from tests/codegen/intrinsics/disjoint_bitor.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/exact_div.rs (renamed from tests/codegen/intrinsics/exact_div.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/likely.rs (renamed from tests/codegen/intrinsics/likely.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/likely_assert.rs (renamed from tests/codegen/intrinsics/likely_assert.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/mask.rs (renamed from tests/codegen/intrinsics/mask.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/nontemporal.rs (renamed from tests/codegen/intrinsics/nontemporal.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/offset.rs (renamed from tests/codegen/intrinsics/offset.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/offset_from.rs (renamed from tests/codegen/intrinsics/offset_from.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/prefetch.rs (renamed from tests/codegen/intrinsics/prefetch.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/ptr_metadata.rs (renamed from tests/codegen/intrinsics/ptr_metadata.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/rotate_left.rs (renamed from tests/codegen/intrinsics/rotate_left.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/rustc_intrinsic_must_be_overridden.rs (renamed from tests/codegen/intrinsics/rustc_intrinsic_must_be_overridden.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/select_unpredictable.rs (renamed from tests/codegen/intrinsics/select_unpredictable.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/three_way_compare.rs (renamed from tests/codegen/intrinsics/three_way_compare.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/transmute-niched.rs (renamed from tests/codegen/intrinsics/transmute-niched.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/transmute-x64.rs (renamed from tests/codegen/intrinsics/transmute-x64.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/transmute.rs (renamed from tests/codegen/intrinsics/transmute.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/typed_swap.rs (renamed from tests/codegen/intrinsics/typed_swap.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/unchecked_math.rs (renamed from tests/codegen/intrinsics/unchecked_math.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/unlikely.rs (renamed from tests/codegen/intrinsics/unlikely.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/volatile.rs (renamed from tests/codegen/intrinsics/volatile.rs)0
-rw-r--r--tests/codegen-llvm/intrinsics/volatile_order.rs (renamed from tests/codegen/intrinsics/volatile_order.rs)0
-rw-r--r--tests/codegen-llvm/is_val_statically_known.rs (renamed from tests/codegen/is_val_statically_known.rs)0
-rw-r--r--tests/codegen-llvm/issue-97217.rs (renamed from tests/codegen/issue-97217.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-101048.rs (renamed from tests/codegen/issues/issue-101048.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-101082.rs (renamed from tests/codegen/issues/issue-101082.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-101814.rs (renamed from tests/codegen/issues/issue-101814.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-103132.rs (renamed from tests/codegen/issues/issue-103132.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-103285-ptr-addr-overflow-check.rs (renamed from tests/codegen/issues/issue-103285-ptr-addr-overflow-check.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-103327.rs (renamed from tests/codegen/issues/issue-103327.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-103840.rs (renamed from tests/codegen/issues/issue-103840.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-105386-ub-in-debuginfo.rs (renamed from tests/codegen/issues/issue-105386-ub-in-debuginfo.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-106369.rs (renamed from tests/codegen/issues/issue-106369.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-107681-unwrap_unchecked.rs (renamed from tests/codegen/issues/issue-107681-unwrap_unchecked.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-108395-branchy-bool-match.rs (renamed from tests/codegen/issues/issue-108395-branchy-bool-match.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-109328-split_first.rs (renamed from tests/codegen/issues/issue-109328-split_first.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-110797-enum-jump-same.rs (renamed from tests/codegen/issues/issue-110797-enum-jump-same.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-111603.rs (renamed from tests/codegen/issues/issue-111603.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-112509-slice-get-andthen-get.rs (renamed from tests/codegen/issues/issue-112509-slice-get-andthen-get.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-113757-bounds-check-after-cmp-max.rs (renamed from tests/codegen/issues/issue-113757-bounds-check-after-cmp-max.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-114312.rs (renamed from tests/codegen/issues/issue-114312.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-115385-llvm-jump-threading.rs (renamed from tests/codegen/issues/issue-115385-llvm-jump-threading.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-116878.rs (renamed from tests/codegen/issues/issue-116878.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-118306.rs (renamed from tests/codegen/issues/issue-118306.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-118392.rs (renamed from tests/codegen/issues/issue-118392.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-119422.rs (renamed from tests/codegen/issues/issue-119422.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-121719-common-field-offset.rs (renamed from tests/codegen/issues/issue-121719-common-field-offset.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs (renamed from tests/codegen/issues/issue-122600-ptr-discriminant-update.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-123712-str-to-lower-autovectorization.rs (renamed from tests/codegen/issues/issue-123712-str-to-lower-autovectorization.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-126585.rs (renamed from tests/codegen/issues/issue-126585.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-129795.rs (renamed from tests/codegen/issues/issue-129795.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-13018.rs (renamed from tests/codegen/issues/issue-13018.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-136329-optnone-noinline.rs (renamed from tests/codegen/issues/issue-136329-optnone-noinline.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-15953.rs (renamed from tests/codegen/issues/issue-15953.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-27130.rs (renamed from tests/codegen/issues/issue-27130.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-32031.rs (renamed from tests/codegen/issues/issue-32031.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-32364.rs (renamed from tests/codegen/issues/issue-32364.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-34634.rs (renamed from tests/codegen/issues/issue-34634.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-34947-pow-i32.rs (renamed from tests/codegen/issues/issue-34947-pow-i32.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-36010-some-box-is_some.rs (renamed from tests/codegen/issues/issue-36010-some-box-is_some.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-37945.rs (renamed from tests/codegen/issues/issue-37945.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-45222.rs (renamed from tests/codegen/issues/issue-45222.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-45466.rs (renamed from tests/codegen/issues/issue-45466.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-45964-bounds-check-slice-pos.rs (renamed from tests/codegen/issues/issue-45964-bounds-check-slice-pos.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-47278.rs (renamed from tests/codegen/issues/issue-47278.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-47442.rs (renamed from tests/codegen/issues/issue-47442.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-56267-2.rs (renamed from tests/codegen/issues/issue-56267-2.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-56267.rs (renamed from tests/codegen/issues/issue-56267.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-56927.rs (renamed from tests/codegen/issues/issue-56927.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-58881.rs (renamed from tests/codegen/issues/issue-58881.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-59352.rs (renamed from tests/codegen/issues/issue-59352.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs (renamed from tests/codegen/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-68667-unwrap-combinators.rs (renamed from tests/codegen/issues/issue-68667-unwrap-combinators.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-69101-bounds-check.rs (renamed from tests/codegen/issues/issue-69101-bounds-check.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-73031.rs (renamed from tests/codegen/issues/issue-73031.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-73258.rs (renamed from tests/codegen/issues/issue-73258.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-73338-effecient-cmp.rs (renamed from tests/codegen/issues/issue-73338-effecient-cmp.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-73396-bounds-check-after-position.rs (renamed from tests/codegen/issues/issue-73396-bounds-check-after-position.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-73827-bounds-check-index-in-subexpr.rs (renamed from tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-74938-array-split-at.rs (renamed from tests/codegen/issues/issue-74938-array-split-at.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-75525-bounds-checks.rs (renamed from tests/codegen/issues/issue-75525-bounds-checks.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-75546.rs (renamed from tests/codegen/issues/issue-75546.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-75659.rs (renamed from tests/codegen/issues/issue-75659.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-75978.rs (renamed from tests/codegen/issues/issue-75978.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-77812.rs (renamed from tests/codegen/issues/issue-77812.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-84268.rs (renamed from tests/codegen/issues/issue-84268.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-85872-multiple-reverse.rs (renamed from tests/codegen/issues/issue-85872-multiple-reverse.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-86106.rs (renamed from tests/codegen/issues/issue-86106.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-86109-eliminate-div-by-zero-check.rs (renamed from tests/codegen/issues/issue-86109-eliminate-div-by-zero-check.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-93036-assert-index.rs (renamed from tests/codegen/issues/issue-93036-assert-index.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-96274.rs (renamed from tests/codegen/issues/issue-96274.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-96497-slice-size-nowrap.rs (renamed from tests/codegen/issues/issue-96497-slice-size-nowrap.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-98294-get-mut-copy-from-slice-opt.rs (renamed from tests/codegen/issues/issue-98294-get-mut-copy-from-slice-opt.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-98678-async.rs (renamed from tests/codegen/issues/issue-98678-async.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-98678-closure-coroutine.rs (renamed from tests/codegen/issues/issue-98678-closure-coroutine.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-98678-enum.rs (renamed from tests/codegen/issues/issue-98678-enum.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-98678-struct-union.rs (renamed from tests/codegen/issues/issue-98678-struct-union.rs)0
-rw-r--r--tests/codegen-llvm/issues/issue-99960.rs (renamed from tests/codegen/issues/issue-99960.rs)0
-rw-r--r--tests/codegen-llvm/issues/looping-over-ne-bytes-133528.rs (renamed from tests/codegen/issues/looping-over-ne-bytes-133528.rs)0
-rw-r--r--tests/codegen-llvm/issues/str-to-string-128690.rs (renamed from tests/codegen/issues/str-to-string-128690.rs)0
-rw-r--r--tests/codegen-llvm/iter-repeat-n-trivial-drop.rs (renamed from tests/codegen/iter-repeat-n-trivial-drop.rs)0
-rw-r--r--tests/codegen-llvm/layout-size-checks.rs (renamed from tests/codegen/layout-size-checks.rs)0
-rw-r--r--tests/codegen-llvm/lib-optimizations/iter-sum.rs (renamed from tests/codegen/lib-optimizations/iter-sum.rs)0
-rw-r--r--tests/codegen-llvm/lib-optimizations/slice_rotate.rs (renamed from tests/codegen/lib-optimizations/slice_rotate.rs)0
-rw-r--r--tests/codegen-llvm/lifetime_start_end.rs (renamed from tests/codegen/lifetime_start_end.rs)0
-rw-r--r--tests/codegen-llvm/link-dead-code.rs (renamed from tests/codegen/link-dead-code.rs)0
-rw-r--r--tests/codegen-llvm/link_section.rs (renamed from tests/codegen/link_section.rs)0
-rw-r--r--tests/codegen-llvm/llvm-ident.rs (renamed from tests/codegen/llvm-ident.rs)0
-rw-r--r--tests/codegen-llvm/llvm_module_flags.rs (renamed from tests/codegen/llvm_module_flags.rs)0
-rw-r--r--tests/codegen-llvm/loads.rs (renamed from tests/codegen/loads.rs)0
-rw-r--r--tests/codegen-llvm/local-generics-in-exe-internalized.rs (renamed from tests/codegen/local-generics-in-exe-internalized.rs)0
-rw-r--r--tests/codegen-llvm/loongarch-abi/call-llvm-intrinsics.rs (renamed from tests/codegen/loongarch-abi/call-llvm-intrinsics.rs)0
-rw-r--r--tests/codegen-llvm/loongarch-abi/loongarch64-lp64d-abi.rs (renamed from tests/codegen/loongarch-abi/loongarch64-lp64d-abi.rs)0
-rw-r--r--tests/codegen-llvm/lto-removes-invokes.rs (renamed from tests/codegen/lto-removes-invokes.rs)0
-rw-r--r--tests/codegen-llvm/macos/i686-macosx-deployment-target.rs (renamed from tests/codegen/macos/i686-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen-llvm/macos/i686-no-macosx-deployment-target.rs (renamed from tests/codegen/macos/i686-no-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen-llvm/macos/x86_64-macosx-deployment-target.rs (renamed from tests/codegen/macos/x86_64-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen-llvm/macos/x86_64-no-macosx-deployment-target.rs (renamed from tests/codegen/macos/x86_64-no-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen-llvm/mainsubprogram.rs (renamed from tests/codegen/mainsubprogram.rs)0
-rw-r--r--tests/codegen-llvm/match-optimized.rs (renamed from tests/codegen/match-optimized.rs)0
-rw-r--r--tests/codegen-llvm/match-optimizes-away.rs (renamed from tests/codegen/match-optimizes-away.rs)0
-rw-r--r--tests/codegen-llvm/match-unoptimized.rs (renamed from tests/codegen/match-unoptimized.rs)0
-rw-r--r--tests/codegen-llvm/maybeuninit-rvo.rs (renamed from tests/codegen/maybeuninit-rvo.rs)0
-rw-r--r--tests/codegen-llvm/mem-replace-big-type.rs (renamed from tests/codegen/mem-replace-big-type.rs)0
-rw-r--r--tests/codegen-llvm/mem-replace-simple-type.rs (renamed from tests/codegen/mem-replace-simple-type.rs)0
-rw-r--r--tests/codegen-llvm/merge-functions.rs (renamed from tests/codegen/merge-functions.rs)0
-rw-r--r--tests/codegen-llvm/meta-filecheck/check-prefix.rs (renamed from tests/codegen/meta-filecheck/check-prefix.rs)0
-rw-r--r--tests/codegen-llvm/meta-filecheck/filecheck-flags.rs (renamed from tests/codegen/meta-filecheck/filecheck-flags.rs)0
-rw-r--r--tests/codegen-llvm/meta-filecheck/msvc-prefix-bad.rs (renamed from tests/codegen/meta-filecheck/msvc-prefix-bad.rs)0
-rw-r--r--tests/codegen-llvm/meta-filecheck/no-directives.rs (renamed from tests/codegen/meta-filecheck/no-directives.rs)0
-rw-r--r--tests/codegen-llvm/meta-filecheck/revision-prefix.rs (renamed from tests/codegen/meta-filecheck/revision-prefix.rs)0
-rw-r--r--tests/codegen-llvm/method-declaration.rs (renamed from tests/codegen/method-declaration.rs)0
-rw-r--r--tests/codegen-llvm/min-function-alignment.rs (renamed from tests/codegen/min-function-alignment.rs)6
-rw-r--r--tests/codegen-llvm/mir-aggregate-no-alloca.rs (renamed from tests/codegen/mir-aggregate-no-alloca.rs)0
-rw-r--r--tests/codegen-llvm/mir-inlined-line-numbers.rs (renamed from tests/codegen/mir-inlined-line-numbers.rs)0
-rw-r--r--tests/codegen-llvm/mir_zst_stores.rs (renamed from tests/codegen/mir_zst_stores.rs)0
-rw-r--r--tests/codegen-llvm/move-before-nocapture-ref-arg.rs (renamed from tests/codegen/move-before-nocapture-ref-arg.rs)0
-rw-r--r--tests/codegen-llvm/move-operands.rs (renamed from tests/codegen/move-operands.rs)0
-rw-r--r--tests/codegen-llvm/naked-asan.rs (renamed from tests/codegen/naked-asan.rs)0
-rw-r--r--tests/codegen-llvm/naked-fn/aligned.rs (renamed from tests/codegen/naked-fn/aligned.rs)5
-rw-r--r--tests/codegen-llvm/naked-fn/generics.rs (renamed from tests/codegen/naked-fn/generics.rs)0
-rw-r--r--tests/codegen-llvm/naked-fn/instruction-set.rs (renamed from tests/codegen/naked-fn/instruction-set.rs)0
-rw-r--r--tests/codegen-llvm/naked-fn/min-function-alignment.rs (renamed from tests/codegen/naked-fn/min-function-alignment.rs)6
-rw-r--r--tests/codegen-llvm/naked-fn/naked-functions.rs (renamed from tests/codegen/naked-fn/naked-functions.rs)0
-rw-r--r--tests/codegen-llvm/no-alloca-inside-if-false.rs (renamed from tests/codegen/no-alloca-inside-if-false.rs)0
-rw-r--r--tests/codegen-llvm/no-assumes-on-casts.rs (renamed from tests/codegen/no-assumes-on-casts.rs)0
-rw-r--r--tests/codegen-llvm/no-dllimport-w-cross-lang-lto.rs (renamed from tests/codegen/no-dllimport-w-cross-lang-lto.rs)0
-rw-r--r--tests/codegen-llvm/no-jump-tables.rs (renamed from tests/codegen/no-jump-tables.rs)0
-rw-r--r--tests/codegen-llvm/no-plt.rs (renamed from tests/codegen/no-plt.rs)0
-rw-r--r--tests/codegen-llvm/no-redundant-item-monomorphization.rs (renamed from tests/codegen/no-redundant-item-monomorphization.rs)0
-rw-r--r--tests/codegen-llvm/no_builtins-at-crate.rs (renamed from tests/codegen/no_builtins-at-crate.rs)0
-rw-r--r--tests/codegen-llvm/noalias-box-off.rs (renamed from tests/codegen/noalias-box-off.rs)0
-rw-r--r--tests/codegen-llvm/noalias-box.rs (renamed from tests/codegen/noalias-box.rs)0
-rw-r--r--tests/codegen-llvm/noalias-flag.rs (renamed from tests/codegen/noalias-flag.rs)0
-rw-r--r--tests/codegen-llvm/noalias-freeze.rs (renamed from tests/codegen/noalias-freeze.rs)0
-rw-r--r--tests/codegen-llvm/noalias-refcell.rs (renamed from tests/codegen/noalias-refcell.rs)0
-rw-r--r--tests/codegen-llvm/noalias-rwlockreadguard.rs (renamed from tests/codegen/noalias-rwlockreadguard.rs)0
-rw-r--r--tests/codegen-llvm/noalias-unpin.rs (renamed from tests/codegen/noalias-unpin.rs)0
-rw-r--r--tests/codegen-llvm/non-terminate/infinite-loop-1.rs (renamed from tests/codegen/non-terminate/infinite-loop-1.rs)0
-rw-r--r--tests/codegen-llvm/non-terminate/infinite-loop-2.rs (renamed from tests/codegen/non-terminate/infinite-loop-2.rs)0
-rw-r--r--tests/codegen-llvm/non-terminate/infinite-recursion.rs (renamed from tests/codegen/non-terminate/infinite-recursion.rs)0
-rw-r--r--tests/codegen-llvm/non-terminate/nonempty-infinite-loop.rs (renamed from tests/codegen/non-terminate/nonempty-infinite-loop.rs)0
-rw-r--r--tests/codegen-llvm/noreturn-uninhabited.rs (renamed from tests/codegen/noreturn-uninhabited.rs)0
-rw-r--r--tests/codegen-llvm/noreturnflag.rs (renamed from tests/codegen/noreturnflag.rs)0
-rw-r--r--tests/codegen-llvm/nounwind.rs (renamed from tests/codegen/nounwind.rs)0
-rw-r--r--tests/codegen-llvm/nrvo.rs (renamed from tests/codegen/nrvo.rs)0
-rw-r--r--tests/codegen-llvm/optimize-attr-1.rs (renamed from tests/codegen/optimize-attr-1.rs)0
-rw-r--r--tests/codegen-llvm/option-as-slice.rs (renamed from tests/codegen/option-as-slice.rs)0
-rw-r--r--tests/codegen-llvm/option-niche-eq.rs (renamed from tests/codegen/option-niche-eq.rs)0
-rw-r--r--tests/codegen-llvm/option-niche-unfixed/option-nonzero-eq.rs (renamed from tests/codegen/option-niche-unfixed/option-nonzero-eq.rs)0
-rw-r--r--tests/codegen-llvm/overaligned-constant.rs (renamed from tests/codegen/overaligned-constant.rs)0
-rw-r--r--tests/codegen-llvm/packed.rs (renamed from tests/codegen/packed.rs)0
-rw-r--r--tests/codegen-llvm/panic-abort-windows.rs (renamed from tests/codegen/panic-abort-windows.rs)0
-rw-r--r--tests/codegen-llvm/panic-in-drop-abort.rs (renamed from tests/codegen/panic-in-drop-abort.rs)0
-rw-r--r--tests/codegen-llvm/panic-unwind-default-uwtable.rs (renamed from tests/codegen/panic-unwind-default-uwtable.rs)0
-rw-r--r--tests/codegen-llvm/patchable-function-entry/patchable-function-entry-both-flags.rs (renamed from tests/codegen/patchable-function-entry/patchable-function-entry-both-flags.rs)0
-rw-r--r--tests/codegen-llvm/patchable-function-entry/patchable-function-entry-no-flag.rs (renamed from tests/codegen/patchable-function-entry/patchable-function-entry-no-flag.rs)0
-rw-r--r--tests/codegen-llvm/patchable-function-entry/patchable-function-entry-one-flag.rs (renamed from tests/codegen/patchable-function-entry/patchable-function-entry-one-flag.rs)0
-rw-r--r--tests/codegen-llvm/pattern_type_symbols.rs (renamed from tests/codegen/pattern_type_symbols.rs)0
-rw-r--r--tests/codegen-llvm/personality_lifetimes.rs (renamed from tests/codegen/personality_lifetimes.rs)0
-rw-r--r--tests/codegen-llvm/pgo-counter-bias.rs (renamed from tests/codegen/pgo-counter-bias.rs)0
-rw-r--r--tests/codegen-llvm/pgo-instrumentation.rs (renamed from tests/codegen/pgo-instrumentation.rs)0
-rw-r--r--tests/codegen-llvm/pic-relocation-model.rs (renamed from tests/codegen/pic-relocation-model.rs)0
-rw-r--r--tests/codegen-llvm/pie-relocation-model.rs (renamed from tests/codegen/pie-relocation-model.rs)0
-rw-r--r--tests/codegen-llvm/placement-new.rs (renamed from tests/codegen/placement-new.rs)0
-rw-r--r--tests/codegen-llvm/powerpc64le-struct-align-128.rs (renamed from tests/codegen/powerpc64le-struct-align-128.rs)0
-rw-r--r--tests/codegen-llvm/precondition-checks.rs (renamed from tests/codegen/precondition-checks.rs)0
-rw-r--r--tests/codegen-llvm/ptr-arithmetic.rs (renamed from tests/codegen/ptr-arithmetic.rs)0
-rw-r--r--tests/codegen-llvm/ptr-read-metadata.rs (renamed from tests/codegen/ptr-read-metadata.rs)0
-rw-r--r--tests/codegen-llvm/range-attribute.rs (renamed from tests/codegen/range-attribute.rs)0
-rw-r--r--tests/codegen-llvm/range-loop.rs (renamed from tests/codegen/range-loop.rs)0
-rw-r--r--tests/codegen-llvm/range_to_inclusive.rs (renamed from tests/codegen/range_to_inclusive.rs)0
-rw-r--r--tests/codegen-llvm/refs.rs (renamed from tests/codegen/refs.rs)0
-rw-r--r--tests/codegen-llvm/reg-struct-return.rs (renamed from tests/codegen/reg-struct-return.rs)0
-rw-r--r--tests/codegen-llvm/regparm-inreg.rs (renamed from tests/codegen/regparm-inreg.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/aux_mod.rs (renamed from tests/codegen/remap_path_prefix/aux_mod.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs (renamed from tests/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/auxiliary/xcrate-generic.rs (renamed from tests/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/issue-73167-remap-std.rs (renamed from tests/codegen/remap_path_prefix/issue-73167-remap-std.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/main.rs (renamed from tests/codegen/remap_path_prefix/main.rs)0
-rw-r--r--tests/codegen-llvm/remap_path_prefix/xcrate-generic.rs (renamed from tests/codegen/remap_path_prefix/xcrate-generic.rs)0
-rw-r--r--tests/codegen-llvm/repeat-operand-zero-len.rs28
-rw-r--r--tests/codegen-llvm/repeat-operand-zst-elem.rs28
-rw-r--r--tests/codegen-llvm/repeat-trusted-len.rs (renamed from tests/codegen/repeat-trusted-len.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-byval-struct-ptr.rs (renamed from tests/codegen/repr/transparent-byval-struct-ptr.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-imm-array.rs (renamed from tests/codegen/repr/transparent-imm-array.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-mips64.rs (renamed from tests/codegen/repr/transparent-mips64.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-opaque-ptr.rs (renamed from tests/codegen/repr/transparent-opaque-ptr.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-sparc64.rs (renamed from tests/codegen/repr/transparent-sparc64.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent-sysv64.rs (renamed from tests/codegen/repr/transparent-sysv64.rs)0
-rw-r--r--tests/codegen-llvm/repr/transparent.rs (renamed from tests/codegen/repr/transparent.rs)0
-rw-r--r--tests/codegen-llvm/retpoline.rs (renamed from tests/codegen/retpoline.rs)0
-rw-r--r--tests/codegen-llvm/riscv-abi/call-llvm-intrinsics.rs (renamed from tests/codegen/riscv-abi/call-llvm-intrinsics.rs)0
-rw-r--r--tests/codegen-llvm/riscv-abi/cast-local-large-enough.rs (renamed from tests/codegen/riscv-abi/cast-local-large-enough.rs)0
-rw-r--r--tests/codegen-llvm/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs (renamed from tests/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs)0
-rw-r--r--tests/codegen-llvm/riscv-abi/riscv64-lp64d-abi.rs (renamed from tests/codegen/riscv-abi/riscv64-lp64d-abi.rs)0
-rw-r--r--tests/codegen-llvm/riscv-abi/riscv64-lp64f-lp64d-abi.rs (renamed from tests/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs)0
-rw-r--r--tests/codegen-llvm/riscv-target-abi.rs (renamed from tests/codegen/riscv-target-abi.rs)0
-rw-r--r--tests/codegen-llvm/rust-abi-arch-specific-adjustment.rs (renamed from tests/codegen/rust-abi-arch-specific-adjustment.rs)0
-rw-r--r--tests/codegen-llvm/s390x-simd.rs (renamed from tests/codegen/s390x-simd.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs (renamed from tests/codegen/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/address-sanitizer-globals-tracking.rs (renamed from tests/codegen/sanitizer/address-sanitizer-globals-tracking.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/add-canonical-jump-tables-flag.rs (renamed from tests/codegen/sanitizer/cfi/add-canonical-jump-tables-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/add-cfi-normalize-integers-flag.rs (renamed from tests/codegen/sanitizer/cfi/add-cfi-normalize-integers-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/add-enable-split-lto-unit-flag.rs (renamed from tests/codegen/sanitizer/cfi/add-enable-split-lto-unit-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/dbg-location-on-cfi-blocks.rs (renamed from tests/codegen/sanitizer/cfi/dbg-location-on-cfi-blocks.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-checks.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-checks.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-trait-objects.rs (renamed from tests/codegen/sanitizer/cfi/emit-type-metadata-trait-objects.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs (renamed from tests/codegen/sanitizer/cfi/external_weak_symbols.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/generalize-pointers.rs (renamed from tests/codegen/sanitizer/cfi/generalize-pointers.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/cfi/normalize-integers.rs (renamed from tests/codegen/sanitizer/cfi/normalize-integers.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/dataflow-instrument-functions.rs (renamed from tests/codegen/sanitizer/dataflow-instrument-functions.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kasan-emits-instrumentation.rs (renamed from tests/codegen/sanitizer/kasan-emits-instrumentation.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs (renamed from tests/codegen/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/add-kcfi-arity-flag.rs (renamed from tests/codegen/sanitizer/kcfi/add-kcfi-arity-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/add-kcfi-flag.rs (renamed from tests/codegen/sanitizer/kcfi/add-kcfi-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/add-kcfi-offset-flag.rs (renamed from tests/codegen/sanitizer/kcfi/add-kcfi-offset-flag.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle.rs (renamed from tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/emit-type-metadata-trait-objects.rs (renamed from tests/codegen/sanitizer/kcfi/emit-type-metadata-trait-objects.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/kcfi/naked-function.rs (renamed from tests/codegen/sanitizer/kcfi/naked-function.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/memory-track-origins.rs (renamed from tests/codegen/sanitizer/memory-track-origins.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/memtag-attr-check.rs (renamed from tests/codegen/sanitizer/memtag-attr-check.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/no-sanitize-inlining.rs (renamed from tests/codegen/sanitizer/no-sanitize-inlining.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/no-sanitize.rs (renamed from tests/codegen/sanitizer/no-sanitize.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/riscv64-shadow-call-stack.rs (renamed from tests/codegen/sanitizer/riscv64-shadow-call-stack.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/safestack-attr-check.rs (renamed from tests/codegen/sanitizer/safestack-attr-check.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/sanitizer-recover.rs (renamed from tests/codegen/sanitizer/sanitizer-recover.rs)0
-rw-r--r--tests/codegen-llvm/sanitizer/scs-attr-check.rs (renamed from tests/codegen/sanitizer/scs-attr-check.rs)0
-rw-r--r--tests/codegen-llvm/scalar-pair-bool.rs (renamed from tests/codegen/scalar-pair-bool.rs)0
-rw-r--r--tests/codegen-llvm/set-discriminant-invalid.rs (renamed from tests/codegen/set-discriminant-invalid.rs)0
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-abs.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-abs.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-ceil.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-ceil.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-cos.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-cos.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-exp.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp2.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-exp2.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-floor.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-floor.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fma.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-fma.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fsqrt.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-fsqrt.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-log.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log10.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-log10.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log2.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-log2.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-minmax.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs)8
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-sin.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-float-sin.rs)32
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs)63
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-bitmask.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs)16
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs)13
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-load.rs)13
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-store.rs)13
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs)13
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-select.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-generic-select.rs)24
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-mask-reduce.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-mask-reduce.rs)13
-rw-r--r--tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs (renamed from tests/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs)15
-rw-r--r--tests/codegen-llvm/simd/aggregate-simd.rs (renamed from tests/codegen/simd/aggregate-simd.rs)10
-rw-r--r--tests/codegen-llvm/simd/extract-insert-dyn.rs (renamed from tests/codegen/simd/extract-insert-dyn.rs)0
-rw-r--r--tests/codegen-llvm/simd/packed-simd-alignment.rs (renamed from tests/codegen/simd/packed-simd-alignment.rs)0
-rw-r--r--tests/codegen-llvm/simd/packed-simd.rs (renamed from tests/codegen/simd/packed-simd.rs)12
-rw-r--r--tests/codegen-llvm/simd/simd-wide-sum.rs (renamed from tests/codegen/simd/simd-wide-sum.rs)0
-rw-r--r--tests/codegen-llvm/simd/simd_arith_offset.rs (renamed from tests/codegen/simd/simd_arith_offset.rs)12
-rw-r--r--tests/codegen-llvm/simd/swap-simd-types.rs (renamed from tests/codegen/simd/swap-simd-types.rs)0
-rw-r--r--tests/codegen-llvm/simd/unpadded-simd.rs (renamed from tests/codegen/simd/unpadded-simd.rs)0
-rw-r--r--tests/codegen-llvm/skip-mono-inside-if-false.rs (renamed from tests/codegen/skip-mono-inside-if-false.rs)0
-rw-r--r--tests/codegen-llvm/slice-as_chunks.rs (renamed from tests/codegen/slice-as_chunks.rs)0
-rw-r--r--tests/codegen-llvm/slice-indexing.rs (renamed from tests/codegen/slice-indexing.rs)0
-rw-r--r--tests/codegen-llvm/slice-init.rs (renamed from tests/codegen/slice-init.rs)0
-rw-r--r--tests/codegen-llvm/slice-is-ascii.rs (renamed from tests/codegen/slice-is-ascii.rs)0
-rw-r--r--tests/codegen-llvm/slice-iter-fold.rs (renamed from tests/codegen/slice-iter-fold.rs)0
-rw-r--r--tests/codegen-llvm/slice-iter-len-eq-zero.rs (renamed from tests/codegen/slice-iter-len-eq-zero.rs)0
-rw-r--r--tests/codegen-llvm/slice-iter-nonnull.rs (renamed from tests/codegen/slice-iter-nonnull.rs)0
-rw-r--r--tests/codegen-llvm/slice-last-elements-optimization.rs (renamed from tests/codegen/slice-last-elements-optimization.rs)0
-rw-r--r--tests/codegen-llvm/slice-pointer-nonnull-unwrap.rs (renamed from tests/codegen/slice-pointer-nonnull-unwrap.rs)0
-rw-r--r--tests/codegen-llvm/slice-position-bounds-check.rs (renamed from tests/codegen/slice-position-bounds-check.rs)0
-rw-r--r--tests/codegen-llvm/slice-ref-equality.rs (renamed from tests/codegen/slice-ref-equality.rs)0
-rw-r--r--tests/codegen-llvm/slice-reverse.rs (renamed from tests/codegen/slice-reverse.rs)0
-rw-r--r--tests/codegen-llvm/slice-split-at.rs (renamed from tests/codegen/slice-split-at.rs)0
-rw-r--r--tests/codegen-llvm/slice-windows-no-bounds-check.rs (renamed from tests/codegen/slice-windows-no-bounds-check.rs)0
-rw-r--r--tests/codegen-llvm/slice_as_from_ptr_range.rs (renamed from tests/codegen/slice_as_from_ptr_range.rs)0
-rw-r--r--tests/codegen-llvm/some-abis-do-extend-params-to-32-bits.rs (renamed from tests/codegen/some-abis-do-extend-params-to-32-bits.rs)0
-rw-r--r--tests/codegen-llvm/some-global-nonnull.rs (renamed from tests/codegen/some-global-nonnull.rs)0
-rw-r--r--tests/codegen-llvm/sparc-struct-abi.rs (renamed from tests/codegen/sparc-struct-abi.rs)0
-rw-r--r--tests/codegen-llvm/split-lto-unit.rs (renamed from tests/codegen/split-lto-unit.rs)0
-rw-r--r--tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-md5.rs (renamed from tests/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs)0
-rw-r--r--tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha1.rs (renamed from tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs)0
-rw-r--r--tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha256.rs (renamed from tests/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs)0
-rw-r--r--tests/codegen-llvm/sroa-fragment-debuginfo.rs (renamed from tests/codegen/sroa-fragment-debuginfo.rs)0
-rw-r--r--tests/codegen-llvm/sse42-implies-crc32.rs (renamed from tests/codegen/sse42-implies-crc32.rs)0
-rw-r--r--tests/codegen-llvm/stack-probes-inline.rs (renamed from tests/codegen/stack-probes-inline.rs)0
-rw-r--r--tests/codegen-llvm/stack-protector.rs (renamed from tests/codegen/stack-protector.rs)0
-rw-r--r--tests/codegen-llvm/static-relocation-model-msvc.rs (renamed from tests/codegen/static-relocation-model-msvc.rs)0
-rw-r--r--tests/codegen-llvm/staticlib-external-inline-fns.rs (renamed from tests/codegen/staticlib-external-inline-fns.rs)0
-rw-r--r--tests/codegen-llvm/step_by-overflow-checks.rs (renamed from tests/codegen/step_by-overflow-checks.rs)0
-rw-r--r--tests/codegen-llvm/stores.rs (renamed from tests/codegen/stores.rs)0
-rw-r--r--tests/codegen-llvm/string-push.rs (renamed from tests/codegen/string-push.rs)0
-rw-r--r--tests/codegen-llvm/swap-large-types.rs (renamed from tests/codegen/swap-large-types.rs)0
-rw-r--r--tests/codegen-llvm/swap-small-types.rs (renamed from tests/codegen/swap-small-types.rs)0
-rw-r--r--tests/codegen-llvm/target-cpu-on-functions.rs (renamed from tests/codegen/target-cpu-on-functions.rs)0
-rw-r--r--tests/codegen-llvm/target-feature-inline-closure.rs (renamed from tests/codegen/target-feature-inline-closure.rs)0
-rw-r--r--tests/codegen-llvm/target-feature-negative-implication.rs (renamed from tests/codegen/target-feature-negative-implication.rs)0
-rw-r--r--tests/codegen-llvm/target-feature-overrides.rs (renamed from tests/codegen/target-feature-overrides.rs)2
-rw-r--r--tests/codegen-llvm/terminating-catchpad.rs (renamed from tests/codegen/terminating-catchpad.rs)0
-rw-r--r--tests/codegen-llvm/thread-local.rs (renamed from tests/codegen/thread-local.rs)0
-rw-r--r--tests/codegen-llvm/tied-features-strength.rs (renamed from tests/codegen/tied-features-strength.rs)0
-rw-r--r--tests/codegen-llvm/to_vec.rs (renamed from tests/codegen/to_vec.rs)0
-rw-r--r--tests/codegen-llvm/trailing_zeros.rs (renamed from tests/codegen/trailing_zeros.rs)0
-rw-r--r--tests/codegen-llvm/transmute-optimized.rs (renamed from tests/codegen/transmute-optimized.rs)0
-rw-r--r--tests/codegen-llvm/transmute-scalar.rs (renamed from tests/codegen/transmute-scalar.rs)0
-rw-r--r--tests/codegen-llvm/try_question_mark_nop.rs (renamed from tests/codegen/try_question_mark_nop.rs)0
-rw-r--r--tests/codegen-llvm/tune-cpu-on-functions.rs (renamed from tests/codegen/tune-cpu-on-functions.rs)0
-rw-r--r--tests/codegen-llvm/tuple-layout-opt.rs (renamed from tests/codegen/tuple-layout-opt.rs)0
-rw-r--r--tests/codegen-llvm/ub-checks.rs (renamed from tests/codegen/ub-checks.rs)0
-rw-r--r--tests/codegen-llvm/unchecked-float-casts.rs (renamed from tests/codegen/unchecked-float-casts.rs)0
-rw-r--r--tests/codegen-llvm/unchecked_shifts.rs (renamed from tests/codegen/unchecked_shifts.rs)0
-rw-r--r--tests/codegen-llvm/uninhabited-transparent-return-abi.rs (renamed from tests/codegen/uninhabited-transparent-return-abi.rs)0
-rw-r--r--tests/codegen-llvm/uninit-consts.rs (renamed from tests/codegen/uninit-consts.rs)0
-rw-r--r--tests/codegen-llvm/uninit-repeat-in-aggregate.rs (renamed from tests/codegen/uninit-repeat-in-aggregate.rs)0
-rw-r--r--tests/codegen-llvm/union-abi.rs (renamed from tests/codegen/union-abi.rs)0
-rw-r--r--tests/codegen-llvm/union-aggregate.rs (renamed from tests/codegen/union-aggregate.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/aapcs-unwind-abi.rs (renamed from tests/codegen/unwind-abis/aapcs-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/c-unwind-abi-panic-abort.rs (renamed from tests/codegen/unwind-abis/c-unwind-abi-panic-abort.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/c-unwind-abi.rs (renamed from tests/codegen/unwind-abis/c-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/cdecl-unwind-abi.rs (renamed from tests/codegen/unwind-abis/cdecl-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/fastcall-unwind-abi.rs (renamed from tests/codegen/unwind-abis/fastcall-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/nounwind-on-stable-panic-abort.rs (renamed from tests/codegen/unwind-abis/nounwind-on-stable-panic-abort.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/nounwind.rs (renamed from tests/codegen/unwind-abis/nounwind.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/stdcall-unwind-abi.rs (renamed from tests/codegen/unwind-abis/stdcall-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/system-unwind-abi.rs (renamed from tests/codegen/unwind-abis/system-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/sysv64-unwind-abi.rs (renamed from tests/codegen/unwind-abis/sysv64-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/thiscall-unwind-abi.rs (renamed from tests/codegen/unwind-abis/thiscall-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/vectorcall-unwind-abi.rs (renamed from tests/codegen/unwind-abis/vectorcall-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-abis/win64-unwind-abi.rs (renamed from tests/codegen/unwind-abis/win64-unwind-abi.rs)0
-rw-r--r--tests/codegen-llvm/unwind-and-panic-abort.rs (renamed from tests/codegen/unwind-and-panic-abort.rs)0
-rw-r--r--tests/codegen-llvm/unwind-extern-exports.rs (renamed from tests/codegen/unwind-extern-exports.rs)0
-rw-r--r--tests/codegen-llvm/unwind-extern-imports.rs (renamed from tests/codegen/unwind-extern-imports.rs)0
-rw-r--r--tests/codegen-llvm/unwind-landingpad-cold.rs (renamed from tests/codegen/unwind-landingpad-cold.rs)0
-rw-r--r--tests/codegen-llvm/unwind-landingpad-inline.rs (renamed from tests/codegen/unwind-landingpad-inline.rs)0
-rw-r--r--tests/codegen-llvm/used_with_arg.rs (renamed from tests/codegen/used_with_arg.rs)0
-rw-r--r--tests/codegen-llvm/var-names.rs (renamed from tests/codegen/var-names.rs)0
-rw-r--r--tests/codegen-llvm/vec-as-ptr.rs (renamed from tests/codegen/vec-as-ptr.rs)0
-rw-r--r--tests/codegen-llvm/vec-calloc.rs (renamed from tests/codegen/vec-calloc.rs)0
-rw-r--r--tests/codegen-llvm/vec-in-place.rs (renamed from tests/codegen/vec-in-place.rs)0
-rw-r--r--tests/codegen-llvm/vec-iter-collect-len.rs (renamed from tests/codegen/vec-iter-collect-len.rs)0
-rw-r--r--tests/codegen-llvm/vec-iter.rs (renamed from tests/codegen/vec-iter.rs)0
-rw-r--r--tests/codegen-llvm/vec-len-invariant.rs (renamed from tests/codegen/vec-len-invariant.rs)0
-rw-r--r--tests/codegen-llvm/vec-optimizes-away.rs (renamed from tests/codegen/vec-optimizes-away.rs)0
-rw-r--r--tests/codegen-llvm/vec-reserve-extend.rs (renamed from tests/codegen/vec-reserve-extend.rs)0
-rw-r--r--tests/codegen-llvm/vec-shrink-panik.rs (renamed from tests/codegen/vec-shrink-panik.rs)0
-rw-r--r--tests/codegen-llvm/vec-with-capacity.rs (renamed from tests/codegen/vec-with-capacity.rs)0
-rw-r--r--tests/codegen-llvm/vec_pop_push_noop.rs (renamed from tests/codegen/vec_pop_push_noop.rs)0
-rw-r--r--tests/codegen-llvm/vecdeque-drain.rs (renamed from tests/codegen/vecdeque-drain.rs)0
-rw-r--r--tests/codegen-llvm/vecdeque-nonempty-get-no-panic.rs (renamed from tests/codegen/vecdeque-nonempty-get-no-panic.rs)0
-rw-r--r--tests/codegen-llvm/vecdeque_no_panic.rs (renamed from tests/codegen/vecdeque_no_panic.rs)0
-rw-r--r--tests/codegen-llvm/vecdeque_pop_push.rs (renamed from tests/codegen/vecdeque_pop_push.rs)0
-rw-r--r--tests/codegen-llvm/virtual-call-attrs-issue-137646.rs (renamed from tests/codegen/virtual-call-attrs-issue-137646.rs)0
-rw-r--r--tests/codegen-llvm/virtual-function-elimination-32bit.rs (renamed from tests/codegen/virtual-function-elimination-32bit.rs)0
-rw-r--r--tests/codegen-llvm/virtual-function-elimination.rs (renamed from tests/codegen/virtual-function-elimination.rs)0
-rw-r--r--tests/codegen-llvm/vtable-loads.rs (renamed from tests/codegen/vtable-loads.rs)0
-rw-r--r--tests/codegen-llvm/vtable-upcast.rs (renamed from tests/codegen/vtable-upcast.rs)0
-rw-r--r--tests/codegen-llvm/wasm_casts_trapping.rs (renamed from tests/codegen/wasm_casts_trapping.rs)0
-rw-r--r--tests/codegen-llvm/wasm_exceptions.rs (renamed from tests/codegen/wasm_exceptions.rs)0
-rw-r--r--tests/codegen-llvm/zip.rs (renamed from tests/codegen/zip.rs)0
-rw-r--r--tests/codegen-llvm/zst-offset.rs (renamed from tests/codegen/zst-offset.rs)0
-rw-r--r--tests/codegen/simd/project-to-simd-array-field.rs31
-rw-r--r--tests/coverage/async_closure.cov-map21
-rw-r--r--tests/crashes/121097.rs10
-rw-r--r--tests/crashes/140100.rs7
-rw-r--r--tests/crashes/140365.rs8
-rw-r--r--tests/mir-opt/building/enum_cast.bar.built.after.mir5
-rw-r--r--tests/mir-opt/building/enum_cast.boo.built.after.mir5
-rw-r--r--tests/mir-opt/building/enum_cast.far.built.after.mir5
-rw-r--r--tests/mir-opt/building/enum_cast.offsetty.built.after.mir9
-rw-r--r--tests/mir-opt/building/enum_cast.rs7
-rw-r--r--tests/mir-opt/building/enum_cast.signy.built.after.mir9
-rw-r--r--tests/mir-opt/building/issue_101867.main.built.after.mir4
-rw-r--r--tests/mir-opt/building/storage_live_dead_in_statics.XXX.built.after.mir4
-rw-r--r--tests/mir-opt/building/user_type_annotations.let_else.built.after.mir6
-rw-r--r--tests/mir-opt/building/user_type_annotations.let_else_bindless.built.after.mir6
-rw-r--r--tests/mir-opt/const_debuginfo.main.SingleUseConsts.diff2
-rw-r--r--tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-abort.diff4
-rw-r--r--tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-unwind.diff4
-rw-r--r--tests/mir-opt/coverage/branch_match_arms.main.InstrumentCoverage.diff2
-rw-r--r--tests/mir-opt/coverage/instrument_coverage.bar.InstrumentCoverage.diff2
-rw-r--r--tests/mir-opt/coverage/instrument_coverage.main.InstrumentCoverage.diff4
-rw-r--r--tests/mir-opt/coverage/instrument_coverage_cleanup.main.CleanupPostBorrowck.diff4
-rw-r--r--tests/mir-opt/coverage/instrument_coverage_cleanup.main.InstrumentCoverage.diff4
-rw-r--r--tests/mir-opt/dead-store-elimination/place_mention.main.DeadStoreElimination-initial.diff8
-rw-r--r--tests/mir-opt/gvn.duplicate_slice.GVN.panic-abort.diff20
-rw-r--r--tests/mir-opt/gvn.duplicate_slice.GVN.panic-unwind.diff20
-rw-r--r--tests/mir-opt/gvn.fn_pointers.GVN.panic-abort.diff18
-rw-r--r--tests/mir-opt/gvn.fn_pointers.GVN.panic-unwind.diff18
-rw-r--r--tests/mir-opt/gvn.rs19
-rw-r--r--tests/mir-opt/gvn.slices.GVN.panic-abort.diff14
-rw-r--r--tests/mir-opt/gvn.slices.GVN.panic-unwind.diff14
-rw-r--r--tests/mir-opt/gvn.wrap_unwrap.GVN.panic-abort.diff2
-rw-r--r--tests/mir-opt/gvn.wrap_unwrap.GVN.panic-unwind.diff2
-rw-r--r--tests/mir-opt/inline/inline_diverging.g.Inline.panic-abort.diff4
-rw-r--r--tests/mir-opt/inline/inline_diverging.g.Inline.panic-unwind.diff4
-rw-r--r--tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff9
-rw-r--r--tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff9
-rw-r--r--tests/mir-opt/instsimplify/aggregate_array.strs.InstSimplify-after-simplifycfg.diff4
-rw-r--r--tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff6
-rw-r--r--tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff6
-rw-r--r--tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir4
-rw-r--r--tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir4
-rw-r--r--tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir2
-rw-r--r--tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir2
-rw-r--r--tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff11
-rw-r--r--tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff11
-rw-r--r--tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-abort.diff12
-rw-r--r--tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-unwind.diff12
-rw-r--r--tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff12
-rw-r--r--tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff12
-rw-r--r--tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff4
-rw-r--r--tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff8
-rw-r--r--tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff8
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff8
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff8
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff20
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff20
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff16
-rw-r--r--tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff12
-rw-r--r--tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff12
-rw-r--r--tests/pretty/hir-delegation.pp2
-rw-r--r--tests/pretty/hir-fn-params.pp2
-rw-r--r--tests/pretty/hir-fn-variadic.pp2
-rw-r--r--tests/pretty/hir-if-else.pp2
-rw-r--r--tests/pretty/hir-lifetimes.pp2
-rw-r--r--tests/pretty/hir-pretty-attr.pp2
-rw-r--r--tests/pretty/hir-pretty-loop.pp2
-rw-r--r--tests/pretty/hir-struct-expr.pp2
-rw-r--r--tests/pretty/issue-4264.pp2
-rw-r--r--tests/pretty/issue-85089.pp2
-rw-r--r--tests/pretty/pin-ergonomics-hir.pp2
-rw-r--r--tests/run-make/avr-rjmp-offset/rmake.rs2
-rw-r--r--tests/run-make/llvm-ident/rmake.rs2
-rw-r--r--tests/run-make/rustdoc-target-spec-json-path/target.json1
-rw-r--r--tests/run-make/target-specs/endianness-mismatch.json1
-rw-r--r--tests/run-make/target-specs/my-awesome-platform.json4
-rw-r--r--tests/run-make/target-specs/my-incomplete-platform.json4
-rw-r--r--tests/run-make/target-specs/my-x86_64-unknown-linux-gnu-platform.json4
-rw-r--r--tests/run-make/target-specs/require-explicit-cpu.json1
-rw-r--r--tests/run-make/target-specs/rmake.rs4
-rw-r--r--tests/rustdoc-js-std/alias-lev.js11
-rw-r--r--tests/rustdoc-js/non-english-identifier.js17
-rw-r--r--tests/ui-fulldeps/rustc_public/check_abi.rs (renamed from tests/ui-fulldeps/stable-mir/check_abi.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_allocation.rs (renamed from tests/ui-fulldeps/stable-mir/check_allocation.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_assoc_items.rs (renamed from tests/ui-fulldeps/stable-mir/check_assoc_items.rs)0
-rw-r--r--tests/ui-fulldeps/rustc_public/check_attribute.rs (renamed from tests/ui-fulldeps/stable-mir/check_attribute.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_binop.rs (renamed from tests/ui-fulldeps/stable-mir/check_binop.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_coroutine_body.rs (renamed from tests/ui-fulldeps/stable-mir/check_coroutine_body.rs)0
-rw-r--r--tests/ui-fulldeps/rustc_public/check_crate_defs.rs (renamed from tests/ui-fulldeps/stable-mir/check_crate_defs.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_def_ty.rs (renamed from tests/ui-fulldeps/stable-mir/check_def_ty.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_defs.rs (renamed from tests/ui-fulldeps/stable-mir/check_defs.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_foreign.rs (renamed from tests/ui-fulldeps/stable-mir/check_foreign.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_instance.rs (renamed from tests/ui-fulldeps/stable-mir/check_instance.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_intrinsics.rs (renamed from tests/ui-fulldeps/stable-mir/check_intrinsics.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_item_kind.rs (renamed from tests/ui-fulldeps/stable-mir/check_item_kind.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_normalization.rs (renamed from tests/ui-fulldeps/stable-mir/check_normalization.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_trait_queries.rs (renamed from tests/ui-fulldeps/stable-mir/check_trait_queries.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_transform.rs (renamed from tests/ui-fulldeps/stable-mir/check_transform.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_ty_fold.rs (renamed from tests/ui-fulldeps/stable-mir/check_ty_fold.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/check_variant.rs (renamed from tests/ui-fulldeps/stable-mir/check_variant.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/closure-generic-body.rs (renamed from tests/ui-fulldeps/stable-mir/closure-generic-body.rs)0
-rw-r--r--tests/ui-fulldeps/rustc_public/closure_body.rs (renamed from tests/ui-fulldeps/stable-mir/closure_body.rs)0
-rw-r--r--tests/ui-fulldeps/rustc_public/compilation-result.rs (renamed from tests/ui-fulldeps/stable-mir/compilation-result.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/crate-info.rs (renamed from tests/ui-fulldeps/stable-mir/crate-info.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/projections.rs (renamed from tests/ui-fulldeps/stable-mir/projections.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/smir_internal.rs (renamed from tests/ui-fulldeps/stable-mir/smir_internal.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/smir_serde.rs (renamed from tests/ui-fulldeps/stable-mir/smir_serde.rs)2
-rw-r--r--tests/ui-fulldeps/rustc_public/smir_visitor.rs (renamed from tests/ui-fulldeps/stable-mir/smir_visitor.rs)2
-rw-r--r--tests/ui/SUMMARY.md4
-rw-r--r--tests/ui/abi/fixed_x18.rs2
-rw-r--r--tests/ui/asm/naked-with-invalid-repr-attr.rs6
-rw-r--r--tests/ui/asm/naked-with-invalid-repr-attr.stderr12
-rw-r--r--tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.rs9
-rw-r--r--tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr13
-rw-r--r--tests/ui/attributes/fn-align-dyn.rs7
-rw-r--r--tests/ui/attributes/fn-align-nameres-ambiguity-143834.rs19
-rw-r--r--tests/ui/attributes/invalid-macro-use.rs53
-rw-r--r--tests/ui/attributes/invalid-macro-use.stderr131
-rw-r--r--tests/ui/attributes/malformed-attrs.rs5
-rw-r--r--tests/ui/attributes/malformed-attrs.stderr189
-rw-r--r--tests/ui/attributes/malformed-fn-align.rs35
-rw-r--r--tests/ui/attributes/malformed-fn-align.stderr116
-rw-r--r--tests/ui/backtrace/std-backtrace.rs8
-rw-r--r--tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr2
-rw-r--r--tests/ui/borrowck/copy-overflow.rs16
-rw-r--r--tests/ui/borrowck/copy-overflow.stderr15
-rw-r--r--tests/ui/cfg/conditional-compile-arch.rs3
-rw-r--r--tests/ui/cfg/crt-static-with-target-features-works.rs24
-rw-r--r--tests/ui/cfg/crt-static-with-target-features-works.stderr8
-rw-r--r--tests/ui/check-cfg/my-awesome-platform.json1
-rw-r--r--tests/ui/closures/2229_closure_analysis/issue-90465.stderr2
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr6
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.stderr2
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr4
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/macro.stderr2
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr4
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr2
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr10
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/precise.stderr4
-rw-r--r--tests/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr20
-rw-r--r--tests/ui/codegen/mismatched-data-layout.json1
-rw-r--r--tests/ui/codegen/mismatched-data-layouts.rs1
-rw-r--r--tests/ui/codegen/mismatched-data-layouts.stderr2
-rw-r--r--tests/ui/const-generics/generic_const_exprs/type-alias-bounds.neg.stderr25
-rw-r--r--tests/ui/const-generics/generic_const_exprs/type-alias-bounds.rs1
-rw-r--r--tests/ui/consts/const-eval/const_panic_stability.e2018.stderr2
-rw-r--r--tests/ui/consts/const-try-feature-gate.rs2
-rw-r--r--tests/ui/consts/const-try-feature-gate.stderr36
-rw-r--r--tests/ui/consts/const-try.rs8
-rw-r--r--tests/ui/consts/const-try.stderr37
-rw-r--r--tests/ui/consts/const_let_assign2.stderr2
-rw-r--r--tests/ui/consts/const_refs_to_static-ice-121413.stderr2
-rw-r--r--tests/ui/consts/const_transmute_type_id6.rs16
-rw-r--r--tests/ui/consts/const_transmute_type_id6.stderr15
-rw-r--r--tests/ui/consts/control-flow/try.rs9
-rw-r--r--tests/ui/consts/control-flow/try.stderr19
-rw-r--r--tests/ui/consts/try-operator.rs3
-rw-r--r--tests/ui/consts/try-operator.stderr42
-rw-r--r--tests/ui/contracts/contract-attributes-generics.rs6
-rw-r--r--tests/ui/contracts/contract-attributes-nest.rs4
-rw-r--r--tests/ui/contracts/contract-attributes-tail.rs4
-rw-r--r--tests/ui/contracts/contract-captures-via-closure-copy.rs2
-rw-r--r--tests/ui/contracts/contract-const-fn.rs4
-rw-r--r--tests/ui/contracts/contracts-ensures-early-fn-exit.rs6
-rw-r--r--tests/ui/contracts/internal_machinery/contract-ast-extensions-nest.rs4
-rw-r--r--tests/ui/contracts/internal_machinery/contract-ast-extensions-tail.rs4
-rw-r--r--tests/ui/contracts/internal_machinery/contract-intrinsics.rs4
-rw-r--r--tests/ui/contracts/internal_machinery/contract-lang-items.rs2
-rw-r--r--tests/ui/did_you_mean/bad-assoc-ty.edition2015.stderr2
-rw-r--r--tests/ui/drop/drop-order-comparisons.e2021.stderr30
-rw-r--r--tests/ui/drop/lint-if-let-rescope-gated.edition2021.stderr2
-rw-r--r--tests/ui/drop/lint-if-let-rescope-with-macro.stderr2
-rw-r--r--tests/ui/drop/lint-if-let-rescope.stderr16
-rw-r--r--tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr8
-rw-r--r--tests/ui/drop/lint-tail-expr-drop-order.stderr16
-rw-r--r--tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr2
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning-2.old.stderr4
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning-3.old.stderr12
-rw-r--r--tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr2
-rw-r--r--tests/ui/dyn-compatibility/bare-trait-dont-suggest-dyn.old.stderr2
-rw-r--r--tests/ui/dyn-keyword/dyn-2018-edition-lint.stderr6
-rw-r--r--tests/ui/dyn-keyword/dyn-angle-brackets.stderr2
-rw-r--r--tests/ui/editions/never-type-fallback-breaking.e2021.stderr20
-rw-r--r--tests/ui/entry-point/auxiliary/main_functions.rs3
-rw-r--r--tests/ui/entry-point/imported_main_local_codegen.rs11
-rw-r--r--tests/ui/ergonomic-clones/closure/rfc2229-migration.stderr2
-rw-r--r--tests/ui/errors/dynless-turbofish-e0191-issue-91997.stderr2
-rw-r--r--tests/ui/extern/extern-types-field-offset.rs2
-rw-r--r--tests/ui/feature-gates/feature-gate-fn_align.rs14
-rw-r--r--tests/ui/feature-gates/feature-gate-fn_align.stderr26
-rw-r--r--tests/ui/feature-gates/issue-43106-gating-of-macro_use.rs2
-rw-r--r--tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr11
-rw-r--r--tests/ui/impl-trait/fresh-lifetime-from-bare-trait-obj-114664.stderr4
-rw-r--r--tests/ui/impl-trait/in-bindings/implicit-sized.rs19
-rw-r--r--tests/ui/impl-trait/in-bindings/implicit-sized.stderr11
-rw-r--r--tests/ui/impl-trait/precise-capturing/overcaptures-2024-machine-applicable.stderr2
-rw-r--r--tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr16
-rw-r--r--tests/ui/issues/issue-28344.stderr4
-rw-r--r--tests/ui/issues/issue-39367.stderr2
-rw-r--r--tests/ui/issues/issue-58734.stderr2
-rw-r--r--tests/ui/issues/issue-86756.stderr2
-rw-r--r--tests/ui/iterators/into-iter-on-arrays-2018.stderr10
-rw-r--r--tests/ui/iterators/into-iter-on-arrays-lint.stderr24
-rw-r--r--tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr10
-rw-r--r--tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr6
-rw-r--r--tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs3
-rw-r--r--tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr6
-rw-r--r--tests/ui/layout/unknown-when-no-type-parameter.rs5
-rw-r--r--tests/ui/layout/unknown-when-no-type-parameter.stderr7
-rw-r--r--tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs3
-rw-r--r--tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr6
-rw-r--r--tests/ui/lifetimes/elided-lifetime-in-const-param-type.rs12
-rw-r--r--tests/ui/lifetimes/elided-lifetime-in-const-param-type.stderr20
-rw-r--r--tests/ui/linkage-attr/incompatible-flavor.rs2
-rw-r--r--tests/ui/linkage-attr/raw-dylib/elf/empty.rs11
-rw-r--r--tests/ui/linkage-attr/raw-dylib/elf/glibc-x86_64.rs80
-rw-r--r--tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.rs20
-rw-r--r--tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.stderr26
-rw-r--r--tests/ui/lint/bare-trait-objects-path.stderr8
-rw-r--r--tests/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr2
-rw-r--r--tests/ui/lint/force-warn/cap-lints-allow.stderr2
-rw-r--r--tests/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr2
-rw-r--r--tests/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr2
-rw-r--r--tests/ui/lint/force-warn/lint-group-allowed-lint-group.stderr2
-rw-r--r--tests/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr2
-rw-r--r--tests/ui/lint/inclusive-range-pattern-syntax.stderr4
-rw-r--r--tests/ui/lint/invalid_null_args.rs5
-rw-r--r--tests/ui/lint/invalid_null_args.stderr58
-rw-r--r--tests/ui/lint/lint-attr-everywhere-early.stderr4
-rw-r--r--tests/ui/lint/static-mut-refs.e2021.stderr24
-rw-r--r--tests/ui/lint/static-mut-refs.e2024.stderr24
-rw-r--r--tests/ui/lint/unused/unused-attr-duplicate.stderr24
-rw-r--r--tests/ui/lint/unused/unused-attr-macro-rules.stderr16
-rw-r--r--tests/ui/lto/debuginfo-lto-alloc.rs3
-rw-r--r--tests/ui/macros/expr_2021_cargo_fix_edition.stderr4
-rw-r--r--tests/ui/macros/genercs-in-path-with-prettry-hir.stdout2
-rw-r--r--tests/ui/macros/macro-or-patterns-back-compat.stderr8
-rw-r--r--tests/ui/macros/macro-use-all-and-none.stderr5
-rw-r--r--tests/ui/macros/macro-use-bad-args-1.rs2
-rw-r--r--tests/ui/macros/macro-use-bad-args-1.stderr19
-rw-r--r--tests/ui/macros/macro-use-bad-args-2.rs2
-rw-r--r--tests/ui/macros/macro-use-bad-args-2.stderr19
-rw-r--r--tests/ui/macros/non-fmt-panic.stderr52
-rw-r--r--tests/ui/match/issue-82392.stdout2
-rw-r--r--tests/ui/mir/alignment/borrow_misaligned_field_projection.rs2
-rw-r--r--tests/ui/mir/alignment/misaligned_borrow.rs2
-rw-r--r--tests/ui/mir/alignment/misaligned_lhs.rs2
-rw-r--r--tests/ui/mir/alignment/misaligned_mut_borrow.rs2
-rw-r--r--tests/ui/mir/alignment/misaligned_rhs.rs2
-rw-r--r--tests/ui/mir/alignment/two_pointers.rs2
-rw-r--r--tests/ui/mir/enum/convert_non_integer_break.rs2
-rw-r--r--tests/ui/mir/enum/convert_non_integer_niche_break.rs2
-rw-r--r--tests/ui/mir/enum/negative_discr_break.rs2
-rw-r--r--tests/ui/mir/enum/niche_option_tuple_break.rs2
-rw-r--r--tests/ui/mir/enum/numbered_variants_break.rs2
-rw-r--r--tests/ui/mir/enum/option_with_bigger_niche_break.rs2
-rw-r--r--tests/ui/mir/enum/plain_no_data_break.rs2
-rw-r--r--tests/ui/mir/enum/single_with_repr_break.rs2
-rw-r--r--tests/ui/mir/enum/with_niche_int_break.rs2
-rw-r--r--tests/ui/mir/enum/wrap_break.rs2
-rw-r--r--tests/ui/mir/meaningless-bound.rs20
-rw-r--r--tests/ui/mir/meaningless-bound.stderr19
-rw-r--r--tests/ui/mir/null/borrowed_mut_null.rs2
-rw-r--r--tests/ui/mir/null/borrowed_null.rs2
-rw-r--r--tests/ui/mir/null/borrowed_null_zst.rs2
-rw-r--r--tests/ui/mir/null/null_lhs.rs2
-rw-r--r--tests/ui/mir/null/null_rhs.rs2
-rw-r--r--tests/ui/mir/null/two_pointers.rs2
-rw-r--r--tests/ui/mir/validate/critical-edge.rs4
-rw-r--r--tests/ui/mir/validate/project-into-simd.rs18
-rw-r--r--tests/ui/never_type/defaulted-never-note.nofallback.stderr4
-rw-r--r--tests/ui/never_type/dependency-on-fallback-to-unit.stderr8
-rw-r--r--tests/ui/never_type/diverging-fallback-control-flow.nofallback.stderr8
-rw-r--r--tests/ui/never_type/diverging-fallback-no-leak.nofallback.stderr4
-rw-r--r--tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr4
-rw-r--r--tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr4
-rw-r--r--tests/ui/never_type/fallback-closure-ret.nofallback.stderr4
-rw-r--r--tests/ui/never_type/impl_trait_fallback.stderr4
-rw-r--r--tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr4
-rw-r--r--tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr40
-rw-r--r--tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr40
-rw-r--r--tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr2
-rw-r--r--tests/ui/panics/panic-in-cleanup.rs2
-rw-r--r--tests/ui/panics/panic-in-ffi.rs2
-rw-r--r--tests/ui/panics/panic-in-message-fmt.rs2
-rw-r--r--tests/ui/panics/panic-main.rs9
-rw-r--r--tests/ui/parser/recover/recover-pat-ranges.stderr2
-rw-r--r--tests/ui/parser/recover/recover-range-pats.stderr18
-rw-r--r--tests/ui/parser/trait-object-trait-parens.stderr6
-rw-r--r--tests/ui/precondition-checks/alignment.rs2
-rw-r--r--tests/ui/precondition-checks/ascii-char-digit_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/assert_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/char-from_u32_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/copy-nonoverlapping.rs2
-rw-r--r--tests/ui/precondition-checks/copy.rs2
-rw-r--r--tests/ui/precondition-checks/layout.rs2
-rw-r--r--tests/ui/precondition-checks/nonnull.rs2
-rw-r--r--tests/ui/precondition-checks/nonzero-from_mut_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/nonzero-new_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/read_volatile.rs8
-rw-r--r--tests/ui/precondition-checks/replace.rs2
-rw-r--r--tests/ui/precondition-checks/slice-from-raw-parts-mut.rs2
-rw-r--r--tests/ui/precondition-checks/slice-from-raw-parts.rs2
-rw-r--r--tests/ui/precondition-checks/slice-get_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/slice-get_unchecked_mut.rs2
-rw-r--r--tests/ui/precondition-checks/str-get_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/str-get_unchecked_mut.rs2
-rw-r--r--tests/ui/precondition-checks/swap-nonoverlapping.rs2
-rw-r--r--tests/ui/precondition-checks/unchecked_add.rs2
-rw-r--r--tests/ui/precondition-checks/unchecked_mul.rs2
-rw-r--r--tests/ui/precondition-checks/unchecked_shl.rs2
-rw-r--r--tests/ui/precondition-checks/unchecked_shr.rs2
-rw-r--r--tests/ui/precondition-checks/unchecked_sub.rs2
-rw-r--r--tests/ui/precondition-checks/unreachable_unchecked.rs2
-rw-r--r--tests/ui/precondition-checks/vec-from-parts.rs2
-rw-r--r--tests/ui/precondition-checks/vec-from-raw-parts.rs2
-rw-r--r--tests/ui/precondition-checks/vec-set-len.rs2
-rw-r--r--tests/ui/precondition-checks/write_volatile.rs8
-rw-r--r--tests/ui/print-request/supported-crate-types.rs5
-rw-r--r--tests/ui/privacy/associated-item-privacy-trait.stderr22
-rw-r--r--tests/ui/privacy/private-in-public-warn.stderr72
-rw-r--r--tests/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs6
-rw-r--r--tests/ui/privacy/pub-priv-dep/pub-priv1.rs71
-rw-r--r--tests/ui/privacy/pub-priv-dep/pub-priv1.stderr166
-rw-r--r--tests/ui/privacy/sealed-traits/false-sealed-traits-note.rs12
-rw-r--r--tests/ui/privacy/sealed-traits/false-sealed-traits-note.stderr25
-rw-r--r--tests/ui/range/range-inclusive-pattern-precedence.stderr2
-rw-r--r--tests/ui/range/range-inclusive-pattern-precedence2.stderr2
-rw-r--r--tests/ui/resolve/underscore-bindings-disambiguators.rs27
-rw-r--r--tests/ui/resolve/underscore-bindings-disambiguators.stderr70
-rw-r--r--tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr2
-rw-r--r--tests/ui/runtime/backtrace-debuginfo.rs3
-rw-r--r--tests/ui/rust-2018/removing-extern-crate-malformed-cfg.fixed2
-rw-r--r--tests/ui/rust-2018/removing-extern-crate-malformed-cfg.rs6
-rw-r--r--tests/ui/rust-2018/removing-extern-crate-malformed-cfg.stderr12
-rw-r--r--tests/ui/rust-2021/array-into-iter-ambiguous.stderr2
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-generic-trait.stderr2
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-generic.stderr6
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-imported.stderr8
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-macros.stderr4
-rw-r--r--tests/ui/rust-2021/future-prelude-collision-turbofish.stderr4
-rw-r--r--tests/ui/rust-2021/future-prelude-collision.stderr16
-rw-r--r--tests/ui/rust-2021/generic-type-collision.stderr2
-rw-r--r--tests/ui/rust-2021/inherent-dyn-collision.stderr2
-rw-r--r--tests/ui/rust-2021/reserved-prefixes-migration.stderr10
-rw-r--r--tests/ui/rust-2024/box-slice-into-iter-ambiguous.stderr2
-rw-r--r--tests/ui/rust-2024/gen-kw.e2015.stderr16
-rw-r--r--tests/ui/rust-2024/gen-kw.e2018.stderr16
-rw-r--r--tests/ui/rust-2024/prelude-migration/future-poll-async-block.e2021.stderr2
-rw-r--r--tests/ui/rust-2024/prelude-migration/future-poll-not-future-pinned.e2021.stderr2
-rw-r--r--tests/ui/rust-2024/prelude-migration/in_2024_compatibility.stderr2
-rw-r--r--tests/ui/rust-2024/prelude-migration/into-future-adt.e2021.stderr2
-rw-r--r--tests/ui/rust-2024/prelude-migration/into-future-not-into-future.e2021.stderr2
-rw-r--r--tests/ui/rust-2024/reserved-guarded-strings-lexing.stderr36
-rw-r--r--tests/ui/rust-2024/reserved-guarded-strings-migration.stderr44
-rw-r--r--tests/ui/rust-2024/unsafe-attributes/in_2024_compatibility.stderr2
-rw-r--r--tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.stderr14
-rw-r--r--tests/ui/rust-2024/unsafe-env-suggestion.stderr4
-rw-r--r--tests/ui/rust-2024/unsafe-env.e2021.stderr2
-rw-r--r--tests/ui/rust-2024/unsafe-env.e2024.stderr6
-rw-r--r--tests/ui/rust-2024/unsafe-extern-blocks/unsafe-extern-suggestion.stderr2
-rw-r--r--tests/ui/rustc_public-ir-print/async-closure.rs (renamed from tests/ui/stable-mir-print/async-closure.rs)0
-rw-r--r--tests/ui/rustc_public-ir-print/async-closure.stdout (renamed from tests/ui/stable-mir-print/async-closure.stdout)2
-rw-r--r--tests/ui/rustc_public-ir-print/basic_function.rs (renamed from tests/ui/stable-mir-print/basic_function.rs)0
-rw-r--r--tests/ui/rustc_public-ir-print/basic_function.stdout (renamed from tests/ui/stable-mir-print/basic_function.stdout)2
-rw-r--r--tests/ui/rustc_public-ir-print/operands.rs (renamed from tests/ui/stable-mir-print/operands.rs)0
-rw-r--r--tests/ui/rustc_public-ir-print/operands.stdout (renamed from tests/ui/stable-mir-print/operands.stdout)2
-rw-r--r--tests/ui/sanitizer/address.rs2
-rw-r--r--tests/ui/sanitizer/badfree.rs2
-rw-r--r--tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs2
-rw-r--r--tests/ui/sanitizer/thread.rs2
-rw-r--r--tests/ui/sanitizer/use-after-scope.rs2
-rw-r--r--tests/ui/simd/generics.rs60
-rw-r--r--tests/ui/simd/intrinsic/float-math-pass.rs22
-rw-r--r--tests/ui/simd/intrinsic/float-minmax-pass.rs16
-rw-r--r--tests/ui/simd/intrinsic/generic-arithmetic-pass.rs214
-rw-r--r--tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs82
-rw-r--r--tests/ui/simd/intrinsic/generic-as.rs38
-rw-r--r--tests/ui/simd/intrinsic/generic-bswap-byte.rs16
-rw-r--r--tests/ui/simd/intrinsic/generic-cast-pass.rs38
-rw-r--r--tests/ui/simd/intrinsic/generic-cast-pointer-width.rs16
-rw-r--r--tests/ui/simd/intrinsic/generic-comparison-pass.rs43
-rw-r--r--tests/ui/simd/intrinsic/generic-elements-pass.rs120
-rw-r--r--tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs34
-rw-r--r--tests/ui/simd/intrinsic/generic-select-pass.rs94
-rw-r--r--tests/ui/simd/intrinsic/inlining-issue67557.rs20
-rw-r--r--tests/ui/simd/intrinsic/ptr-cast.rs16
-rw-r--r--tests/ui/simd/issue-105439.rs4
-rw-r--r--tests/ui/simd/issue-39720.rs14
-rw-r--r--tests/ui/simd/issue-85915-simd-ptrs.rs32
-rw-r--r--tests/ui/simd/issue-89193.rs22
-rw-r--r--tests/ui/simd/masked-load-store.rs10
-rw-r--r--tests/ui/simd/monomorphize-shuffle-index.rs12
-rw-r--r--tests/ui/simd/repr-simd-on-enum.rs15
-rw-r--r--tests/ui/simd/repr-simd-on-enum.stderr14
-rw-r--r--tests/ui/simd/repr_packed.rs28
-rw-r--r--tests/ui/simd/shuffle.rs10
-rw-r--r--tests/ui/simd/simd-bitmask-notpow2.rs21
-rw-r--r--tests/ui/simd/simd-bitmask.rs16
-rw-r--r--tests/ui/simd/target-feature-mixup.rs41
-rw-r--r--tests/ui/sized-hierarchy/incomplete-inference-issue-143992.current_sized_hierarchy.stderr (renamed from tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next.stderr)4
-rw-r--r--tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next_sized_hierarchy.stderr17
-rw-r--r--tests/ui/sized-hierarchy/incomplete-inference-issue-143992.rs10
-rw-r--r--tests/ui/stability-attribute/stability-attribute-sanity-4.stderr32
-rw-r--r--tests/ui/statics/issue-15261.stderr2
-rw-r--r--tests/ui/statics/static-mut-shared-parens.stderr4
-rw-r--r--tests/ui/statics/static-mut-xc.stderr14
-rw-r--r--tests/ui/statics/static-recursive.stderr4
-rw-r--r--tests/ui/std/issue-81357-unsound-file-methods.rs2
-rw-r--r--tests/ui/suggestions/issue-116434-2015.stderr8
-rw-r--r--tests/ui/suggestions/issue-61963.stderr4
-rw-r--r--tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr6
-rw-r--r--tests/ui/traits/bound/not-on-bare-trait.stderr2
-rw-r--r--tests/ui/traits/const-traits/hir-const-check.rs4
-rw-r--r--tests/ui/traits/const-traits/hir-const-check.stderr19
-rw-r--r--tests/ui/traits/const-traits/ice-119717-constant-lifetime.rs5
-rw-r--r--tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr13
-rw-r--r--tests/ui/traits/const-traits/ice-126148-failed-to-normalize.rs8
-rw-r--r--tests/ui/traits/const-traits/ice-126148-failed-to-normalize.stderr41
-rw-r--r--tests/ui/traits/const-traits/trait-default-body-stability.rs2
-rw-r--r--tests/ui/traits/const-traits/trait-default-body-stability.stderr37
-rw-r--r--tests/ui/traits/missing-for-type-in-impl.e2015.stderr4
-rw-r--r--tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.stderr7
-rw-r--r--tests/ui/traits/next-solver/normalize/normalize-param-env-2.stderr19
-rw-r--r--tests/ui/traits/next-solver/normalize/normalize-param-env-4.next.stderr16
-rw-r--r--tests/ui/traits/unspecified-self-in-trait-ref.stderr10
-rw-r--r--tests/ui/trivial-bounds/everybody-copies.rs (renamed from tests/crashes/131507.rs)7
-rw-r--r--tests/ui/trivial-bounds/two-sized-strs.rs (renamed from tests/crashes/121363.rs)4
-rw-r--r--tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr30
-rw-r--r--tests/ui/type-alias-impl-trait/issue-60662.stdout2
-rw-r--r--tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.rs19
-rw-r--r--tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.stderr49
-rw-r--r--tests/ui/uninhabited/auxiliary/staged-api.rs6
-rw-r--r--tests/ui/uninhabited/uninhabited-unstable-field.current.stderr22
-rw-r--r--tests/ui/uninhabited/uninhabited-unstable-field.exhaustive.stderr22
-rw-r--r--tests/ui/uninhabited/uninhabited-unstable-field.rs30
-rw-r--r--tests/ui/uninhabited/uninhabited-unstable-field.stderr40
-rw-r--r--tests/ui/unpretty/bad-literal.stdout2
-rw-r--r--tests/ui/unpretty/debug-fmt-hir.stdout2
-rw-r--r--tests/ui/unpretty/deprecated-attr.stdout2
-rw-r--r--tests/ui/unpretty/diagnostic-attr.stdout2
-rw-r--r--tests/ui/unpretty/exhaustive-asm.hir.stdout2
-rw-r--r--tests/ui/unpretty/exhaustive.hir.stdout2
-rw-r--r--tests/ui/unpretty/flattened-format-args.stdout2
-rw-r--r--tests/ui/unpretty/let-else-hir.stdout2
-rw-r--r--tests/ui/unpretty/self-hir.stdout2
-rw-r--r--tests/ui/unpretty/unpretty-expr-fn-arg.stdout2
-rw-r--r--tests/ui/unsafe/edition-2024-unsafe_op_in_unsafe_fn.stderr2
-rw-r--r--tests/ui/unsafe/unsafe_op_in_unsafe_fn/edition_2024_default.stderr2
-rw-r--r--tests/ui/unsafe/unsafe_op_in_unsafe_fn/in_2024_compatibility.stderr2
-rw-r--r--tests/ui/unsafe/unsafe_op_in_unsafe_fn/rfc-2585-unsafe_op_in_unsafe_fn.stderr12
-rw-r--r--tests/ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg.stderr16
-rw-r--r--tests/ui/wasm/simd-to-array-80108.rs4
-rw-r--r--tests/ui/wf/ice-hir-wf-check-anon-const-issue-122989.stderr4
-rw-r--r--tests/ui/where-clauses/ignore-err-clauses.rs2
-rw-r--r--tests/ui/where-clauses/ignore-err-clauses.stderr29
1237 files changed, 3762 insertions, 2645 deletions
diff --git a/tests/assembly/aarch64-pointer-auth.rs b/tests/assembly-llvm/aarch64-pointer-auth.rs
index 56a26df469f..56a26df469f 100644
--- a/tests/assembly/aarch64-pointer-auth.rs
+++ b/tests/assembly-llvm/aarch64-pointer-auth.rs
diff --git a/tests/assembly/aarch64-xray.rs b/tests/assembly-llvm/aarch64-xray.rs
index d5ee0111843..d5ee0111843 100644
--- a/tests/assembly/aarch64-xray.rs
+++ b/tests/assembly-llvm/aarch64-xray.rs
diff --git a/tests/assembly/align_offset.rs b/tests/assembly-llvm/align_offset.rs
index d9902ce336b..d9902ce336b 100644
--- a/tests/assembly/align_offset.rs
+++ b/tests/assembly-llvm/align_offset.rs
diff --git a/tests/assembly/asm/aarch64-el2vmsa.rs b/tests/assembly-llvm/asm/aarch64-el2vmsa.rs
index 3652d58d85a..3652d58d85a 100644
--- a/tests/assembly/asm/aarch64-el2vmsa.rs
+++ b/tests/assembly-llvm/asm/aarch64-el2vmsa.rs
diff --git a/tests/assembly/asm/aarch64-modifiers.rs b/tests/assembly-llvm/asm/aarch64-modifiers.rs
index 58f7c114d3a..58f7c114d3a 100644
--- a/tests/assembly/asm/aarch64-modifiers.rs
+++ b/tests/assembly-llvm/asm/aarch64-modifiers.rs
diff --git a/tests/assembly/asm/aarch64-outline-atomics.rs b/tests/assembly-llvm/asm/aarch64-outline-atomics.rs
index 5990fb84942..5990fb84942 100644
--- a/tests/assembly/asm/aarch64-outline-atomics.rs
+++ b/tests/assembly-llvm/asm/aarch64-outline-atomics.rs
diff --git a/tests/assembly/asm/aarch64-types.rs b/tests/assembly-llvm/asm/aarch64-types.rs
index b7abeb02298..b7abeb02298 100644
--- a/tests/assembly/asm/aarch64-types.rs
+++ b/tests/assembly-llvm/asm/aarch64-types.rs
diff --git a/tests/assembly/asm/arm-modifiers.rs b/tests/assembly-llvm/asm/arm-modifiers.rs
index 32a36840492..32a36840492 100644
--- a/tests/assembly/asm/arm-modifiers.rs
+++ b/tests/assembly-llvm/asm/arm-modifiers.rs
diff --git a/tests/assembly/asm/arm-types.rs b/tests/assembly-llvm/asm/arm-types.rs
index fb93f474c20..fb93f474c20 100644
--- a/tests/assembly/asm/arm-types.rs
+++ b/tests/assembly-llvm/asm/arm-types.rs
diff --git a/tests/assembly/asm/avr-modifiers.rs b/tests/assembly-llvm/asm/avr-modifiers.rs
index 124cad9bef6..124cad9bef6 100644
--- a/tests/assembly/asm/avr-modifiers.rs
+++ b/tests/assembly-llvm/asm/avr-modifiers.rs
diff --git a/tests/assembly/asm/avr-types.rs b/tests/assembly-llvm/asm/avr-types.rs
index 309405f4d51..309405f4d51 100644
--- a/tests/assembly/asm/avr-types.rs
+++ b/tests/assembly-llvm/asm/avr-types.rs
diff --git a/tests/assembly/asm/bpf-types.rs b/tests/assembly-llvm/asm/bpf-types.rs
index 07ea7bd5ce0..07ea7bd5ce0 100644
--- a/tests/assembly/asm/bpf-types.rs
+++ b/tests/assembly-llvm/asm/bpf-types.rs
diff --git a/tests/assembly/asm/comments.rs b/tests/assembly-llvm/asm/comments.rs
index 557009975dd..557009975dd 100644
--- a/tests/assembly/asm/comments.rs
+++ b/tests/assembly-llvm/asm/comments.rs
diff --git a/tests/assembly/asm/global_asm.rs b/tests/assembly-llvm/asm/global_asm.rs
index 8a4bf98c745..8a4bf98c745 100644
--- a/tests/assembly/asm/global_asm.rs
+++ b/tests/assembly-llvm/asm/global_asm.rs
diff --git a/tests/assembly/asm/hexagon-types.rs b/tests/assembly-llvm/asm/hexagon-types.rs
index ce80fa75b35..ce80fa75b35 100644
--- a/tests/assembly/asm/hexagon-types.rs
+++ b/tests/assembly-llvm/asm/hexagon-types.rs
diff --git a/tests/assembly/asm/inline-asm-avx.rs b/tests/assembly-llvm/asm/inline-asm-avx.rs
index 630acbb971a..630acbb971a 100644
--- a/tests/assembly/asm/inline-asm-avx.rs
+++ b/tests/assembly-llvm/asm/inline-asm-avx.rs
diff --git a/tests/assembly/asm/loongarch-type.rs b/tests/assembly-llvm/asm/loongarch-type.rs
index c782be19f1d..c782be19f1d 100644
--- a/tests/assembly/asm/loongarch-type.rs
+++ b/tests/assembly-llvm/asm/loongarch-type.rs
diff --git a/tests/assembly/asm/m68k-types.rs b/tests/assembly-llvm/asm/m68k-types.rs
index 9e4f6d9a1a9..9e4f6d9a1a9 100644
--- a/tests/assembly/asm/m68k-types.rs
+++ b/tests/assembly-llvm/asm/m68k-types.rs
diff --git a/tests/assembly/asm/mips-types.rs b/tests/assembly-llvm/asm/mips-types.rs
index 00e8ce0b874..00e8ce0b874 100644
--- a/tests/assembly/asm/mips-types.rs
+++ b/tests/assembly-llvm/asm/mips-types.rs
diff --git a/tests/assembly/asm/msp430-types.rs b/tests/assembly-llvm/asm/msp430-types.rs
index 442dc77999f..442dc77999f 100644
--- a/tests/assembly/asm/msp430-types.rs
+++ b/tests/assembly-llvm/asm/msp430-types.rs
diff --git a/tests/assembly/asm/nvptx-types.rs b/tests/assembly-llvm/asm/nvptx-types.rs
index 7e8ebd03024..7e8ebd03024 100644
--- a/tests/assembly/asm/nvptx-types.rs
+++ b/tests/assembly-llvm/asm/nvptx-types.rs
diff --git a/tests/assembly/asm/powerpc-types.rs b/tests/assembly-llvm/asm/powerpc-types.rs
index 4291e4c02f3..4291e4c02f3 100644
--- a/tests/assembly/asm/powerpc-types.rs
+++ b/tests/assembly-llvm/asm/powerpc-types.rs
diff --git a/tests/assembly/asm/riscv-types.rs b/tests/assembly-llvm/asm/riscv-types.rs
index 724aa154da8..724aa154da8 100644
--- a/tests/assembly/asm/riscv-types.rs
+++ b/tests/assembly-llvm/asm/riscv-types.rs
diff --git a/tests/assembly/asm/s390x-types.rs b/tests/assembly-llvm/asm/s390x-types.rs
index e6fe38ecb0d..e6fe38ecb0d 100644
--- a/tests/assembly/asm/s390x-types.rs
+++ b/tests/assembly-llvm/asm/s390x-types.rs
diff --git a/tests/assembly/asm/sparc-types.rs b/tests/assembly-llvm/asm/sparc-types.rs
index 49cc377cd95..49cc377cd95 100644
--- a/tests/assembly/asm/sparc-types.rs
+++ b/tests/assembly-llvm/asm/sparc-types.rs
diff --git a/tests/assembly/asm/wasm-types.rs b/tests/assembly-llvm/asm/wasm-types.rs
index 78e555c5317..78e555c5317 100644
--- a/tests/assembly/asm/wasm-types.rs
+++ b/tests/assembly-llvm/asm/wasm-types.rs
diff --git a/tests/assembly/asm/x86-modifiers.rs b/tests/assembly-llvm/asm/x86-modifiers.rs
index 5f68e5c7317..5f68e5c7317 100644
--- a/tests/assembly/asm/x86-modifiers.rs
+++ b/tests/assembly-llvm/asm/x86-modifiers.rs
diff --git a/tests/assembly/asm/x86-types.rs b/tests/assembly-llvm/asm/x86-types.rs
index 6120ed0d532..6120ed0d532 100644
--- a/tests/assembly/asm/x86-types.rs
+++ b/tests/assembly-llvm/asm/x86-types.rs
diff --git a/tests/assembly/auxiliary/breakpoint-panic-handler.rs b/tests/assembly-llvm/auxiliary/breakpoint-panic-handler.rs
index d54c1181e1a..d54c1181e1a 100644
--- a/tests/assembly/auxiliary/breakpoint-panic-handler.rs
+++ b/tests/assembly-llvm/auxiliary/breakpoint-panic-handler.rs
diff --git a/tests/assembly/auxiliary/dwarf-mixed-versions-lto-aux.rs b/tests/assembly-llvm/auxiliary/dwarf-mixed-versions-lto-aux.rs
index 257608f881f..257608f881f 100644
--- a/tests/assembly/auxiliary/dwarf-mixed-versions-lto-aux.rs
+++ b/tests/assembly-llvm/auxiliary/dwarf-mixed-versions-lto-aux.rs
diff --git a/tests/assembly/auxiliary/non-inline-dependency.rs b/tests/assembly-llvm/auxiliary/non-inline-dependency.rs
index 57f3ee87cdb..57f3ee87cdb 100644
--- a/tests/assembly/auxiliary/non-inline-dependency.rs
+++ b/tests/assembly-llvm/auxiliary/non-inline-dependency.rs
diff --git a/tests/assembly/breakpoint.rs b/tests/assembly-llvm/breakpoint.rs
index e0cc2d1eebb..e0cc2d1eebb 100644
--- a/tests/assembly/breakpoint.rs
+++ b/tests/assembly-llvm/breakpoint.rs
diff --git a/tests/assembly/closure-inherit-target-feature.rs b/tests/assembly-llvm/closure-inherit-target-feature.rs
index 069204bbd34..069204bbd34 100644
--- a/tests/assembly/closure-inherit-target-feature.rs
+++ b/tests/assembly-llvm/closure-inherit-target-feature.rs
diff --git a/tests/assembly/cmse.rs b/tests/assembly-llvm/cmse.rs
index a68ee99eac6..a68ee99eac6 100644
--- a/tests/assembly/cmse.rs
+++ b/tests/assembly-llvm/cmse.rs
diff --git a/tests/assembly/compiletest-self-test/use-minicore-no-run.rs b/tests/assembly-llvm/compiletest-self-test/use-minicore-no-run.rs
index 0e4f05c4b37..0e4f05c4b37 100644
--- a/tests/assembly/compiletest-self-test/use-minicore-no-run.rs
+++ b/tests/assembly-llvm/compiletest-self-test/use-minicore-no-run.rs
diff --git a/tests/assembly/cstring-merging.rs b/tests/assembly-llvm/cstring-merging.rs
index f7d0775f7af..03688e0068b 100644
--- a/tests/assembly/cstring-merging.rs
+++ b/tests/assembly-llvm/cstring-merging.rs
@@ -2,7 +2,7 @@
 // other architectures (including ARM and x86-64) use the prefix `.Lanon.`
 //@ only-linux
 //@ assembly-output: emit-asm
-//@ compile-flags: --crate-type=lib -Copt-level=3
+//@ compile-flags: --crate-type=lib -Copt-level=3 -Cllvm-args=-enable-global-merge=0
 //@ edition: 2024
 
 use std::ffi::CStr;
diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs
index 9910a6e2f5f..9910a6e2f5f 100644
--- a/tests/assembly/dwarf-mixed-versions-lto.rs
+++ b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs
diff --git a/tests/assembly/dwarf4.rs b/tests/assembly-llvm/dwarf4.rs
index 03a388603b4..03a388603b4 100644
--- a/tests/assembly/dwarf4.rs
+++ b/tests/assembly-llvm/dwarf4.rs
diff --git a/tests/assembly/dwarf5.rs b/tests/assembly-llvm/dwarf5.rs
index 9bd92cc0d09..9bd92cc0d09 100644
--- a/tests/assembly/dwarf5.rs
+++ b/tests/assembly-llvm/dwarf5.rs
diff --git a/tests/assembly/emit-intel-att-syntax.rs b/tests/assembly-llvm/emit-intel-att-syntax.rs
index 7b479a0f79e..7b479a0f79e 100644
--- a/tests/assembly/emit-intel-att-syntax.rs
+++ b/tests/assembly-llvm/emit-intel-att-syntax.rs
diff --git a/tests/assembly/is_aligned.rs b/tests/assembly-llvm/is_aligned.rs
index ab8f7dea808..ab8f7dea808 100644
--- a/tests/assembly/is_aligned.rs
+++ b/tests/assembly-llvm/is_aligned.rs
diff --git a/tests/assembly/issue-83585-small-pod-struct-equality.rs b/tests/assembly-llvm/issue-83585-small-pod-struct-equality.rs
index 14bec1337f0..14bec1337f0 100644
--- a/tests/assembly/issue-83585-small-pod-struct-equality.rs
+++ b/tests/assembly-llvm/issue-83585-small-pod-struct-equality.rs
diff --git a/tests/assembly/libs/issue-115339-zip-arrays.rs b/tests/assembly-llvm/libs/issue-115339-zip-arrays.rs
index 098382502e8..098382502e8 100644
--- a/tests/assembly/libs/issue-115339-zip-arrays.rs
+++ b/tests/assembly-llvm/libs/issue-115339-zip-arrays.rs
diff --git a/tests/assembly/libs/issue-140207-slice-min-simd.rs b/tests/assembly-llvm/libs/issue-140207-slice-min-simd.rs
index 86f067cac08..86f067cac08 100644
--- a/tests/assembly/libs/issue-140207-slice-min-simd.rs
+++ b/tests/assembly-llvm/libs/issue-140207-slice-min-simd.rs
diff --git a/tests/assembly/manual-eq-efficient.rs b/tests/assembly-llvm/manual-eq-efficient.rs
index 8dafed354be..8dafed354be 100644
--- a/tests/assembly/manual-eq-efficient.rs
+++ b/tests/assembly-llvm/manual-eq-efficient.rs
diff --git a/tests/assembly/naked-functions/aarch64-naked-fn-no-bti-prolog.rs b/tests/assembly-llvm/naked-functions/aarch64-naked-fn-no-bti-prolog.rs
index 860ecc3cfcd..860ecc3cfcd 100644
--- a/tests/assembly/naked-functions/aarch64-naked-fn-no-bti-prolog.rs
+++ b/tests/assembly-llvm/naked-functions/aarch64-naked-fn-no-bti-prolog.rs
diff --git a/tests/assembly/naked-functions/aix.rs b/tests/assembly-llvm/naked-functions/aix.rs
index 57ff0e183be..57ff0e183be 100644
--- a/tests/assembly/naked-functions/aix.rs
+++ b/tests/assembly-llvm/naked-functions/aix.rs
diff --git a/tests/assembly/naked-functions/wasm32.rs b/tests/assembly-llvm/naked-functions/wasm32.rs
index 77547e82041..77547e82041 100644
--- a/tests/assembly/naked-functions/wasm32.rs
+++ b/tests/assembly-llvm/naked-functions/wasm32.rs
diff --git a/tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs b/tests/assembly-llvm/naked-functions/x86_64-naked-fn-no-cet-prolog.rs
index 81ee9b13b4e..81ee9b13b4e 100644
--- a/tests/assembly/naked-functions/x86_64-naked-fn-no-cet-prolog.rs
+++ b/tests/assembly-llvm/naked-functions/x86_64-naked-fn-no-cet-prolog.rs
diff --git a/tests/assembly/niche-prefer-zero.rs b/tests/assembly-llvm/niche-prefer-zero.rs
index 4e260ebc09b..4e260ebc09b 100644
--- a/tests/assembly/niche-prefer-zero.rs
+++ b/tests/assembly-llvm/niche-prefer-zero.rs
diff --git a/tests/assembly/nvptx-arch-default.rs b/tests/assembly-llvm/nvptx-arch-default.rs
index a621fd6dcb2..a621fd6dcb2 100644
--- a/tests/assembly/nvptx-arch-default.rs
+++ b/tests/assembly-llvm/nvptx-arch-default.rs
diff --git a/tests/assembly/nvptx-arch-emit-asm.rs b/tests/assembly-llvm/nvptx-arch-emit-asm.rs
index e47f8e78e36..e47f8e78e36 100644
--- a/tests/assembly/nvptx-arch-emit-asm.rs
+++ b/tests/assembly-llvm/nvptx-arch-emit-asm.rs
diff --git a/tests/assembly/nvptx-arch-link-arg.rs b/tests/assembly-llvm/nvptx-arch-link-arg.rs
index 3432e6161bf..3432e6161bf 100644
--- a/tests/assembly/nvptx-arch-link-arg.rs
+++ b/tests/assembly-llvm/nvptx-arch-link-arg.rs
diff --git a/tests/assembly/nvptx-arch-target-cpu.rs b/tests/assembly-llvm/nvptx-arch-target-cpu.rs
index 609ab297e63..609ab297e63 100644
--- a/tests/assembly/nvptx-arch-target-cpu.rs
+++ b/tests/assembly-llvm/nvptx-arch-target-cpu.rs
diff --git a/tests/assembly/nvptx-atomics.rs b/tests/assembly-llvm/nvptx-atomics.rs
index 52b8c86d8a9..52b8c86d8a9 100644
--- a/tests/assembly/nvptx-atomics.rs
+++ b/tests/assembly-llvm/nvptx-atomics.rs
diff --git a/tests/assembly/nvptx-c-abi-arg-v7.rs b/tests/assembly-llvm/nvptx-c-abi-arg-v7.rs
index be98b167470..be98b167470 100644
--- a/tests/assembly/nvptx-c-abi-arg-v7.rs
+++ b/tests/assembly-llvm/nvptx-c-abi-arg-v7.rs
diff --git a/tests/assembly/nvptx-c-abi-ret-v7.rs b/tests/assembly-llvm/nvptx-c-abi-ret-v7.rs
index c68c71c872c..c68c71c872c 100644
--- a/tests/assembly/nvptx-c-abi-ret-v7.rs
+++ b/tests/assembly-llvm/nvptx-c-abi-ret-v7.rs
diff --git a/tests/assembly/nvptx-internalizing.rs b/tests/assembly-llvm/nvptx-internalizing.rs
index 0acfd5c2443..0acfd5c2443 100644
--- a/tests/assembly/nvptx-internalizing.rs
+++ b/tests/assembly-llvm/nvptx-internalizing.rs
diff --git a/tests/assembly/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs b/tests/assembly-llvm/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs
index f245b4460f2..f245b4460f2 100644
--- a/tests/assembly/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs
+++ b/tests/assembly-llvm/nvptx-kernel-abi/nvptx-kernel-args-abi-v7.rs
diff --git a/tests/assembly/nvptx-linking-binary.rs b/tests/assembly-llvm/nvptx-linking-binary.rs
index 3b50b472ab1..3b50b472ab1 100644
--- a/tests/assembly/nvptx-linking-binary.rs
+++ b/tests/assembly-llvm/nvptx-linking-binary.rs
diff --git a/tests/assembly/nvptx-linking-cdylib.rs b/tests/assembly-llvm/nvptx-linking-cdylib.rs
index 9742e26fb31..9742e26fb31 100644
--- a/tests/assembly/nvptx-linking-cdylib.rs
+++ b/tests/assembly-llvm/nvptx-linking-cdylib.rs
diff --git a/tests/assembly/nvptx-safe-naming.rs b/tests/assembly-llvm/nvptx-safe-naming.rs
index d7b46aadd9c..d7b46aadd9c 100644
--- a/tests/assembly/nvptx-safe-naming.rs
+++ b/tests/assembly-llvm/nvptx-safe-naming.rs
diff --git a/tests/assembly/panic-no-unwind-no-uwtable.rs b/tests/assembly-llvm/panic-no-unwind-no-uwtable.rs
index b51b173e961..b51b173e961 100644
--- a/tests/assembly/panic-no-unwind-no-uwtable.rs
+++ b/tests/assembly-llvm/panic-no-unwind-no-uwtable.rs
diff --git a/tests/assembly/panic-unwind-no-uwtable.rs b/tests/assembly-llvm/panic-unwind-no-uwtable.rs
index 181656a8987..181656a8987 100644
--- a/tests/assembly/panic-unwind-no-uwtable.rs
+++ b/tests/assembly-llvm/panic-unwind-no-uwtable.rs
diff --git a/tests/assembly/pic-relocation-model.rs b/tests/assembly-llvm/pic-relocation-model.rs
index 15a8723f756..15a8723f756 100644
--- a/tests/assembly/pic-relocation-model.rs
+++ b/tests/assembly-llvm/pic-relocation-model.rs
diff --git a/tests/assembly/pie-relocation-model.rs b/tests/assembly-llvm/pie-relocation-model.rs
index cbe0001041e..cbe0001041e 100644
--- a/tests/assembly/pie-relocation-model.rs
+++ b/tests/assembly-llvm/pie-relocation-model.rs
diff --git a/tests/assembly/powerpc64-struct-abi.rs b/tests/assembly-llvm/powerpc64-struct-abi.rs
index ee4965deb4f..ee4965deb4f 100644
--- a/tests/assembly/powerpc64-struct-abi.rs
+++ b/tests/assembly-llvm/powerpc64-struct-abi.rs
diff --git a/tests/assembly/riscv-float-struct-abi.rs b/tests/assembly-llvm/riscv-float-struct-abi.rs
index 5d9ac9d70b8..5d9ac9d70b8 100644
--- a/tests/assembly/riscv-float-struct-abi.rs
+++ b/tests/assembly-llvm/riscv-float-struct-abi.rs
diff --git a/tests/assembly/riscv-soft-abi-with-float-features.rs b/tests/assembly-llvm/riscv-soft-abi-with-float-features.rs
index 72cbd3841c1..72cbd3841c1 100644
--- a/tests/assembly/riscv-soft-abi-with-float-features.rs
+++ b/tests/assembly-llvm/riscv-soft-abi-with-float-features.rs
diff --git a/tests/assembly/rust-abi-arg-attr.rs b/tests/assembly-llvm/rust-abi-arg-attr.rs
index 4f3673ccfc3..4f3673ccfc3 100644
--- a/tests/assembly/rust-abi-arg-attr.rs
+++ b/tests/assembly-llvm/rust-abi-arg-attr.rs
diff --git a/tests/assembly/s390x-backchain-toggle.rs b/tests/assembly-llvm/s390x-backchain-toggle.rs
index 9bae15b7d11..9bae15b7d11 100644
--- a/tests/assembly/s390x-backchain-toggle.rs
+++ b/tests/assembly-llvm/s390x-backchain-toggle.rs
diff --git a/tests/assembly/s390x-vector-abi.rs b/tests/assembly-llvm/s390x-vector-abi.rs
index fcf42664034..fcf42664034 100644
--- a/tests/assembly/s390x-vector-abi.rs
+++ b/tests/assembly-llvm/s390x-vector-abi.rs
diff --git a/tests/assembly/sanitizer/kcfi/emit-arity-indicator.rs b/tests/assembly-llvm/sanitizer/kcfi/emit-arity-indicator.rs
index b3b623b509b..f9966a23446 100644
--- a/tests/assembly/sanitizer/kcfi/emit-arity-indicator.rs
+++ b/tests/assembly-llvm/sanitizer/kcfi/emit-arity-indicator.rs
@@ -8,6 +8,14 @@
 //@ min-llvm-version: 21.0.0
 
 #![crate_type = "lib"]
+#![feature(no_core)]
+#![no_core]
+
+extern crate minicore;
+
+unsafe extern "C" {
+    safe fn add(x: i32, y: i32) -> i32;
+}
 
 pub fn add_one(x: i32) -> i32 {
     // CHECK-LABEL: __cfi__{{.*}}7add_one{{.*}}:
@@ -23,7 +31,7 @@ pub fn add_one(x: i32) -> i32 {
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  mov ecx, 2628068948
-    x + 1
+    add(x, 1)
 }
 
 pub fn add_two(x: i32, _y: i32) -> i32 {
@@ -40,7 +48,7 @@ pub fn add_two(x: i32, _y: i32) -> i32 {
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  mov edx, 2505940310
-    x + 2
+    add(x, 2)
 }
 
 pub fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
@@ -57,5 +65,5 @@ pub fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 {
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  nop
     // CHECK-NEXT:  mov edx, 653723426
-    f(arg) + f(arg)
+    add(f(arg), f(arg))
 }
diff --git a/tests/assembly/simd-bitmask.rs b/tests/assembly-llvm/simd-bitmask.rs
index d3e20f6ae1a..d3e20f6ae1a 100644
--- a/tests/assembly/simd-bitmask.rs
+++ b/tests/assembly-llvm/simd-bitmask.rs
diff --git a/tests/assembly/simd-intrinsic-gather.rs b/tests/assembly-llvm/simd-intrinsic-gather.rs
index bcab0ba1cc0..bcab0ba1cc0 100644
--- a/tests/assembly/simd-intrinsic-gather.rs
+++ b/tests/assembly-llvm/simd-intrinsic-gather.rs
diff --git a/tests/assembly/simd-intrinsic-mask-load.rs b/tests/assembly-llvm/simd-intrinsic-mask-load.rs
index d3f3453a780..d3f3453a780 100644
--- a/tests/assembly/simd-intrinsic-mask-load.rs
+++ b/tests/assembly-llvm/simd-intrinsic-mask-load.rs
diff --git a/tests/assembly/simd-intrinsic-mask-reduce.rs b/tests/assembly-llvm/simd-intrinsic-mask-reduce.rs
index 8b15ed0a254..8b15ed0a254 100644
--- a/tests/assembly/simd-intrinsic-mask-reduce.rs
+++ b/tests/assembly-llvm/simd-intrinsic-mask-reduce.rs
diff --git a/tests/assembly/simd-intrinsic-mask-store.rs b/tests/assembly-llvm/simd-intrinsic-mask-store.rs
index 001762e5060..001762e5060 100644
--- a/tests/assembly/simd-intrinsic-mask-store.rs
+++ b/tests/assembly-llvm/simd-intrinsic-mask-store.rs
diff --git a/tests/assembly/simd-intrinsic-scatter.rs b/tests/assembly-llvm/simd-intrinsic-scatter.rs
index d77dfad3546..d77dfad3546 100644
--- a/tests/assembly/simd-intrinsic-scatter.rs
+++ b/tests/assembly-llvm/simd-intrinsic-scatter.rs
diff --git a/tests/assembly/simd-intrinsic-select.rs b/tests/assembly-llvm/simd-intrinsic-select.rs
index e7c7b0db0d5..e7c7b0db0d5 100644
--- a/tests/assembly/simd-intrinsic-select.rs
+++ b/tests/assembly-llvm/simd-intrinsic-select.rs
diff --git a/tests/assembly/simd/reduce-fadd-unordered.rs b/tests/assembly-llvm/simd/reduce-fadd-unordered.rs
index e872826f6ef..e872826f6ef 100644
--- a/tests/assembly/simd/reduce-fadd-unordered.rs
+++ b/tests/assembly-llvm/simd/reduce-fadd-unordered.rs
diff --git a/tests/assembly/slice-is_ascii.rs b/tests/assembly-llvm/slice-is_ascii.rs
index e53cd5160cf..e53cd5160cf 100644
--- a/tests/assembly/slice-is_ascii.rs
+++ b/tests/assembly-llvm/slice-is_ascii.rs
diff --git a/tests/assembly/small_data_threshold.rs b/tests/assembly-llvm/small_data_threshold.rs
index 2abe8687d8b..2abe8687d8b 100644
--- a/tests/assembly/small_data_threshold.rs
+++ b/tests/assembly-llvm/small_data_threshold.rs
diff --git a/tests/assembly/sparc-struct-abi.rs b/tests/assembly-llvm/sparc-struct-abi.rs
index b1594428811..b1594428811 100644
--- a/tests/assembly/sparc-struct-abi.rs
+++ b/tests/assembly-llvm/sparc-struct-abi.rs
diff --git a/tests/assembly/stack-probes.rs b/tests/assembly-llvm/stack-probes.rs
index de245431f47..de245431f47 100644
--- a/tests/assembly/stack-probes.rs
+++ b/tests/assembly-llvm/stack-probes.rs
diff --git a/tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs
index 3287e018b40..3287e018b40 100644
--- a/tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs
+++ b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-32bit.rs
diff --git a/tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs
index 9a3dabc74dd..9a3dabc74dd 100644
--- a/tests/assembly/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs
+++ b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect-windows-64bit.rs
diff --git a/tests/assembly/stack-protector/stack-protector-heuristics-effect.rs b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect.rs
index ae281cb95da..ae281cb95da 100644
--- a/tests/assembly/stack-protector/stack-protector-heuristics-effect.rs
+++ b/tests/assembly-llvm/stack-protector/stack-protector-heuristics-effect.rs
diff --git a/tests/assembly/stack-protector/stack-protector-target-support.rs b/tests/assembly-llvm/stack-protector/stack-protector-target-support.rs
index a937256a60f..a937256a60f 100644
--- a/tests/assembly/stack-protector/stack-protector-target-support.rs
+++ b/tests/assembly-llvm/stack-protector/stack-protector-target-support.rs
diff --git a/tests/assembly/static-relocation-model.rs b/tests/assembly-llvm/static-relocation-model.rs
index 35ad94133b2..35ad94133b2 100644
--- a/tests/assembly/static-relocation-model.rs
+++ b/tests/assembly-llvm/static-relocation-model.rs
diff --git a/tests/assembly/strict_provenance.rs b/tests/assembly-llvm/strict_provenance.rs
index 1a797670962..1a797670962 100644
--- a/tests/assembly/strict_provenance.rs
+++ b/tests/assembly-llvm/strict_provenance.rs
diff --git a/tests/assembly/target-feature-multiple.rs b/tests/assembly-llvm/target-feature-multiple.rs
index bc432d21931..9a941c52bda 100644
--- a/tests/assembly/target-feature-multiple.rs
+++ b/tests/assembly-llvm/target-feature-multiple.rs
@@ -15,7 +15,7 @@
 // > LLVM ERROR: Cannot select: 0x7f00f400c010: i32,i32,ch = X86ISD::RDSEED 0x7f00f400bfa8:2
 // > In function: foo
 //
-// See also tests/codegen/target-feature-overrides.rs
+// See also tests/codegen-llvm/target-feature-overrides.rs
 #![feature(no_core, lang_items, link_llvm_intrinsics, abi_unadjusted)]
 #![crate_type = "lib"]
 #![no_core]
diff --git a/tests/assembly/targets/targets-amdgpu.rs b/tests/assembly-llvm/targets/targets-amdgpu.rs
index 1d10b8fc315..1d10b8fc315 100644
--- a/tests/assembly/targets/targets-amdgpu.rs
+++ b/tests/assembly-llvm/targets/targets-amdgpu.rs
diff --git a/tests/assembly/targets/targets-elf.rs b/tests/assembly-llvm/targets/targets-elf.rs
index edf16548e7d..edf16548e7d 100644
--- a/tests/assembly/targets/targets-elf.rs
+++ b/tests/assembly-llvm/targets/targets-elf.rs
diff --git a/tests/assembly/targets/targets-macho.rs b/tests/assembly-llvm/targets/targets-macho.rs
index 92bde1c6971..92bde1c6971 100644
--- a/tests/assembly/targets/targets-macho.rs
+++ b/tests/assembly-llvm/targets/targets-macho.rs
diff --git a/tests/assembly/targets/targets-nvptx.rs b/tests/assembly-llvm/targets/targets-nvptx.rs
index 49c12aebaaa..49c12aebaaa 100644
--- a/tests/assembly/targets/targets-nvptx.rs
+++ b/tests/assembly-llvm/targets/targets-nvptx.rs
diff --git a/tests/assembly/targets/targets-pe.rs b/tests/assembly-llvm/targets/targets-pe.rs
index de29b9af502..de29b9af502 100644
--- a/tests/assembly/targets/targets-pe.rs
+++ b/tests/assembly-llvm/targets/targets-pe.rs
diff --git a/tests/assembly/wasm_exceptions.rs b/tests/assembly-llvm/wasm_exceptions.rs
index f05ccfadc58..704e8026f3f 100644
--- a/tests/assembly/wasm_exceptions.rs
+++ b/tests/assembly-llvm/wasm_exceptions.rs
@@ -2,7 +2,6 @@
 //@ assembly-output: emit-asm
 //@ compile-flags: -C target-feature=+exception-handling
 //@ compile-flags: -C panic=unwind
-//@ compile-flags: -C llvm-args=-wasm-enable-eh
 
 #![crate_type = "lib"]
 #![feature(core_intrinsics)]
diff --git a/tests/assembly/x86-return-float.rs b/tests/assembly-llvm/x86-return-float.rs
index 165c11d2280..165c11d2280 100644
--- a/tests/assembly/x86-return-float.rs
+++ b/tests/assembly-llvm/x86-return-float.rs
diff --git a/tests/assembly/x86_64-array-pair-load-store-merge.rs b/tests/assembly-llvm/x86_64-array-pair-load-store-merge.rs
index 56a1a9e8206..56a1a9e8206 100644
--- a/tests/assembly/x86_64-array-pair-load-store-merge.rs
+++ b/tests/assembly-llvm/x86_64-array-pair-load-store-merge.rs
diff --git a/tests/assembly/x86_64-bigint-helpers.rs b/tests/assembly-llvm/x86_64-bigint-helpers.rs
index 58785932bc2..58785932bc2 100644
--- a/tests/assembly/x86_64-bigint-helpers.rs
+++ b/tests/assembly-llvm/x86_64-bigint-helpers.rs
diff --git a/tests/assembly/x86_64-cmp.rs b/tests/assembly-llvm/x86_64-cmp.rs
index 26c9013d96f..26c9013d96f 100644
--- a/tests/assembly/x86_64-cmp.rs
+++ b/tests/assembly-llvm/x86_64-cmp.rs
diff --git a/tests/assembly/x86_64-floating-point-clamp.rs b/tests/assembly-llvm/x86_64-floating-point-clamp.rs
index 6b0c29c5f21..6b0c29c5f21 100644
--- a/tests/assembly/x86_64-floating-point-clamp.rs
+++ b/tests/assembly-llvm/x86_64-floating-point-clamp.rs
diff --git a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs
index f5e2f18e68e..f5e2f18e68e 100644
--- a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs
+++ b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs
diff --git a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs
index f16d68fa255..f16d68fa255 100644
--- a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs
+++ b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs
diff --git a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs
index a729df8e166..a729df8e166 100644
--- a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs
+++ b/tests/assembly-llvm/x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs
diff --git a/tests/assembly/x86_64-function-return.rs b/tests/assembly-llvm/x86_64-function-return.rs
index 7fd57200a9e..7fd57200a9e 100644
--- a/tests/assembly/x86_64-function-return.rs
+++ b/tests/assembly-llvm/x86_64-function-return.rs
diff --git a/tests/assembly/x86_64-no-jump-tables.rs b/tests/assembly-llvm/x86_64-no-jump-tables.rs
index bb10042d8f6..bb10042d8f6 100644
--- a/tests/assembly/x86_64-no-jump-tables.rs
+++ b/tests/assembly-llvm/x86_64-no-jump-tables.rs
diff --git a/tests/assembly/x86_64-sse_crc.rs b/tests/assembly-llvm/x86_64-sse_crc.rs
index bde58955a21..bde58955a21 100644
--- a/tests/assembly/x86_64-sse_crc.rs
+++ b/tests/assembly-llvm/x86_64-sse_crc.rs
diff --git a/tests/assembly/x86_64-typed-swap.rs b/tests/assembly-llvm/x86_64-typed-swap.rs
index a6753011d36..a6753011d36 100644
--- a/tests/assembly/x86_64-typed-swap.rs
+++ b/tests/assembly-llvm/x86_64-typed-swap.rs
diff --git a/tests/assembly/x86_64-windows-float-abi.rs b/tests/assembly-llvm/x86_64-windows-float-abi.rs
index cbc80910851..cbc80910851 100644
--- a/tests/assembly/x86_64-windows-float-abi.rs
+++ b/tests/assembly-llvm/x86_64-windows-float-abi.rs
diff --git a/tests/assembly/x86_64-windows-i128-abi.rs b/tests/assembly-llvm/x86_64-windows-i128-abi.rs
index d2aefb7daa6..d2aefb7daa6 100644
--- a/tests/assembly/x86_64-windows-i128-abi.rs
+++ b/tests/assembly-llvm/x86_64-windows-i128-abi.rs
diff --git a/tests/assembly/x86_64-xray.rs b/tests/assembly-llvm/x86_64-xray.rs
index 4cf3e8cda13..4cf3e8cda13 100644
--- a/tests/assembly/x86_64-xray.rs
+++ b/tests/assembly-llvm/x86_64-xray.rs
diff --git a/tests/auxiliary/minisimd.rs b/tests/auxiliary/minisimd.rs
new file mode 100644
index 00000000000..ff0c996de1c
--- /dev/null
+++ b/tests/auxiliary/minisimd.rs
@@ -0,0 +1,160 @@
+//! Auxiliary crate for tests that need SIMD types.
+//!
+//! Historically the tests just made their own, but projections into simd types
+//! was banned by <https://github.com/rust-lang/compiler-team/issues/838>, which
+//! breaks `derive(Clone)`, so this exists to give easily-usable types that can
+//! be used without copy-pasting the definitions of the helpers everywhere.
+//!
+//! This makes no attempt to guard against ICEs.  Using it with proper types
+//! and such is your responsibility in the tests you write.
+
+#![allow(unused)]
+#![allow(non_camel_case_types)]
+
+// The field is currently left `pub` for convenience in porting tests, many of
+// which attempt to just construct it directly. That still works; it's just the
+// `.0` projection that doesn't.
+#[repr(simd)]
+#[derive(Copy, Eq)]
+pub struct Simd<T, const N: usize>(pub [T; N]);
+
+impl<T: Copy, const N: usize> Clone for Simd<T, N> {
+    fn clone(&self) -> Self {
+        *self
+    }
+}
+
+impl<T: PartialEq, const N: usize> PartialEq for Simd<T, N> {
+    fn eq(&self, other: &Self) -> bool {
+        self.as_array() == other.as_array()
+    }
+}
+
+impl<T: core::fmt::Debug, const N: usize> core::fmt::Debug for Simd<T, N> {
+    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
+        <[T; N] as core::fmt::Debug>::fmt(self.as_array(), f)
+    }
+}
+
+impl<T, const N: usize> core::ops::Index<usize> for Simd<T, N> {
+    type Output = T;
+    fn index(&self, i: usize) -> &T {
+        &self.as_array()[i]
+    }
+}
+
+impl<T, const N: usize> Simd<T, N> {
+    pub const fn from_array(a: [T; N]) -> Self {
+        Simd(a)
+    }
+    pub fn as_array(&self) -> &[T; N] {
+        let p: *const Self = self;
+        unsafe { &*p.cast::<[T; N]>() }
+    }
+    pub fn into_array(self) -> [T; N]
+    where
+        T: Copy,
+    {
+        *self.as_array()
+    }
+}
+
+pub type u8x2 = Simd<u8, 2>;
+pub type u8x4 = Simd<u8, 4>;
+pub type u8x8 = Simd<u8, 8>;
+pub type u8x16 = Simd<u8, 16>;
+pub type u8x32 = Simd<u8, 32>;
+pub type u8x64 = Simd<u8, 64>;
+
+pub type u16x2 = Simd<u16, 2>;
+pub type u16x4 = Simd<u16, 4>;
+pub type u16x8 = Simd<u16, 8>;
+pub type u16x16 = Simd<u16, 16>;
+pub type u16x32 = Simd<u16, 32>;
+
+pub type u32x2 = Simd<u32, 2>;
+pub type u32x4 = Simd<u32, 4>;
+pub type u32x8 = Simd<u32, 8>;
+pub type u32x16 = Simd<u32, 16>;
+
+pub type u64x2 = Simd<u64, 2>;
+pub type u64x4 = Simd<u64, 4>;
+pub type u64x8 = Simd<u64, 8>;
+
+pub type u128x2 = Simd<u128, 2>;
+pub type u128x4 = Simd<u128, 4>;
+
+pub type i8x2 = Simd<i8, 2>;
+pub type i8x4 = Simd<i8, 4>;
+pub type i8x8 = Simd<i8, 8>;
+pub type i8x16 = Simd<i8, 16>;
+pub type i8x32 = Simd<i8, 32>;
+pub type i8x64 = Simd<i8, 64>;
+
+pub type i16x2 = Simd<i16, 2>;
+pub type i16x4 = Simd<i16, 4>;
+pub type i16x8 = Simd<i16, 8>;
+pub type i16x16 = Simd<i16, 16>;
+pub type i16x32 = Simd<i16, 32>;
+
+pub type i32x2 = Simd<i32, 2>;
+pub type i32x4 = Simd<i32, 4>;
+pub type i32x8 = Simd<i32, 8>;
+pub type i32x16 = Simd<i32, 16>;
+
+pub type i64x2 = Simd<i64, 2>;
+pub type i64x4 = Simd<i64, 4>;
+pub type i64x8 = Simd<i64, 8>;
+
+pub type i128x2 = Simd<i128, 2>;
+pub type i128x4 = Simd<i128, 4>;
+
+pub type f32x2 = Simd<f32, 2>;
+pub type f32x4 = Simd<f32, 4>;
+pub type f32x8 = Simd<f32, 8>;
+pub type f32x16 = Simd<f32, 16>;
+
+pub type f64x2 = Simd<f64, 2>;
+pub type f64x4 = Simd<f64, 4>;
+pub type f64x8 = Simd<f64, 8>;
+
+// The field is currently left `pub` for convenience in porting tests, many of
+// which attempt to just construct it directly. That still works; it's just the
+// `.0` projection that doesn't.
+#[repr(simd, packed)]
+#[derive(Copy)]
+pub struct PackedSimd<T, const N: usize>(pub [T; N]);
+
+impl<T: Copy, const N: usize> Clone for PackedSimd<T, N> {
+    fn clone(&self) -> Self {
+        *self
+    }
+}
+
+impl<T: PartialEq, const N: usize> PartialEq for PackedSimd<T, N> {
+    fn eq(&self, other: &Self) -> bool {
+        self.as_array() == other.as_array()
+    }
+}
+
+impl<T: core::fmt::Debug, const N: usize> core::fmt::Debug for PackedSimd<T, N> {
+    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
+        <[T; N] as core::fmt::Debug>::fmt(self.as_array(), f)
+    }
+}
+
+impl<T, const N: usize> PackedSimd<T, N> {
+    pub const fn from_array(a: [T; N]) -> Self {
+        PackedSimd(a)
+    }
+    pub fn as_array(&self) -> &[T; N] {
+        let p: *const Self = self;
+        unsafe { &*p.cast::<[T; N]>() }
+    }
+    pub fn into_array(self) -> [T; N]
+    where
+        T: Copy,
+    {
+        *self.as_array()
+    }
+}
diff --git a/tests/codegen/README.md b/tests/codegen-llvm/README.md
index 8f2daaafcc7..8f2daaafcc7 100644
--- a/tests/codegen/README.md
+++ b/tests/codegen-llvm/README.md
diff --git a/tests/codegen/aarch64-softfloat.rs b/tests/codegen-llvm/aarch64-softfloat.rs
index 4f5366e047f..4f5366e047f 100644
--- a/tests/codegen/aarch64-softfloat.rs
+++ b/tests/codegen-llvm/aarch64-softfloat.rs
diff --git a/tests/codegen/aarch64-struct-align-128.rs b/tests/codegen-llvm/aarch64-struct-align-128.rs
index ba1d19680f4..ba1d19680f4 100644
--- a/tests/codegen/aarch64-struct-align-128.rs
+++ b/tests/codegen-llvm/aarch64-struct-align-128.rs
diff --git a/tests/codegen/abi-efiapi.rs b/tests/codegen-llvm/abi-efiapi.rs
index 1736f0daf0f..1736f0daf0f 100644
--- a/tests/codegen/abi-efiapi.rs
+++ b/tests/codegen-llvm/abi-efiapi.rs
diff --git a/tests/codegen/abi-main-signature-16bit-c-int.rs b/tests/codegen-llvm/abi-main-signature-16bit-c-int.rs
index d44b80475e4..d44b80475e4 100644
--- a/tests/codegen/abi-main-signature-16bit-c-int.rs
+++ b/tests/codegen-llvm/abi-main-signature-16bit-c-int.rs
diff --git a/tests/codegen/abi-main-signature-32bit-c-int.rs b/tests/codegen-llvm/abi-main-signature-32bit-c-int.rs
index ce475adde44..ce475adde44 100644
--- a/tests/codegen/abi-main-signature-32bit-c-int.rs
+++ b/tests/codegen-llvm/abi-main-signature-32bit-c-int.rs
diff --git a/tests/codegen/abi-repr-ext.rs b/tests/codegen-llvm/abi-repr-ext.rs
index 1da28a94d9d..1da28a94d9d 100644
--- a/tests/codegen/abi-repr-ext.rs
+++ b/tests/codegen-llvm/abi-repr-ext.rs
diff --git a/tests/codegen/abi-sysv64.rs b/tests/codegen-llvm/abi-sysv64.rs
index 7ade17f2bae..7ade17f2bae 100644
--- a/tests/codegen/abi-sysv64.rs
+++ b/tests/codegen-llvm/abi-sysv64.rs
diff --git a/tests/codegen/abi-win64-zst.rs b/tests/codegen-llvm/abi-win64-zst.rs
index e46f9666d42..e46f9666d42 100644
--- a/tests/codegen/abi-win64-zst.rs
+++ b/tests/codegen-llvm/abi-win64-zst.rs
diff --git a/tests/codegen/abi-x86-interrupt.rs b/tests/codegen-llvm/abi-x86-interrupt.rs
index 9a1ded2c9e3..9a1ded2c9e3 100644
--- a/tests/codegen/abi-x86-interrupt.rs
+++ b/tests/codegen-llvm/abi-x86-interrupt.rs
diff --git a/tests/codegen/abi-x86-sse.rs b/tests/codegen-llvm/abi-x86-sse.rs
index 68d2acfb527..68d2acfb527 100644
--- a/tests/codegen/abi-x86-sse.rs
+++ b/tests/codegen-llvm/abi-x86-sse.rs
diff --git a/tests/codegen/abi-x86_64_sysv.rs b/tests/codegen-llvm/abi-x86_64_sysv.rs
index 09909f994d6..09909f994d6 100644
--- a/tests/codegen/abi-x86_64_sysv.rs
+++ b/tests/codegen-llvm/abi-x86_64_sysv.rs
diff --git a/tests/codegen/addr-of-mutate.rs b/tests/codegen-llvm/addr-of-mutate.rs
index 14bc4b8ab28..14bc4b8ab28 100644
--- a/tests/codegen/addr-of-mutate.rs
+++ b/tests/codegen-llvm/addr-of-mutate.rs
diff --git a/tests/codegen/adjustments.rs b/tests/codegen-llvm/adjustments.rs
index 7f7831def08..7f7831def08 100644
--- a/tests/codegen/adjustments.rs
+++ b/tests/codegen-llvm/adjustments.rs
diff --git a/tests/codegen/align-byval-alignment-mismatch.rs b/tests/codegen-llvm/align-byval-alignment-mismatch.rs
index c69fc2de9d2..c69fc2de9d2 100644
--- a/tests/codegen/align-byval-alignment-mismatch.rs
+++ b/tests/codegen-llvm/align-byval-alignment-mismatch.rs
diff --git a/tests/codegen/align-byval-vector.rs b/tests/codegen-llvm/align-byval-vector.rs
index c33b41a7bbe..c33b41a7bbe 100644
--- a/tests/codegen/align-byval-vector.rs
+++ b/tests/codegen-llvm/align-byval-vector.rs
diff --git a/tests/codegen/align-byval.rs b/tests/codegen-llvm/align-byval.rs
index 75dabd74a79..75dabd74a79 100644
--- a/tests/codegen/align-byval.rs
+++ b/tests/codegen-llvm/align-byval.rs
diff --git a/tests/codegen/align-enum.rs b/tests/codegen-llvm/align-enum.rs
index e8dd95d3afb..e8dd95d3afb 100644
--- a/tests/codegen/align-enum.rs
+++ b/tests/codegen-llvm/align-enum.rs
diff --git a/tests/codegen/align-fn.rs b/tests/codegen-llvm/align-fn.rs
index fd572910c28..cbc24e2ae2e 100644
--- a/tests/codegen/align-fn.rs
+++ b/tests/codegen-llvm/align-fn.rs
@@ -3,11 +3,13 @@
 //@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
 
 #![crate_type = "lib"]
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
 
 // CHECK: align 16
 #[unsafe(no_mangle)]
-#[align(16)]
+#[rustc_align(16)]
 pub fn fn_align() {}
 
 pub struct A;
@@ -15,12 +17,12 @@ pub struct A;
 impl A {
     // CHECK: align 16
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     pub fn method_align(self) {}
 
     // CHECK: align 16
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     pub fn associated_fn() {}
 }
 
@@ -29,18 +31,18 @@ trait T: Sized {
 
     fn trait_method(self) {}
 
-    #[align(8)]
+    #[rustc_align(8)]
     fn trait_method_inherit_low(self);
 
-    #[align(32)]
+    #[rustc_align(32)]
     fn trait_method_inherit_high(self);
 
-    #[align(32)]
+    #[rustc_align(32)]
     fn trait_method_inherit_default(self) {}
 
-    #[align(4)]
-    #[align(128)]
-    #[align(8)]
+    #[rustc_align(4)]
+    #[rustc_align(128)]
+    #[rustc_align(8)]
     fn inherit_highest(self) {}
 }
 
@@ -48,27 +50,27 @@ impl T for A {
     // CHECK-LABEL: trait_fn
     // CHECK-SAME: align 16
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     fn trait_fn() {}
 
     // CHECK-LABEL: trait_method
     // CHECK-SAME: align 16
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     fn trait_method(self) {}
 
     // The prototype's align is ignored because the align here is higher.
     // CHECK-LABEL: trait_method_inherit_low
     // CHECK-SAME: align 16
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     fn trait_method_inherit_low(self) {}
 
     // The prototype's align is used because it is higher.
     // CHECK-LABEL: trait_method_inherit_high
     // CHECK-SAME: align 32
     #[unsafe(no_mangle)]
-    #[align(16)]
+    #[rustc_align(16)]
     fn trait_method_inherit_high(self) {}
 
     // The prototype's align inherited.
@@ -81,8 +83,8 @@ impl T for A {
     // CHECK-LABEL: inherit_highest
     // CHECK-SAME: align 128
     #[unsafe(no_mangle)]
-    #[align(32)]
-    #[align(64)]
+    #[rustc_align(32)]
+    #[rustc_align(64)]
     fn inherit_highest(self) {}
 }
 
@@ -90,7 +92,7 @@ trait HasDefaultImpl: Sized {
     // CHECK-LABEL: inherit_from_default_method
     // CHECK-LABEL: inherit_from_default_method
     // CHECK-SAME: align 32
-    #[align(32)]
+    #[rustc_align(32)]
     fn inherit_from_default_method(self) {}
 }
 
@@ -101,35 +103,35 @@ impl HasDefaultImpl for InstantiateDefaultMethods {}
 // CHECK-LABEL: align_specified_twice_1
 // CHECK-SAME: align 64
 #[unsafe(no_mangle)]
-#[align(32)]
-#[align(64)]
+#[rustc_align(32)]
+#[rustc_align(64)]
 pub fn align_specified_twice_1() {}
 
 // CHECK-LABEL: align_specified_twice_2
 // CHECK-SAME: align 128
 #[unsafe(no_mangle)]
-#[align(128)]
-#[align(32)]
+#[rustc_align(128)]
+#[rustc_align(32)]
 pub fn align_specified_twice_2() {}
 
 // CHECK-LABEL: align_specified_twice_3
 // CHECK-SAME: align 256
 #[unsafe(no_mangle)]
-#[align(32)]
-#[align(256)]
+#[rustc_align(32)]
+#[rustc_align(256)]
 pub fn align_specified_twice_3() {}
 
 const _: () = {
     // CHECK-LABEL: align_unmangled
     // CHECK-SAME: align 256
     #[unsafe(no_mangle)]
-    #[align(32)]
-    #[align(256)]
+    #[rustc_align(32)]
+    #[rustc_align(256)]
     extern "C" fn align_unmangled() {}
 };
 
 unsafe extern "C" {
-    #[align(256)]
+    #[rustc_align(256)]
     fn align_unmangled();
 }
 
@@ -137,5 +139,5 @@ unsafe extern "C" {
 // CHECK-LABEL: async_align
 // CHECK-SAME: align 64
 #[unsafe(no_mangle)]
-#[align(64)]
+#[rustc_align(64)]
 pub async fn async_align() {}
diff --git a/tests/codegen/align-offset.rs b/tests/codegen-llvm/align-offset.rs
index 21062cc0a91..21062cc0a91 100644
--- a/tests/codegen/align-offset.rs
+++ b/tests/codegen-llvm/align-offset.rs
diff --git a/tests/codegen/align-struct.rs b/tests/codegen-llvm/align-struct.rs
index d4cc65e9158..d4cc65e9158 100644
--- a/tests/codegen/align-struct.rs
+++ b/tests/codegen-llvm/align-struct.rs
diff --git a/tests/codegen/alloc-optimisation.rs b/tests/codegen-llvm/alloc-optimisation.rs
index 3735860d510..3735860d510 100644
--- a/tests/codegen/alloc-optimisation.rs
+++ b/tests/codegen-llvm/alloc-optimisation.rs
diff --git a/tests/codegen/amdgpu-addrspacecast.rs b/tests/codegen-llvm/amdgpu-addrspacecast.rs
index 7fe630a7efa..7fe630a7efa 100644
--- a/tests/codegen/amdgpu-addrspacecast.rs
+++ b/tests/codegen-llvm/amdgpu-addrspacecast.rs
diff --git a/tests/codegen/array-clone.rs b/tests/codegen-llvm/array-clone.rs
index 35445174684..35445174684 100644
--- a/tests/codegen/array-clone.rs
+++ b/tests/codegen-llvm/array-clone.rs
diff --git a/tests/codegen/array-cmp.rs b/tests/codegen-llvm/array-cmp.rs
index 0d337655401..0d337655401 100644
--- a/tests/codegen/array-cmp.rs
+++ b/tests/codegen-llvm/array-cmp.rs
diff --git a/tests/codegen/array-codegen.rs b/tests/codegen-llvm/array-codegen.rs
index 9b0c6e8c347..9b0c6e8c347 100644
--- a/tests/codegen/array-codegen.rs
+++ b/tests/codegen-llvm/array-codegen.rs
diff --git a/tests/codegen/array-equality.rs b/tests/codegen-llvm/array-equality.rs
index fa0475bf480..fa0475bf480 100644
--- a/tests/codegen/array-equality.rs
+++ b/tests/codegen-llvm/array-equality.rs
diff --git a/tests/codegen/array-from_fn.rs b/tests/codegen-llvm/array-from_fn.rs
index 7202d0c67e6..7202d0c67e6 100644
--- a/tests/codegen/array-from_fn.rs
+++ b/tests/codegen-llvm/array-from_fn.rs
diff --git a/tests/codegen/array-map.rs b/tests/codegen-llvm/array-map.rs
index f49dddcfc20..f49dddcfc20 100644
--- a/tests/codegen/array-map.rs
+++ b/tests/codegen-llvm/array-map.rs
diff --git a/tests/codegen/array-optimized.rs b/tests/codegen-llvm/array-optimized.rs
index 000163d5519..000163d5519 100644
--- a/tests/codegen/array-optimized.rs
+++ b/tests/codegen-llvm/array-optimized.rs
diff --git a/tests/codegen/array-repeat.rs b/tests/codegen-llvm/array-repeat.rs
index 4c755df9390..4c755df9390 100644
--- a/tests/codegen/array-repeat.rs
+++ b/tests/codegen-llvm/array-repeat.rs
diff --git a/tests/codegen/ascii-char.rs b/tests/codegen-llvm/ascii-char.rs
index 86ec9d73afe..86ec9d73afe 100644
--- a/tests/codegen/ascii-char.rs
+++ b/tests/codegen-llvm/ascii-char.rs
diff --git a/tests/codegen/asm/aarch64-clobbers.rs b/tests/codegen-llvm/asm/aarch64-clobbers.rs
index dd3ba1510b5..dd3ba1510b5 100644
--- a/tests/codegen/asm/aarch64-clobbers.rs
+++ b/tests/codegen-llvm/asm/aarch64-clobbers.rs
diff --git a/tests/codegen/asm/avr-clobbers.rs b/tests/codegen-llvm/asm/avr-clobbers.rs
index 9451127bf04..9451127bf04 100644
--- a/tests/codegen/asm/avr-clobbers.rs
+++ b/tests/codegen-llvm/asm/avr-clobbers.rs
diff --git a/tests/codegen/asm/bpf-clobbers.rs b/tests/codegen-llvm/asm/bpf-clobbers.rs
index 1117549b1ec..1117549b1ec 100644
--- a/tests/codegen/asm/bpf-clobbers.rs
+++ b/tests/codegen-llvm/asm/bpf-clobbers.rs
diff --git a/tests/codegen/asm/critical.rs b/tests/codegen-llvm/asm/critical.rs
index 0f29d7c69b4..0f29d7c69b4 100644
--- a/tests/codegen/asm/critical.rs
+++ b/tests/codegen-llvm/asm/critical.rs
diff --git a/tests/codegen/asm/csky-clobbers.rs b/tests/codegen-llvm/asm/csky-clobbers.rs
index 4986d0fe56d..4986d0fe56d 100644
--- a/tests/codegen/asm/csky-clobbers.rs
+++ b/tests/codegen-llvm/asm/csky-clobbers.rs
diff --git a/tests/codegen/asm/foo.s b/tests/codegen-llvm/asm/foo.s
index 304d82aa0c6..304d82aa0c6 100644
--- a/tests/codegen/asm/foo.s
+++ b/tests/codegen-llvm/asm/foo.s
diff --git a/tests/codegen/asm/global_asm.rs b/tests/codegen-llvm/asm/global_asm.rs
index 32075daa3cf..32075daa3cf 100644
--- a/tests/codegen/asm/global_asm.rs
+++ b/tests/codegen-llvm/asm/global_asm.rs
diff --git a/tests/codegen/asm/global_asm_include.rs b/tests/codegen-llvm/asm/global_asm_include.rs
index 98be9c3e333..98be9c3e333 100644
--- a/tests/codegen/asm/global_asm_include.rs
+++ b/tests/codegen-llvm/asm/global_asm_include.rs
diff --git a/tests/codegen/asm/global_asm_x2.rs b/tests/codegen-llvm/asm/global_asm_x2.rs
index 9e3a00f0680..9e3a00f0680 100644
--- a/tests/codegen/asm/global_asm_x2.rs
+++ b/tests/codegen-llvm/asm/global_asm_x2.rs
diff --git a/tests/codegen/asm/goto.rs b/tests/codegen-llvm/asm/goto.rs
index f68c399c920..f68c399c920 100644
--- a/tests/codegen/asm/goto.rs
+++ b/tests/codegen-llvm/asm/goto.rs
diff --git a/tests/codegen/asm/hexagon-clobbers.rs b/tests/codegen-llvm/asm/hexagon-clobbers.rs
index 800b8964669..800b8964669 100644
--- a/tests/codegen/asm/hexagon-clobbers.rs
+++ b/tests/codegen-llvm/asm/hexagon-clobbers.rs
diff --git a/tests/codegen/asm/may_unwind.rs b/tests/codegen-llvm/asm/may_unwind.rs
index 63cdec7584c..63cdec7584c 100644
--- a/tests/codegen/asm/may_unwind.rs
+++ b/tests/codegen-llvm/asm/may_unwind.rs
diff --git a/tests/codegen/asm/maybe-uninit.rs b/tests/codegen-llvm/asm/maybe-uninit.rs
index d76d5cb1312..d76d5cb1312 100644
--- a/tests/codegen/asm/maybe-uninit.rs
+++ b/tests/codegen-llvm/asm/maybe-uninit.rs
diff --git a/tests/codegen/asm/msp430-clobbers.rs b/tests/codegen-llvm/asm/msp430-clobbers.rs
index 2c8d29cffc4..2c8d29cffc4 100644
--- a/tests/codegen/asm/msp430-clobbers.rs
+++ b/tests/codegen-llvm/asm/msp430-clobbers.rs
diff --git a/tests/codegen/asm/multiple-options.rs b/tests/codegen-llvm/asm/multiple-options.rs
index 4d87471a193..4d87471a193 100644
--- a/tests/codegen/asm/multiple-options.rs
+++ b/tests/codegen-llvm/asm/multiple-options.rs
diff --git a/tests/codegen/asm/options.rs b/tests/codegen-llvm/asm/options.rs
index c087f91fd43..c087f91fd43 100644
--- a/tests/codegen/asm/options.rs
+++ b/tests/codegen-llvm/asm/options.rs
diff --git a/tests/codegen/asm/powerpc-clobbers.rs b/tests/codegen-llvm/asm/powerpc-clobbers.rs
index f7fc7eea5d5..f7fc7eea5d5 100644
--- a/tests/codegen/asm/powerpc-clobbers.rs
+++ b/tests/codegen-llvm/asm/powerpc-clobbers.rs
diff --git a/tests/codegen/asm/riscv-clobbers.rs b/tests/codegen-llvm/asm/riscv-clobbers.rs
index e55b6731098..e55b6731098 100644
--- a/tests/codegen/asm/riscv-clobbers.rs
+++ b/tests/codegen-llvm/asm/riscv-clobbers.rs
diff --git a/tests/codegen/asm/s390x-clobbers.rs b/tests/codegen-llvm/asm/s390x-clobbers.rs
index 0ba22a32abf..0ba22a32abf 100644
--- a/tests/codegen/asm/s390x-clobbers.rs
+++ b/tests/codegen-llvm/asm/s390x-clobbers.rs
diff --git a/tests/codegen/asm/sanitize-llvm.rs b/tests/codegen-llvm/asm/sanitize-llvm.rs
index 97a77033284..97a77033284 100644
--- a/tests/codegen/asm/sanitize-llvm.rs
+++ b/tests/codegen-llvm/asm/sanitize-llvm.rs
diff --git a/tests/codegen/asm/sparc-clobbers.rs b/tests/codegen-llvm/asm/sparc-clobbers.rs
index a71715ed94d..a71715ed94d 100644
--- a/tests/codegen/asm/sparc-clobbers.rs
+++ b/tests/codegen-llvm/asm/sparc-clobbers.rs
diff --git a/tests/codegen/asm/x86-clobber_abi.rs b/tests/codegen-llvm/asm/x86-clobber_abi.rs
index 5b34b4e8ef3..5b34b4e8ef3 100644
--- a/tests/codegen/asm/x86-clobber_abi.rs
+++ b/tests/codegen-llvm/asm/x86-clobber_abi.rs
diff --git a/tests/codegen/asm/x86-clobbers.rs b/tests/codegen-llvm/asm/x86-clobbers.rs
index 50163b646b2..50163b646b2 100644
--- a/tests/codegen/asm/x86-clobbers.rs
+++ b/tests/codegen-llvm/asm/x86-clobbers.rs
diff --git a/tests/codegen/asm/x86-target-clobbers.rs b/tests/codegen-llvm/asm/x86-target-clobbers.rs
index 119372491ff..119372491ff 100644
--- a/tests/codegen/asm/x86-target-clobbers.rs
+++ b/tests/codegen-llvm/asm/x86-target-clobbers.rs
diff --git a/tests/codegen/assign-desugar-debuginfo.rs b/tests/codegen-llvm/assign-desugar-debuginfo.rs
index 77ee8758b3b..77ee8758b3b 100644
--- a/tests/codegen/assign-desugar-debuginfo.rs
+++ b/tests/codegen-llvm/assign-desugar-debuginfo.rs
diff --git a/tests/codegen/async-closure-debug.rs b/tests/codegen-llvm/async-closure-debug.rs
index b5b369e6e54..b5b369e6e54 100644
--- a/tests/codegen/async-closure-debug.rs
+++ b/tests/codegen-llvm/async-closure-debug.rs
diff --git a/tests/codegen/async-fn-debug-awaitee-field.rs b/tests/codegen-llvm/async-fn-debug-awaitee-field.rs
index 50860c90662..50860c90662 100644
--- a/tests/codegen/async-fn-debug-awaitee-field.rs
+++ b/tests/codegen-llvm/async-fn-debug-awaitee-field.rs
diff --git a/tests/codegen/async-fn-debug-msvc.rs b/tests/codegen-llvm/async-fn-debug-msvc.rs
index e0c601146f8..e0c601146f8 100644
--- a/tests/codegen/async-fn-debug-msvc.rs
+++ b/tests/codegen-llvm/async-fn-debug-msvc.rs
diff --git a/tests/codegen/async-fn-debug.rs b/tests/codegen-llvm/async-fn-debug.rs
index ed704c7cc8b..ed704c7cc8b 100644
--- a/tests/codegen/async-fn-debug.rs
+++ b/tests/codegen-llvm/async-fn-debug.rs
diff --git a/tests/codegen/atomic-operations.rs b/tests/codegen-llvm/atomic-operations.rs
index 8771b8b2419..8771b8b2419 100644
--- a/tests/codegen/atomic-operations.rs
+++ b/tests/codegen-llvm/atomic-operations.rs
diff --git a/tests/codegen/atomicptr.rs b/tests/codegen-llvm/atomicptr.rs
index 4819af40ca2..4819af40ca2 100644
--- a/tests/codegen/atomicptr.rs
+++ b/tests/codegen-llvm/atomicptr.rs
diff --git a/tests/codegen/autodiff/batched.rs b/tests/codegen-llvm/autodiff/batched.rs
index d27aed50e6c..d27aed50e6c 100644
--- a/tests/codegen/autodiff/batched.rs
+++ b/tests/codegen-llvm/autodiff/batched.rs
diff --git a/tests/codegen/autodiff/generic.rs b/tests/codegen-llvm/autodiff/generic.rs
index 2f674079be0..2f674079be0 100644
--- a/tests/codegen/autodiff/generic.rs
+++ b/tests/codegen-llvm/autodiff/generic.rs
diff --git a/tests/codegen/autodiff/identical_fnc.rs b/tests/codegen-llvm/autodiff/identical_fnc.rs
index 1c25b3d09ab..1c25b3d09ab 100644
--- a/tests/codegen/autodiff/identical_fnc.rs
+++ b/tests/codegen-llvm/autodiff/identical_fnc.rs
diff --git a/tests/codegen/autodiff/inline.rs b/tests/codegen-llvm/autodiff/inline.rs
index 65bed170207..65bed170207 100644
--- a/tests/codegen/autodiff/inline.rs
+++ b/tests/codegen-llvm/autodiff/inline.rs
diff --git a/tests/codegen/autodiff/scalar.rs b/tests/codegen-llvm/autodiff/scalar.rs
index 096b4209e84..096b4209e84 100644
--- a/tests/codegen/autodiff/scalar.rs
+++ b/tests/codegen-llvm/autodiff/scalar.rs
diff --git a/tests/codegen/autodiff/sret.rs b/tests/codegen-llvm/autodiff/sret.rs
index d2fa85e3e37..d2fa85e3e37 100644
--- a/tests/codegen/autodiff/sret.rs
+++ b/tests/codegen-llvm/autodiff/sret.rs
diff --git a/tests/codegen/autodiffv2.rs b/tests/codegen-llvm/autodiffv2.rs
index a40d19d3be3..a40d19d3be3 100644
--- a/tests/codegen/autodiffv2.rs
+++ b/tests/codegen-llvm/autodiffv2.rs
diff --git a/tests/codegen/autovec/dont-shuffle-bswaps-opt2.rs b/tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt2.rs
index c354228acc5..c354228acc5 100644
--- a/tests/codegen/autovec/dont-shuffle-bswaps-opt2.rs
+++ b/tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt2.rs
diff --git a/tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs b/tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt3.rs
index 203d12005de..203d12005de 100644
--- a/tests/codegen/autovec/dont-shuffle-bswaps-opt3.rs
+++ b/tests/codegen-llvm/autovec/dont-shuffle-bswaps-opt3.rs
diff --git a/tests/codegen/autovectorize-f32x4.rs b/tests/codegen-llvm/autovectorize-f32x4.rs
index 254362842f9..254362842f9 100644
--- a/tests/codegen/autovectorize-f32x4.rs
+++ b/tests/codegen-llvm/autovectorize-f32x4.rs
diff --git a/tests/codegen/auxiliary/extern_decl.rs b/tests/codegen-llvm/auxiliary/extern_decl.rs
index d17e77b1444..d17e77b1444 100644
--- a/tests/codegen/auxiliary/extern_decl.rs
+++ b/tests/codegen-llvm/auxiliary/extern_decl.rs
diff --git a/tests/codegen/auxiliary/nounwind.rs b/tests/codegen-llvm/auxiliary/nounwind.rs
index 40f66442c6e..40f66442c6e 100644
--- a/tests/codegen/auxiliary/nounwind.rs
+++ b/tests/codegen-llvm/auxiliary/nounwind.rs
diff --git a/tests/codegen/auxiliary/thread_local_aux.rs b/tests/codegen-llvm/auxiliary/thread_local_aux.rs
index bebaa7754dd..bebaa7754dd 100644
--- a/tests/codegen/auxiliary/thread_local_aux.rs
+++ b/tests/codegen-llvm/auxiliary/thread_local_aux.rs
diff --git a/tests/codegen/avr/avr-func-addrspace.rs b/tests/codegen-llvm/avr/avr-func-addrspace.rs
index e0192f8b45a..e0192f8b45a 100644
--- a/tests/codegen/avr/avr-func-addrspace.rs
+++ b/tests/codegen-llvm/avr/avr-func-addrspace.rs
diff --git a/tests/codegen/bigint-helpers.rs b/tests/codegen-llvm/bigint-helpers.rs
index 355cccb8150..355cccb8150 100644
--- a/tests/codegen/bigint-helpers.rs
+++ b/tests/codegen-llvm/bigint-helpers.rs
diff --git a/tests/codegen/binary-heap-peek-mut-pop-no-panic.rs b/tests/codegen-llvm/binary-heap-peek-mut-pop-no-panic.rs
index 2c40327f624..2c40327f624 100644
--- a/tests/codegen/binary-heap-peek-mut-pop-no-panic.rs
+++ b/tests/codegen-llvm/binary-heap-peek-mut-pop-no-panic.rs
diff --git a/tests/codegen/binary-search-index-no-bound-check.rs b/tests/codegen-llvm/binary-search-index-no-bound-check.rs
index d59c0beec64..d59c0beec64 100644
--- a/tests/codegen/binary-search-index-no-bound-check.rs
+++ b/tests/codegen-llvm/binary-search-index-no-bound-check.rs
diff --git a/tests/codegen/bool-cmp.rs b/tests/codegen-llvm/bool-cmp.rs
index 71d3411689f..71d3411689f 100644
--- a/tests/codegen/bool-cmp.rs
+++ b/tests/codegen-llvm/bool-cmp.rs
diff --git a/tests/codegen/bounds-checking/gep-issue-133979.rs b/tests/codegen-llvm/bounds-checking/gep-issue-133979.rs
index 876bdbfb0e1..876bdbfb0e1 100644
--- a/tests/codegen/bounds-checking/gep-issue-133979.rs
+++ b/tests/codegen-llvm/bounds-checking/gep-issue-133979.rs
diff --git a/tests/codegen/box-default-debug-copies.rs b/tests/codegen-llvm/box-default-debug-copies.rs
index 06cc41b21c0..06cc41b21c0 100644
--- a/tests/codegen/box-default-debug-copies.rs
+++ b/tests/codegen-llvm/box-default-debug-copies.rs
diff --git a/tests/codegen/box-uninit-bytes.rs b/tests/codegen-llvm/box-uninit-bytes.rs
index 0cc01148595..0cc01148595 100644
--- a/tests/codegen/box-uninit-bytes.rs
+++ b/tests/codegen-llvm/box-uninit-bytes.rs
diff --git a/tests/codegen/bpf-alu32.rs b/tests/codegen-llvm/bpf-alu32.rs
index 5955bf3317f..5955bf3317f 100644
--- a/tests/codegen/bpf-alu32.rs
+++ b/tests/codegen-llvm/bpf-alu32.rs
diff --git a/tests/codegen/branch-protection.rs b/tests/codegen-llvm/branch-protection.rs
index d67e494cc0d..d67e494cc0d 100644
--- a/tests/codegen/branch-protection.rs
+++ b/tests/codegen-llvm/branch-protection.rs
diff --git a/tests/codegen/call-llvm-intrinsics.rs b/tests/codegen-llvm/call-llvm-intrinsics.rs
index dc7e0249cb6..dc7e0249cb6 100644
--- a/tests/codegen/call-llvm-intrinsics.rs
+++ b/tests/codegen-llvm/call-llvm-intrinsics.rs
diff --git a/tests/codegen/call-tmps-lifetime.rs b/tests/codegen-llvm/call-tmps-lifetime.rs
index 7b7b6e17bdd..7b7b6e17bdd 100644
--- a/tests/codegen/call-tmps-lifetime.rs
+++ b/tests/codegen-llvm/call-tmps-lifetime.rs
diff --git a/tests/codegen/cast-optimized.rs b/tests/codegen-llvm/cast-optimized.rs
index 11220c4a922..11220c4a922 100644
--- a/tests/codegen/cast-optimized.rs
+++ b/tests/codegen-llvm/cast-optimized.rs
diff --git a/tests/codegen/cast-target-abi.rs b/tests/codegen-llvm/cast-target-abi.rs
index cbd49e2f022..cbd49e2f022 100644
--- a/tests/codegen/cast-target-abi.rs
+++ b/tests/codegen-llvm/cast-target-abi.rs
diff --git a/tests/codegen/catch-unwind.rs b/tests/codegen-llvm/catch-unwind.rs
index d1ff55bcc28..d1ff55bcc28 100644
--- a/tests/codegen/catch-unwind.rs
+++ b/tests/codegen-llvm/catch-unwind.rs
diff --git a/tests/codegen/cdylib-external-inline-fns.rs b/tests/codegen-llvm/cdylib-external-inline-fns.rs
index 2e472ea68e8..2e472ea68e8 100644
--- a/tests/codegen/cdylib-external-inline-fns.rs
+++ b/tests/codegen-llvm/cdylib-external-inline-fns.rs
diff --git a/tests/codegen/cf-protection.rs b/tests/codegen-llvm/cf-protection.rs
index f1349a5dcb9..f1349a5dcb9 100644
--- a/tests/codegen/cf-protection.rs
+++ b/tests/codegen-llvm/cf-protection.rs
diff --git a/tests/codegen/cffi/c-variadic-copy.rs b/tests/codegen-llvm/cffi/c-variadic-copy.rs
index 4c61c4fcf68..4c61c4fcf68 100644
--- a/tests/codegen/cffi/c-variadic-copy.rs
+++ b/tests/codegen-llvm/cffi/c-variadic-copy.rs
diff --git a/tests/codegen/cffi/c-variadic-naked.rs b/tests/codegen-llvm/cffi/c-variadic-naked.rs
index 5843628b633..5843628b633 100644
--- a/tests/codegen/cffi/c-variadic-naked.rs
+++ b/tests/codegen-llvm/cffi/c-variadic-naked.rs
diff --git a/tests/codegen/cffi/c-variadic-opt.rs b/tests/codegen-llvm/cffi/c-variadic-opt.rs
index 7e544ee7f37..7e544ee7f37 100644
--- a/tests/codegen/cffi/c-variadic-opt.rs
+++ b/tests/codegen-llvm/cffi/c-variadic-opt.rs
diff --git a/tests/codegen/cffi/c-variadic.rs b/tests/codegen-llvm/cffi/c-variadic.rs
index 140d2f37f46..140d2f37f46 100644
--- a/tests/codegen/cffi/c-variadic.rs
+++ b/tests/codegen-llvm/cffi/c-variadic.rs
diff --git a/tests/codegen/cffi/ffi-const.rs b/tests/codegen-llvm/cffi/ffi-const.rs
index 3ea9d517ec2..3ea9d517ec2 100644
--- a/tests/codegen/cffi/ffi-const.rs
+++ b/tests/codegen-llvm/cffi/ffi-const.rs
diff --git a/tests/codegen/cffi/ffi-out-of-bounds-loads.rs b/tests/codegen-llvm/cffi/ffi-out-of-bounds-loads.rs
index 859386d2df8..859386d2df8 100644
--- a/tests/codegen/cffi/ffi-out-of-bounds-loads.rs
+++ b/tests/codegen-llvm/cffi/ffi-out-of-bounds-loads.rs
diff --git a/tests/codegen/cffi/ffi-pure.rs b/tests/codegen-llvm/cffi/ffi-pure.rs
index a61e80ecf65..a61e80ecf65 100644
--- a/tests/codegen/cffi/ffi-pure.rs
+++ b/tests/codegen-llvm/cffi/ffi-pure.rs
diff --git a/tests/codegen/cfguard-checks.rs b/tests/codegen-llvm/cfguard-checks.rs
index cdf6406ad61..cdf6406ad61 100644
--- a/tests/codegen/cfguard-checks.rs
+++ b/tests/codegen-llvm/cfguard-checks.rs
diff --git a/tests/codegen/cfguard-disabled.rs b/tests/codegen-llvm/cfguard-disabled.rs
index 90915c0f0c6..90915c0f0c6 100644
--- a/tests/codegen/cfguard-disabled.rs
+++ b/tests/codegen-llvm/cfguard-disabled.rs
diff --git a/tests/codegen/cfguard-nochecks.rs b/tests/codegen-llvm/cfguard-nochecks.rs
index 5f386533ec1..5f386533ec1 100644
--- a/tests/codegen/cfguard-nochecks.rs
+++ b/tests/codegen-llvm/cfguard-nochecks.rs
diff --git a/tests/codegen/cfguard-non-msvc.rs b/tests/codegen-llvm/cfguard-non-msvc.rs
index 1e6559aaf5d..1e6559aaf5d 100644
--- a/tests/codegen/cfguard-non-msvc.rs
+++ b/tests/codegen-llvm/cfguard-non-msvc.rs
diff --git a/tests/codegen/char-ascii-branchless.rs b/tests/codegen-llvm/char-ascii-branchless.rs
index f99066aa9aa..f99066aa9aa 100644
--- a/tests/codegen/char-ascii-branchless.rs
+++ b/tests/codegen-llvm/char-ascii-branchless.rs
diff --git a/tests/codegen/char-escape-debug-no-bounds-check.rs b/tests/codegen-llvm/char-escape-debug-no-bounds-check.rs
index cfde46045e5..cfde46045e5 100644
--- a/tests/codegen/char-escape-debug-no-bounds-check.rs
+++ b/tests/codegen-llvm/char-escape-debug-no-bounds-check.rs
diff --git a/tests/codegen/checked_ilog.rs b/tests/codegen-llvm/checked_ilog.rs
index e340a45b6a9..e340a45b6a9 100644
--- a/tests/codegen/checked_ilog.rs
+++ b/tests/codegen-llvm/checked_ilog.rs
diff --git a/tests/codegen/checked_math.rs b/tests/codegen-llvm/checked_math.rs
index 66667c69488..66667c69488 100644
--- a/tests/codegen/checked_math.rs
+++ b/tests/codegen-llvm/checked_math.rs
diff --git a/tests/codegen/clone-shims.rs b/tests/codegen-llvm/clone-shims.rs
index 06c959f9ee7..06c959f9ee7 100644
--- a/tests/codegen/clone-shims.rs
+++ b/tests/codegen-llvm/clone-shims.rs
diff --git a/tests/codegen/clone_as_copy.rs b/tests/codegen-llvm/clone_as_copy.rs
index ef834ef5912..ef834ef5912 100644
--- a/tests/codegen/clone_as_copy.rs
+++ b/tests/codegen-llvm/clone_as_copy.rs
diff --git a/tests/codegen/codemodels.rs b/tests/codegen-llvm/codemodels.rs
index 06d2eade78a..06d2eade78a 100644
--- a/tests/codegen/codemodels.rs
+++ b/tests/codegen-llvm/codemodels.rs
diff --git a/tests/codegen/coercions.rs b/tests/codegen-llvm/coercions.rs
index 63c1742c639..63c1742c639 100644
--- a/tests/codegen/coercions.rs
+++ b/tests/codegen-llvm/coercions.rs
diff --git a/tests/codegen/cold-call-declare-and-call.rs b/tests/codegen-llvm/cold-call-declare-and-call.rs
index b18565ee6c3..b18565ee6c3 100644
--- a/tests/codegen/cold-call-declare-and-call.rs
+++ b/tests/codegen-llvm/cold-call-declare-and-call.rs
diff --git a/tests/codegen/common_prim_int_ptr.rs b/tests/codegen-llvm/common_prim_int_ptr.rs
index 53716adccbf..53716adccbf 100644
--- a/tests/codegen/common_prim_int_ptr.rs
+++ b/tests/codegen-llvm/common_prim_int_ptr.rs
diff --git a/tests/codegen/comparison-operators-2-struct.rs b/tests/codegen-llvm/comparison-operators-2-struct.rs
index e179066ebfd..e179066ebfd 100644
--- a/tests/codegen/comparison-operators-2-struct.rs
+++ b/tests/codegen-llvm/comparison-operators-2-struct.rs
diff --git a/tests/codegen/comparison-operators-2-tuple.rs b/tests/codegen-llvm/comparison-operators-2-tuple.rs
index 6a7e489c82d..6a7e489c82d 100644
--- a/tests/codegen/comparison-operators-2-tuple.rs
+++ b/tests/codegen-llvm/comparison-operators-2-tuple.rs
diff --git a/tests/codegen/comparison-operators-newtype.rs b/tests/codegen-llvm/comparison-operators-newtype.rs
index acce0cb5946..acce0cb5946 100644
--- a/tests/codegen/comparison-operators-newtype.rs
+++ b/tests/codegen-llvm/comparison-operators-newtype.rs
diff --git a/tests/codegen/compiletest-self-test/minicore-smoke-test.rs b/tests/codegen-llvm/compiletest-self-test/minicore-smoke-test.rs
index 9dd1bf29c6c..9dd1bf29c6c 100644
--- a/tests/codegen/compiletest-self-test/minicore-smoke-test.rs
+++ b/tests/codegen-llvm/compiletest-self-test/minicore-smoke-test.rs
diff --git a/tests/codegen/const-array.rs b/tests/codegen-llvm/const-array.rs
index b3df76c3d8e..b3df76c3d8e 100644
--- a/tests/codegen/const-array.rs
+++ b/tests/codegen-llvm/const-array.rs
diff --git a/tests/codegen/const-vector.rs b/tests/codegen-llvm/const-vector.rs
index 42921442e03..a2249f4fff7 100644
--- a/tests/codegen/const-vector.rs
+++ b/tests/codegen-llvm/const-vector.rs
@@ -16,18 +16,9 @@
 #![feature(mips_target_feature)]
 #![allow(non_camel_case_types)]
 
-// Setting up structs that can be used as const vectors
-#[repr(simd)]
-#[derive(Clone)]
-pub struct i8x2([i8; 2]);
-
-#[repr(simd)]
-#[derive(Clone)]
-pub struct f32x2([f32; 2]);
-
-#[repr(simd, packed)]
-#[derive(Copy, Clone)]
-pub struct Simd<T, const N: usize>([T; N]);
+#[path = "../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::{PackedSimd as Simd, f32x2, i8x2};
 
 // The following functions are required for the tests to ensure
 // that they are called with a const vector
@@ -45,7 +36,7 @@ extern "unadjusted" {
 
 // Ensure the packed variant of the simd struct does not become a const vector
 // if the size is not a power of 2
-// CHECK: %"Simd<i32, 3>" = type { [3 x i32] }
+// CHECK: %"minisimd::PackedSimd<i32, 3>" = type { [3 x i32] }
 
 #[cfg_attr(target_family = "wasm", target_feature(enable = "simd128"))]
 #[cfg_attr(target_arch = "arm", target_feature(enable = "neon"))]
@@ -54,27 +45,34 @@ extern "unadjusted" {
 pub fn do_call() {
     unsafe {
         // CHECK: call void @test_i8x2(<2 x i8> <i8 32, i8 64>
-        test_i8x2(const { i8x2([32, 64]) });
+        test_i8x2(const { i8x2::from_array([32, 64]) });
 
         // CHECK: call void @test_i8x2_two_args(<2 x i8> <i8 32, i8 64>, <2 x i8> <i8 8, i8 16>
-        test_i8x2_two_args(const { i8x2([32, 64]) }, const { i8x2([8, 16]) });
+        test_i8x2_two_args(
+            const { i8x2::from_array([32, 64]) },
+            const { i8x2::from_array([8, 16]) },
+        );
 
         // CHECK: call void @test_i8x2_mixed_args(<2 x i8> <i8 32, i8 64>, i32 43, <2 x i8> <i8 8, i8 16>
-        test_i8x2_mixed_args(const { i8x2([32, 64]) }, 43, const { i8x2([8, 16]) });
+        test_i8x2_mixed_args(
+            const { i8x2::from_array([32, 64]) },
+            43,
+            const { i8x2::from_array([8, 16]) },
+        );
 
         // CHECK: call void @test_i8x2_arr(<2 x i8> <i8 32, i8 64>
-        test_i8x2_arr(const { i8x2([32, 64]) });
+        test_i8x2_arr(const { i8x2::from_array([32, 64]) });
 
         // CHECK: call void @test_f32x2(<2 x float> <float 0x3FD47AE140000000, float 0x3FE47AE140000000>
-        test_f32x2(const { f32x2([0.32, 0.64]) });
+        test_f32x2(const { f32x2::from_array([0.32, 0.64]) });
 
         // CHECK: void @test_f32x2_arr(<2 x float> <float 0x3FD47AE140000000, float 0x3FE47AE140000000>
-        test_f32x2_arr(const { f32x2([0.32, 0.64]) });
+        test_f32x2_arr(const { f32x2::from_array([0.32, 0.64]) });
 
         // CHECK: call void @test_simd(<4 x i32> <i32 2, i32 4, i32 6, i32 8>
         test_simd(const { Simd::<i32, 4>([2, 4, 6, 8]) });
 
-        // CHECK: call void @test_simd_unaligned(%"Simd<i32, 3>" %1
+        // CHECK: call void @test_simd_unaligned(%"minisimd::PackedSimd<i32, 3>" %1
         test_simd_unaligned(const { Simd::<i32, 3>([2, 4, 6]) });
     }
 }
diff --git a/tests/codegen/const_scalar_pair.rs b/tests/codegen-llvm/const_scalar_pair.rs
index f142896c31f..f142896c31f 100644
--- a/tests/codegen/const_scalar_pair.rs
+++ b/tests/codegen-llvm/const_scalar_pair.rs
diff --git a/tests/codegen/constant-branch.rs b/tests/codegen-llvm/constant-branch.rs
index 8fc8fb4f57a..8fc8fb4f57a 100644
--- a/tests/codegen/constant-branch.rs
+++ b/tests/codegen-llvm/constant-branch.rs
diff --git a/tests/codegen/consts.rs b/tests/codegen-llvm/consts.rs
index 42ce7679d1a..42ce7679d1a 100644
--- a/tests/codegen/consts.rs
+++ b/tests/codegen-llvm/consts.rs
diff --git a/tests/codegen/coroutine-debug-msvc.rs b/tests/codegen-llvm/coroutine-debug-msvc.rs
index 9e2ec3ea28a..9e2ec3ea28a 100644
--- a/tests/codegen/coroutine-debug-msvc.rs
+++ b/tests/codegen-llvm/coroutine-debug-msvc.rs
diff --git a/tests/codegen/coroutine-debug.rs b/tests/codegen-llvm/coroutine-debug.rs
index ff62e9709b4..ff62e9709b4 100644
--- a/tests/codegen/coroutine-debug.rs
+++ b/tests/codegen-llvm/coroutine-debug.rs
diff --git a/tests/codegen/cross-crate-inlining/always-inline.rs b/tests/codegen-llvm/cross-crate-inlining/always-inline.rs
index df28b3fe197..df28b3fe197 100644
--- a/tests/codegen/cross-crate-inlining/always-inline.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/always-inline.rs
diff --git a/tests/codegen/cross-crate-inlining/auxiliary/always.rs b/tests/codegen-llvm/cross-crate-inlining/auxiliary/always.rs
index 6ee3f81e3c8..6ee3f81e3c8 100644
--- a/tests/codegen/cross-crate-inlining/auxiliary/always.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/auxiliary/always.rs
diff --git a/tests/codegen/cross-crate-inlining/auxiliary/leaf.rs b/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs
index d059a3d0a73..d059a3d0a73 100644
--- a/tests/codegen/cross-crate-inlining/auxiliary/leaf.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs
diff --git a/tests/codegen/cross-crate-inlining/auxiliary/never.rs b/tests/codegen-llvm/cross-crate-inlining/auxiliary/never.rs
index 55c90809ec1..55c90809ec1 100644
--- a/tests/codegen/cross-crate-inlining/auxiliary/never.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/auxiliary/never.rs
diff --git a/tests/codegen/cross-crate-inlining/leaf-inlining.rs b/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs
index 37132312ca9..37132312ca9 100644
--- a/tests/codegen/cross-crate-inlining/leaf-inlining.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs
diff --git a/tests/codegen/cross-crate-inlining/never-inline.rs b/tests/codegen-llvm/cross-crate-inlining/never-inline.rs
index 759f65d9d42..759f65d9d42 100644
--- a/tests/codegen/cross-crate-inlining/never-inline.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/never-inline.rs
diff --git a/tests/codegen/dealloc-no-unwind.rs b/tests/codegen-llvm/dealloc-no-unwind.rs
index 68597817d6f..68597817d6f 100644
--- a/tests/codegen/dealloc-no-unwind.rs
+++ b/tests/codegen-llvm/dealloc-no-unwind.rs
diff --git a/tests/codegen/debug-accessibility/crate-enum.rs b/tests/codegen-llvm/debug-accessibility/crate-enum.rs
index 9ad5a6fd0ff..9ad5a6fd0ff 100644
--- a/tests/codegen/debug-accessibility/crate-enum.rs
+++ b/tests/codegen-llvm/debug-accessibility/crate-enum.rs
diff --git a/tests/codegen/debug-accessibility/crate-struct.rs b/tests/codegen-llvm/debug-accessibility/crate-struct.rs
index 73a8ce852ed..73a8ce852ed 100644
--- a/tests/codegen/debug-accessibility/crate-struct.rs
+++ b/tests/codegen-llvm/debug-accessibility/crate-struct.rs
diff --git a/tests/codegen/debug-accessibility/private-enum.rs b/tests/codegen-llvm/debug-accessibility/private-enum.rs
index 002336c03b3..002336c03b3 100644
--- a/tests/codegen/debug-accessibility/private-enum.rs
+++ b/tests/codegen-llvm/debug-accessibility/private-enum.rs
diff --git a/tests/codegen/debug-accessibility/private-struct.rs b/tests/codegen-llvm/debug-accessibility/private-struct.rs
index 488a680e81c..488a680e81c 100644
--- a/tests/codegen/debug-accessibility/private-struct.rs
+++ b/tests/codegen-llvm/debug-accessibility/private-struct.rs
diff --git a/tests/codegen/debug-accessibility/public-enum.rs b/tests/codegen-llvm/debug-accessibility/public-enum.rs
index e5cd1ab7350..e5cd1ab7350 100644
--- a/tests/codegen/debug-accessibility/public-enum.rs
+++ b/tests/codegen-llvm/debug-accessibility/public-enum.rs
diff --git a/tests/codegen/debug-accessibility/public-struct.rs b/tests/codegen-llvm/debug-accessibility/public-struct.rs
index 8b2a53f993c..8b2a53f993c 100644
--- a/tests/codegen/debug-accessibility/public-struct.rs
+++ b/tests/codegen-llvm/debug-accessibility/public-struct.rs
diff --git a/tests/codegen/debug-accessibility/struct-fields.rs b/tests/codegen-llvm/debug-accessibility/struct-fields.rs
index f68bb3438be..f68bb3438be 100644
--- a/tests/codegen/debug-accessibility/struct-fields.rs
+++ b/tests/codegen-llvm/debug-accessibility/struct-fields.rs
diff --git a/tests/codegen/debug-accessibility/super-enum.rs b/tests/codegen-llvm/debug-accessibility/super-enum.rs
index 8e34d8be01f..8e34d8be01f 100644
--- a/tests/codegen/debug-accessibility/super-enum.rs
+++ b/tests/codegen-llvm/debug-accessibility/super-enum.rs
diff --git a/tests/codegen/debug-accessibility/super-struct.rs b/tests/codegen-llvm/debug-accessibility/super-struct.rs
index 63954bfb203..63954bfb203 100644
--- a/tests/codegen/debug-accessibility/super-struct.rs
+++ b/tests/codegen-llvm/debug-accessibility/super-struct.rs
diff --git a/tests/codegen/debug-accessibility/tuple-fields.rs b/tests/codegen-llvm/debug-accessibility/tuple-fields.rs
index feec6e9eb41..feec6e9eb41 100644
--- a/tests/codegen/debug-accessibility/tuple-fields.rs
+++ b/tests/codegen-llvm/debug-accessibility/tuple-fields.rs
diff --git a/tests/codegen/debug-alignment.rs b/tests/codegen-llvm/debug-alignment.rs
index 02fe05832a3..02fe05832a3 100644
--- a/tests/codegen/debug-alignment.rs
+++ b/tests/codegen-llvm/debug-alignment.rs
diff --git a/tests/codegen/debug-column-msvc.rs b/tests/codegen-llvm/debug-column-msvc.rs
index 39f77f41329..39f77f41329 100644
--- a/tests/codegen/debug-column-msvc.rs
+++ b/tests/codegen-llvm/debug-column-msvc.rs
diff --git a/tests/codegen/debug-column.rs b/tests/codegen-llvm/debug-column.rs
index 2aa0a8a864c..2aa0a8a864c 100644
--- a/tests/codegen/debug-column.rs
+++ b/tests/codegen-llvm/debug-column.rs
diff --git a/tests/codegen/debug-compile-unit-path.rs b/tests/codegen-llvm/debug-compile-unit-path.rs
index 6131d9d7351..6131d9d7351 100644
--- a/tests/codegen/debug-compile-unit-path.rs
+++ b/tests/codegen-llvm/debug-compile-unit-path.rs
diff --git a/tests/codegen/debug-fndef-size.rs b/tests/codegen-llvm/debug-fndef-size.rs
index 8f716c34e7b..8f716c34e7b 100644
--- a/tests/codegen/debug-fndef-size.rs
+++ b/tests/codegen-llvm/debug-fndef-size.rs
diff --git a/tests/codegen/debug-limited.rs b/tests/codegen-llvm/debug-limited.rs
index 89a4ef0ca90..89a4ef0ca90 100644
--- a/tests/codegen/debug-limited.rs
+++ b/tests/codegen-llvm/debug-limited.rs
diff --git a/tests/codegen/debug-line-directives-only.rs b/tests/codegen-llvm/debug-line-directives-only.rs
index 709c8789bf8..709c8789bf8 100644
--- a/tests/codegen/debug-line-directives-only.rs
+++ b/tests/codegen-llvm/debug-line-directives-only.rs
diff --git a/tests/codegen/debug-line-tables-only.rs b/tests/codegen-llvm/debug-line-tables-only.rs
index d50bffe6e60..d50bffe6e60 100644
--- a/tests/codegen/debug-line-tables-only.rs
+++ b/tests/codegen-llvm/debug-line-tables-only.rs
diff --git a/tests/codegen/debug-linkage-name.rs b/tests/codegen-llvm/debug-linkage-name.rs
index e706040f331..e706040f331 100644
--- a/tests/codegen/debug-linkage-name.rs
+++ b/tests/codegen-llvm/debug-linkage-name.rs
diff --git a/tests/codegen/debug-vtable.rs b/tests/codegen-llvm/debug-vtable.rs
index 8a7b1cc3c4b..8a7b1cc3c4b 100644
--- a/tests/codegen/debug-vtable.rs
+++ b/tests/codegen-llvm/debug-vtable.rs
diff --git a/tests/codegen/debuginfo-constant-locals.rs b/tests/codegen-llvm/debuginfo-constant-locals.rs
index 580c69c05a5..580c69c05a5 100644
--- a/tests/codegen/debuginfo-constant-locals.rs
+++ b/tests/codegen-llvm/debuginfo-constant-locals.rs
diff --git a/tests/codegen/debuginfo-generic-closure-env-names.rs b/tests/codegen-llvm/debuginfo-generic-closure-env-names.rs
index 64bc58e1df7..64bc58e1df7 100644
--- a/tests/codegen/debuginfo-generic-closure-env-names.rs
+++ b/tests/codegen-llvm/debuginfo-generic-closure-env-names.rs
diff --git a/tests/codegen/debuginfo-inline-callsite-location.rs b/tests/codegen-llvm/debuginfo-inline-callsite-location.rs
index 59ade52ad32..59ade52ad32 100644
--- a/tests/codegen/debuginfo-inline-callsite-location.rs
+++ b/tests/codegen-llvm/debuginfo-inline-callsite-location.rs
diff --git a/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs b/tests/codegen-llvm/debuginfo-proc-macro/auxiliary/macro_def.rs
index c0691b23275..c0691b23275 100644
--- a/tests/codegen/debuginfo-proc-macro/auxiliary/macro_def.rs
+++ b/tests/codegen-llvm/debuginfo-proc-macro/auxiliary/macro_def.rs
diff --git a/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs b/tests/codegen-llvm/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs
index 7530689d574..7530689d574 100644
--- a/tests/codegen/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs
+++ b/tests/codegen-llvm/debuginfo-proc-macro/mir_inlined_twice_var_locs.rs
diff --git a/tests/codegen/deduced-param-attrs.rs b/tests/codegen-llvm/deduced-param-attrs.rs
index 34504c80fad..34504c80fad 100644
--- a/tests/codegen/deduced-param-attrs.rs
+++ b/tests/codegen-llvm/deduced-param-attrs.rs
diff --git a/tests/codegen/default-requires-uwtable.rs b/tests/codegen-llvm/default-requires-uwtable.rs
index 54a6e171db6..54a6e171db6 100644
--- a/tests/codegen/default-requires-uwtable.rs
+++ b/tests/codegen-llvm/default-requires-uwtable.rs
diff --git a/tests/codegen/default-visibility.rs b/tests/codegen-llvm/default-visibility.rs
index 88ff9fee254..88ff9fee254 100644
--- a/tests/codegen/default-visibility.rs
+++ b/tests/codegen-llvm/default-visibility.rs
diff --git a/tests/codegen/direct-access-external-data.rs b/tests/codegen-llvm/direct-access-external-data.rs
index 5b2ff41ef05..5b2ff41ef05 100644
--- a/tests/codegen/direct-access-external-data.rs
+++ b/tests/codegen-llvm/direct-access-external-data.rs
diff --git a/tests/codegen/dllimports/auxiliary/dummy.rs b/tests/codegen-llvm/dllimports/auxiliary/dummy.rs
index ab3dbc6a300..ab3dbc6a300 100644
--- a/tests/codegen/dllimports/auxiliary/dummy.rs
+++ b/tests/codegen-llvm/dllimports/auxiliary/dummy.rs
diff --git a/tests/codegen/dllimports/auxiliary/wrapper.rs b/tests/codegen-llvm/dllimports/auxiliary/wrapper.rs
index 00a29f7ee7e..00a29f7ee7e 100644
--- a/tests/codegen/dllimports/auxiliary/wrapper.rs
+++ b/tests/codegen-llvm/dllimports/auxiliary/wrapper.rs
diff --git a/tests/codegen/dllimports/main.rs b/tests/codegen-llvm/dllimports/main.rs
index 93d350a2238..93d350a2238 100644
--- a/tests/codegen/dllimports/main.rs
+++ b/tests/codegen-llvm/dllimports/main.rs
diff --git a/tests/codegen/dont_codegen_private_const_fn_only_used_in_const_eval.rs b/tests/codegen-llvm/dont_codegen_private_const_fn_only_used_in_const_eval.rs
index df50b4af809..df50b4af809 100644
--- a/tests/codegen/dont_codegen_private_const_fn_only_used_in_const_eval.rs
+++ b/tests/codegen-llvm/dont_codegen_private_const_fn_only_used_in_const_eval.rs
diff --git a/tests/codegen/drop-in-place-noalias.rs b/tests/codegen-llvm/drop-in-place-noalias.rs
index bff2f52781f..bff2f52781f 100644
--- a/tests/codegen/drop-in-place-noalias.rs
+++ b/tests/codegen-llvm/drop-in-place-noalias.rs
diff --git a/tests/codegen/drop.rs b/tests/codegen-llvm/drop.rs
index b22a8ef27d2..b22a8ef27d2 100644
--- a/tests/codegen/drop.rs
+++ b/tests/codegen-llvm/drop.rs
diff --git a/tests/codegen/dst-offset.rs b/tests/codegen-llvm/dst-offset.rs
index 2cf5fa9fac6..2cf5fa9fac6 100644
--- a/tests/codegen/dst-offset.rs
+++ b/tests/codegen-llvm/dst-offset.rs
diff --git a/tests/codegen/dst-vtable-align-nonzero.rs b/tests/codegen-llvm/dst-vtable-align-nonzero.rs
index 1404bd64f50..1404bd64f50 100644
--- a/tests/codegen/dst-vtable-align-nonzero.rs
+++ b/tests/codegen-llvm/dst-vtable-align-nonzero.rs
diff --git a/tests/codegen/dst-vtable-size-range.rs b/tests/codegen-llvm/dst-vtable-size-range.rs
index 670f5e8d553..670f5e8d553 100644
--- a/tests/codegen/dst-vtable-size-range.rs
+++ b/tests/codegen-llvm/dst-vtable-size-range.rs
diff --git a/tests/codegen/ehcontguard_disabled.rs b/tests/codegen-llvm/ehcontguard_disabled.rs
index 9efb2721b3e..9efb2721b3e 100644
--- a/tests/codegen/ehcontguard_disabled.rs
+++ b/tests/codegen-llvm/ehcontguard_disabled.rs
diff --git a/tests/codegen/ehcontguard_enabled.rs b/tests/codegen-llvm/ehcontguard_enabled.rs
index ecc5512fd5d..ecc5512fd5d 100644
--- a/tests/codegen/ehcontguard_enabled.rs
+++ b/tests/codegen-llvm/ehcontguard_enabled.rs
diff --git a/tests/codegen/emscripten-catch-unwind-js-eh.rs b/tests/codegen-llvm/emscripten-catch-unwind-js-eh.rs
index f43869cf218..f43869cf218 100644
--- a/tests/codegen/emscripten-catch-unwind-js-eh.rs
+++ b/tests/codegen-llvm/emscripten-catch-unwind-js-eh.rs
diff --git a/tests/codegen/emscripten-catch-unwind-wasm-eh.rs b/tests/codegen-llvm/emscripten-catch-unwind-wasm-eh.rs
index b0750d52268..b0750d52268 100644
--- a/tests/codegen/emscripten-catch-unwind-wasm-eh.rs
+++ b/tests/codegen-llvm/emscripten-catch-unwind-wasm-eh.rs
diff --git a/tests/codegen/enable-lto-unit-splitting.rs b/tests/codegen-llvm/enable-lto-unit-splitting.rs
index 51c2671bc4e..51c2671bc4e 100644
--- a/tests/codegen/enable-lto-unit-splitting.rs
+++ b/tests/codegen-llvm/enable-lto-unit-splitting.rs
diff --git a/tests/codegen/enum/enum-aggregate.rs b/tests/codegen-llvm/enum/enum-aggregate.rs
index 0161e5f3fa1..0161e5f3fa1 100644
--- a/tests/codegen/enum/enum-aggregate.rs
+++ b/tests/codegen-llvm/enum/enum-aggregate.rs
diff --git a/tests/codegen/enum/enum-bounds-check-derived-idx.rs b/tests/codegen-llvm/enum/enum-bounds-check-derived-idx.rs
index a5785f4addf..a5785f4addf 100644
--- a/tests/codegen/enum/enum-bounds-check-derived-idx.rs
+++ b/tests/codegen-llvm/enum/enum-bounds-check-derived-idx.rs
diff --git a/tests/codegen/enum/enum-bounds-check-issue-13926.rs b/tests/codegen-llvm/enum/enum-bounds-check-issue-13926.rs
index 6e8e5035b0d..6e8e5035b0d 100644
--- a/tests/codegen/enum/enum-bounds-check-issue-13926.rs
+++ b/tests/codegen-llvm/enum/enum-bounds-check-issue-13926.rs
diff --git a/tests/codegen/enum/enum-bounds-check-issue-82871.rs b/tests/codegen-llvm/enum/enum-bounds-check-issue-82871.rs
index 3b8a146838a..3b8a146838a 100644
--- a/tests/codegen/enum/enum-bounds-check-issue-82871.rs
+++ b/tests/codegen-llvm/enum/enum-bounds-check-issue-82871.rs
diff --git a/tests/codegen/enum/enum-bounds-check.rs b/tests/codegen-llvm/enum/enum-bounds-check.rs
index 5362598ca7c..5362598ca7c 100644
--- a/tests/codegen/enum/enum-bounds-check.rs
+++ b/tests/codegen-llvm/enum/enum-bounds-check.rs
diff --git a/tests/codegen/enum/enum-debug-clike.rs b/tests/codegen-llvm/enum/enum-debug-clike.rs
index 89c803cce5e..89c803cce5e 100644
--- a/tests/codegen/enum/enum-debug-clike.rs
+++ b/tests/codegen-llvm/enum/enum-debug-clike.rs
diff --git a/tests/codegen/enum/enum-debug-niche-2.rs b/tests/codegen-llvm/enum/enum-debug-niche-2.rs
index 80a4081f15b..80a4081f15b 100644
--- a/tests/codegen/enum/enum-debug-niche-2.rs
+++ b/tests/codegen-llvm/enum/enum-debug-niche-2.rs
diff --git a/tests/codegen/enum/enum-debug-niche.rs b/tests/codegen-llvm/enum/enum-debug-niche.rs
index 59e8b8a78b4..59e8b8a78b4 100644
--- a/tests/codegen/enum/enum-debug-niche.rs
+++ b/tests/codegen-llvm/enum/enum-debug-niche.rs
diff --git a/tests/codegen/enum/enum-debug-tagged.rs b/tests/codegen-llvm/enum/enum-debug-tagged.rs
index e8f147665b0..e8f147665b0 100644
--- a/tests/codegen/enum/enum-debug-tagged.rs
+++ b/tests/codegen-llvm/enum/enum-debug-tagged.rs
diff --git a/tests/codegen/enum/enum-discriminant-eq.rs b/tests/codegen-llvm/enum/enum-discriminant-eq.rs
index 0494c5f551b..0494c5f551b 100644
--- a/tests/codegen/enum/enum-discriminant-eq.rs
+++ b/tests/codegen-llvm/enum/enum-discriminant-eq.rs
diff --git a/tests/codegen/enum/enum-discriminant-value.rs b/tests/codegen-llvm/enum/enum-discriminant-value.rs
index d6b0c6d6c10..d6b0c6d6c10 100644
--- a/tests/codegen/enum/enum-discriminant-value.rs
+++ b/tests/codegen-llvm/enum/enum-discriminant-value.rs
diff --git a/tests/codegen/enum/enum-early-otherwise-branch.rs b/tests/codegen-llvm/enum/enum-early-otherwise-branch.rs
index 8d39d8e9b74..8d39d8e9b74 100644
--- a/tests/codegen/enum/enum-early-otherwise-branch.rs
+++ b/tests/codegen-llvm/enum/enum-early-otherwise-branch.rs
diff --git a/tests/codegen/enum/enum-match.rs b/tests/codegen-llvm/enum/enum-match.rs
index 57db44ec74e..57db44ec74e 100644
--- a/tests/codegen/enum/enum-match.rs
+++ b/tests/codegen-llvm/enum/enum-match.rs
diff --git a/tests/codegen/enum/enum-two-variants-match.rs b/tests/codegen-llvm/enum/enum-two-variants-match.rs
index 12d9edc4d62..12d9edc4d62 100644
--- a/tests/codegen/enum/enum-two-variants-match.rs
+++ b/tests/codegen-llvm/enum/enum-two-variants-match.rs
diff --git a/tests/codegen/enum/enum-u128.rs b/tests/codegen-llvm/enum/enum-u128.rs
index 2676669f3e3..2676669f3e3 100644
--- a/tests/codegen/enum/enum-u128.rs
+++ b/tests/codegen-llvm/enum/enum-u128.rs
diff --git a/tests/codegen/enum/unreachable_enum_default_branch.rs b/tests/codegen-llvm/enum/unreachable_enum_default_branch.rs
index 55b165fc111..55b165fc111 100644
--- a/tests/codegen/enum/unreachable_enum_default_branch.rs
+++ b/tests/codegen-llvm/enum/unreachable_enum_default_branch.rs
diff --git a/tests/codegen/ergonomic-clones/closure.rs b/tests/codegen-llvm/ergonomic-clones/closure.rs
index b6fc8172641..b6fc8172641 100644
--- a/tests/codegen/ergonomic-clones/closure.rs
+++ b/tests/codegen-llvm/ergonomic-clones/closure.rs
diff --git a/tests/codegen/error-provide.rs b/tests/codegen-llvm/error-provide.rs
index 7f091e34359..7f091e34359 100644
--- a/tests/codegen/error-provide.rs
+++ b/tests/codegen-llvm/error-provide.rs
diff --git a/tests/codegen/export-no-mangle.rs b/tests/codegen-llvm/export-no-mangle.rs
index 5040684f52e..5040684f52e 100644
--- a/tests/codegen/export-no-mangle.rs
+++ b/tests/codegen-llvm/export-no-mangle.rs
diff --git a/tests/codegen/external-no-mangle-fns.rs b/tests/codegen-llvm/external-no-mangle-fns.rs
index 35ab0fd7909..35ab0fd7909 100644
--- a/tests/codegen/external-no-mangle-fns.rs
+++ b/tests/codegen-llvm/external-no-mangle-fns.rs
diff --git a/tests/codegen/external-no-mangle-statics.rs b/tests/codegen-llvm/external-no-mangle-statics.rs
index 49f42ee977d..49f42ee977d 100644
--- a/tests/codegen/external-no-mangle-statics.rs
+++ b/tests/codegen-llvm/external-no-mangle-statics.rs
diff --git a/tests/codegen/f128-wasm32-callconv.rs b/tests/codegen-llvm/f128-wasm32-callconv.rs
index 7dccbda18f1..7dccbda18f1 100644
--- a/tests/codegen/f128-wasm32-callconv.rs
+++ b/tests/codegen-llvm/f128-wasm32-callconv.rs
diff --git a/tests/codegen/fastcall-inreg.rs b/tests/codegen-llvm/fastcall-inreg.rs
index 066943d6e7e..066943d6e7e 100644
--- a/tests/codegen/fastcall-inreg.rs
+++ b/tests/codegen-llvm/fastcall-inreg.rs
diff --git a/tests/codegen/fatptr.rs b/tests/codegen-llvm/fatptr.rs
index 041807202b8..041807202b8 100644
--- a/tests/codegen/fatptr.rs
+++ b/tests/codegen-llvm/fatptr.rs
diff --git a/tests/codegen/fewer-names.rs b/tests/codegen-llvm/fewer-names.rs
index ff7a916b619..ff7a916b619 100644
--- a/tests/codegen/fewer-names.rs
+++ b/tests/codegen-llvm/fewer-names.rs
diff --git a/tests/codegen/fixed-x18.rs b/tests/codegen-llvm/fixed-x18.rs
index a5767cfa456..a5767cfa456 100644
--- a/tests/codegen/fixed-x18.rs
+++ b/tests/codegen-llvm/fixed-x18.rs
diff --git a/tests/codegen/float/algebraic.rs b/tests/codegen-llvm/float/algebraic.rs
index 818a4bcdfe3..818a4bcdfe3 100644
--- a/tests/codegen/float/algebraic.rs
+++ b/tests/codegen-llvm/float/algebraic.rs
diff --git a/tests/codegen/float/f128.rs b/tests/codegen-llvm/float/f128.rs
index d87bab1172a..d87bab1172a 100644
--- a/tests/codegen/float/f128.rs
+++ b/tests/codegen-llvm/float/f128.rs
diff --git a/tests/codegen/float/f16-f128-inline.rs b/tests/codegen-llvm/float/f16-f128-inline.rs
index aa2c38c209e..aa2c38c209e 100644
--- a/tests/codegen/float/f16-f128-inline.rs
+++ b/tests/codegen-llvm/float/f16-f128-inline.rs
diff --git a/tests/codegen/float/f16.rs b/tests/codegen-llvm/float/f16.rs
index 0c40606ad8a..0c40606ad8a 100644
--- a/tests/codegen/float/f16.rs
+++ b/tests/codegen-llvm/float/f16.rs
diff --git a/tests/codegen/float_math.rs b/tests/codegen-llvm/float_math.rs
index 9a1e0b4d2d0..9a1e0b4d2d0 100644
--- a/tests/codegen/float_math.rs
+++ b/tests/codegen-llvm/float_math.rs
diff --git a/tests/codegen/fn-impl-trait-self.rs b/tests/codegen-llvm/fn-impl-trait-self.rs
index 5799d23b5a0..5799d23b5a0 100644
--- a/tests/codegen/fn-impl-trait-self.rs
+++ b/tests/codegen-llvm/fn-impl-trait-self.rs
diff --git a/tests/codegen/fn-parameters-on-different-lines-debuginfo.rs b/tests/codegen-llvm/fn-parameters-on-different-lines-debuginfo.rs
index 2097567f322..2097567f322 100644
--- a/tests/codegen/fn-parameters-on-different-lines-debuginfo.rs
+++ b/tests/codegen-llvm/fn-parameters-on-different-lines-debuginfo.rs
diff --git a/tests/codegen/force-frame-pointers.rs b/tests/codegen-llvm/force-frame-pointers.rs
index 88c918945d6..88c918945d6 100644
--- a/tests/codegen/force-frame-pointers.rs
+++ b/tests/codegen-llvm/force-frame-pointers.rs
diff --git a/tests/codegen/force-no-unwind-tables.rs b/tests/codegen-llvm/force-no-unwind-tables.rs
index 1de5e0858e0..1de5e0858e0 100644
--- a/tests/codegen/force-no-unwind-tables.rs
+++ b/tests/codegen-llvm/force-no-unwind-tables.rs
diff --git a/tests/codegen/force-unwind-tables.rs b/tests/codegen-llvm/force-unwind-tables.rs
index a2ef8a10454..a2ef8a10454 100644
--- a/tests/codegen/force-unwind-tables.rs
+++ b/tests/codegen-llvm/force-unwind-tables.rs
diff --git a/tests/codegen/frame-pointer-cli-control.rs b/tests/codegen-llvm/frame-pointer-cli-control.rs
index a65dd132763..a65dd132763 100644
--- a/tests/codegen/frame-pointer-cli-control.rs
+++ b/tests/codegen-llvm/frame-pointer-cli-control.rs
diff --git a/tests/codegen/frame-pointer.rs b/tests/codegen-llvm/frame-pointer.rs
index 23989653fa8..23989653fa8 100644
--- a/tests/codegen/frame-pointer.rs
+++ b/tests/codegen-llvm/frame-pointer.rs
diff --git a/tests/codegen/function-arguments-noopt.rs b/tests/codegen-llvm/function-arguments-noopt.rs
index c80f119696d..c80f119696d 100644
--- a/tests/codegen/function-arguments-noopt.rs
+++ b/tests/codegen-llvm/function-arguments-noopt.rs
diff --git a/tests/codegen/function-arguments.rs b/tests/codegen-llvm/function-arguments.rs
index c8cd8526ae5..c8cd8526ae5 100644
--- a/tests/codegen/function-arguments.rs
+++ b/tests/codegen-llvm/function-arguments.rs
diff --git a/tests/codegen/function-return.rs b/tests/codegen-llvm/function-return.rs
index 4127f516038..4127f516038 100644
--- a/tests/codegen/function-return.rs
+++ b/tests/codegen-llvm/function-return.rs
diff --git a/tests/codegen/gdb_debug_script_load.rs b/tests/codegen-llvm/gdb_debug_script_load.rs
index 3e92eba10b1..3e92eba10b1 100644
--- a/tests/codegen/gdb_debug_script_load.rs
+++ b/tests/codegen-llvm/gdb_debug_script_load.rs
diff --git a/tests/codegen/generic-debug.rs b/tests/codegen-llvm/generic-debug.rs
index 0ad0b074657..0ad0b074657 100644
--- a/tests/codegen/generic-debug.rs
+++ b/tests/codegen-llvm/generic-debug.rs
diff --git a/tests/codegen/gep-index.rs b/tests/codegen-llvm/gep-index.rs
index bfb2511af87..bfb2511af87 100644
--- a/tests/codegen/gep-index.rs
+++ b/tests/codegen-llvm/gep-index.rs
diff --git a/tests/codegen/gpu-kernel-abi.rs b/tests/codegen-llvm/gpu-kernel-abi.rs
index 8ac376d9338..8ac376d9338 100644
--- a/tests/codegen/gpu-kernel-abi.rs
+++ b/tests/codegen-llvm/gpu-kernel-abi.rs
diff --git a/tests/codegen-llvm/gpu_offload/gpu_host.rs b/tests/codegen-llvm/gpu_offload/gpu_host.rs
new file mode 100644
index 00000000000..513e27426bc
--- /dev/null
+++ b/tests/codegen-llvm/gpu_offload/gpu_host.rs
@@ -0,0 +1,80 @@
+//@ compile-flags: -Zoffload=Enable -Zunstable-options -C opt-level=3  -Clto=fat
+//@ no-prefer-dynamic
+//@ needs-enzyme
+
+// This test is verifying that we generate __tgt_target_data_*_mapper before and after a call to the
+// kernel_1. Better documentation to what each global or variable means is available in the gpu
+// offlaod code, or the LLVM offload documentation. This code does not launch any GPU kernels yet,
+// and will be rewritten once a proper offload frontend has landed.
+//
+// We currently only handle memory transfer for specific calls to functions named `kernel_{num}`,
+// when inside of a function called main. This, too, is a temporary workaround for not having a
+// frontend.
+
+#![no_main]
+
+#[unsafe(no_mangle)]
+fn main() {
+    let mut x = [3.0; 256];
+    kernel_1(&mut x);
+    core::hint::black_box(&x);
+}
+
+// CHECK: %struct.__tgt_offload_entry = type { i64, i16, i16, i32, ptr, ptr, i64, i64, ptr }
+// CHECK: %struct.__tgt_kernel_arguments = type { i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, i64, i64, [3 x i32], [3 x i32], i32 }
+// CHECK: %struct.ident_t = type { i32, i32, i32, i32, ptr }
+// CHECK: %struct.__tgt_bin_desc = type { i32, ptr, ptr, ptr }
+
+// CHECK: @.offload_sizes.1 = private unnamed_addr constant [1 x i64] [i64 1024]
+// CHECK: @.offload_maptypes.1 = private unnamed_addr constant [1 x i64] [i64 3]
+// CHECK: @.kernel_1.region_id = weak unnamed_addr constant i8 0
+// CHECK: @.offloading.entry_name.1 = internal unnamed_addr constant [9 x i8] c"kernel_1\00", section ".llvm.rodata.offloading", align 1
+// CHECK: @.offloading.entry.kernel_1 = weak constant %struct.__tgt_offload_entry { i64 0, i16 1, i16 1, i32 0, ptr @.kernel_1.region_id, ptr @.offloading.entry_name.1, i64 0, i64 0, ptr null }, section ".omp_offloading_entries", align 1
+// CHECK: @my_struct_global2 = external global %struct.__tgt_kernel_arguments
+// CHECK: @0 = private unnamed_addr constant [23 x i8] c";unknown;unknown;0;0;;\00", align 1
+// CHECK: @1 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, i32 22, ptr @0 }, align 8
+
+// CHECK:  Function Attrs:
+// CHECK-NEXT: define{{( dso_local)?}} void @main()
+// CHECK-NEXT: start:
+// CHECK-NEXT:   %0 = alloca [8 x i8], align 8
+// CHECK-NEXT:   %x = alloca [1024 x i8], align 16
+// CHECK-NEXT:   %EmptyDesc = alloca %struct.__tgt_bin_desc, align 8
+// CHECK-NEXT:   %.offload_baseptrs = alloca [1 x ptr], align 8
+// CHECK-NEXT:   %.offload_ptrs = alloca [1 x ptr], align 8
+// CHECK-NEXT:   %.offload_sizes = alloca [1 x i64], align 8
+// CHECK-NEXT:   %x.addr = alloca ptr, align 8
+// CHECK-NEXT:   store ptr %x, ptr %x.addr, align 8
+// CHECK-NEXT:   %1 = load ptr, ptr %x.addr, align 8
+// CHECK-NEXT:   %2 = getelementptr inbounds float, ptr %1, i32 0
+// CHECK:        call void @llvm.memset.p0.i64(ptr align 8 %EmptyDesc, i8 0, i64 32, i1 false)
+// CHECK-NEXT:   call void @__tgt_register_lib(ptr %EmptyDesc)
+// CHECK-NEXT:   call void @__tgt_init_all_rtls()
+// CHECK-NEXT:   %3 = getelementptr inbounds [1 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
+// CHECK-NEXT:   store ptr %1, ptr %3, align 8
+// CHECK-NEXT:   %4 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
+// CHECK-NEXT:   store ptr %2, ptr %4, align 8
+// CHECK-NEXT:   %5 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
+// CHECK-NEXT:   store i64 1024, ptr %5, align 8
+// CHECK-NEXT:   %6 = getelementptr inbounds [1 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
+// CHECK-NEXT:   %7 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
+// CHECK-NEXT:   %8 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
+// CHECK-NEXT:   call void @__tgt_target_data_begin_mapper(ptr @1, i64 -1, i32 1, ptr %6, ptr %7, ptr %8, ptr @.offload_maptypes.1, ptr null, ptr null)
+// CHECK-NEXT:   call void @kernel_1(ptr noalias noundef nonnull align 4 dereferenceable(1024) %x)
+// CHECK-NEXT:   %9 = getelementptr inbounds [1 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
+// CHECK-NEXT:   %10 = getelementptr inbounds [1 x ptr], ptr %.offload_ptrs, i32 0, i32 0
+// CHECK-NEXT:   %11 = getelementptr inbounds [1 x i64], ptr %.offload_sizes, i32 0, i32 0
+// CHECK-NEXT:   call void @__tgt_target_data_end_mapper(ptr @1, i64 -1, i32 1, ptr %9, ptr %10, ptr %11, ptr @.offload_maptypes.1, ptr null, ptr null)
+// CHECK-NEXT:   call void @__tgt_unregister_lib(ptr %EmptyDesc)
+// CHECK:        store ptr %x, ptr %0, align 8
+// CHECK-NEXT:   call void asm sideeffect "", "r,~{memory}"(ptr nonnull %0)
+// CHECK:        ret void
+// CHECK-NEXT: }
+
+#[unsafe(no_mangle)]
+#[inline(never)]
+pub fn kernel_1(x: &mut [f32; 256]) {
+    for i in 0..256 {
+        x[i] = 21.0;
+    }
+}
diff --git a/tests/codegen/hint/cold_path.rs b/tests/codegen-llvm/hint/cold_path.rs
index 149abe474f6..149abe474f6 100644
--- a/tests/codegen/hint/cold_path.rs
+++ b/tests/codegen-llvm/hint/cold_path.rs
diff --git a/tests/codegen/hint/likely.rs b/tests/codegen-llvm/hint/likely.rs
index 75f9e7aae36..75f9e7aae36 100644
--- a/tests/codegen/hint/likely.rs
+++ b/tests/codegen-llvm/hint/likely.rs
diff --git a/tests/codegen/hint/unlikely.rs b/tests/codegen-llvm/hint/unlikely.rs
index 248b1e2537e..248b1e2537e 100644
--- a/tests/codegen/hint/unlikely.rs
+++ b/tests/codegen-llvm/hint/unlikely.rs
diff --git a/tests/codegen/i128-wasm32-callconv.rs b/tests/codegen-llvm/i128-wasm32-callconv.rs
index 9d73d270ef3..9d73d270ef3 100644
--- a/tests/codegen/i128-wasm32-callconv.rs
+++ b/tests/codegen-llvm/i128-wasm32-callconv.rs
diff --git a/tests/codegen/i128-x86-align.rs b/tests/codegen-llvm/i128-x86-align.rs
index 75802b0c505..75802b0c505 100644
--- a/tests/codegen/i128-x86-align.rs
+++ b/tests/codegen-llvm/i128-x86-align.rs
diff --git a/tests/codegen/i128-x86-callconv.rs b/tests/codegen-llvm/i128-x86-callconv.rs
index 41c30c09c1a..41c30c09c1a 100644
--- a/tests/codegen/i128-x86-callconv.rs
+++ b/tests/codegen-llvm/i128-x86-callconv.rs
diff --git a/tests/codegen/infallible-unwrap-in-opt-z.rs b/tests/codegen-llvm/infallible-unwrap-in-opt-z.rs
index c2297c58e77..c2297c58e77 100644
--- a/tests/codegen/infallible-unwrap-in-opt-z.rs
+++ b/tests/codegen-llvm/infallible-unwrap-in-opt-z.rs
diff --git a/tests/codegen/inherit_overflow.rs b/tests/codegen-llvm/inherit_overflow.rs
index e4a5ef39fc5..e4a5ef39fc5 100644
--- a/tests/codegen/inherit_overflow.rs
+++ b/tests/codegen-llvm/inherit_overflow.rs
diff --git a/tests/codegen/inline-always-works-always.rs b/tests/codegen-llvm/inline-always-works-always.rs
index 07200fd9e37..07200fd9e37 100644
--- a/tests/codegen/inline-always-works-always.rs
+++ b/tests/codegen-llvm/inline-always-works-always.rs
diff --git a/tests/codegen/inline-debuginfo.rs b/tests/codegen-llvm/inline-debuginfo.rs
index 1e1c9037f5c..1e1c9037f5c 100644
--- a/tests/codegen/inline-debuginfo.rs
+++ b/tests/codegen-llvm/inline-debuginfo.rs
diff --git a/tests/codegen/inline-function-args-debug-info.rs b/tests/codegen-llvm/inline-function-args-debug-info.rs
index c31419cb914..c31419cb914 100644
--- a/tests/codegen/inline-function-args-debug-info.rs
+++ b/tests/codegen-llvm/inline-function-args-debug-info.rs
diff --git a/tests/codegen/inline-hint.rs b/tests/codegen-llvm/inline-hint.rs
index 3d46885d5a2..3d46885d5a2 100644
--- a/tests/codegen/inline-hint.rs
+++ b/tests/codegen-llvm/inline-hint.rs
diff --git a/tests/codegen/instrument-coverage/instrument-coverage-off.rs b/tests/codegen-llvm/instrument-coverage/instrument-coverage-off.rs
index e44d6c65874..e44d6c65874 100644
--- a/tests/codegen/instrument-coverage/instrument-coverage-off.rs
+++ b/tests/codegen-llvm/instrument-coverage/instrument-coverage-off.rs
diff --git a/tests/codegen/instrument-coverage/instrument-coverage.rs b/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs
index 23d23651c72..23d23651c72 100644
--- a/tests/codegen/instrument-coverage/instrument-coverage.rs
+++ b/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs
diff --git a/tests/codegen/instrument-coverage/testprog.rs b/tests/codegen-llvm/instrument-coverage/testprog.rs
index 9e918499d57..9e918499d57 100644
--- a/tests/codegen/instrument-coverage/testprog.rs
+++ b/tests/codegen-llvm/instrument-coverage/testprog.rs
diff --git a/tests/codegen/instrument-mcount.rs b/tests/codegen-llvm/instrument-mcount.rs
index 8c97535d4a8..8c97535d4a8 100644
--- a/tests/codegen/instrument-mcount.rs
+++ b/tests/codegen-llvm/instrument-mcount.rs
diff --git a/tests/codegen/instrument-xray/basic.rs b/tests/codegen-llvm/instrument-xray/basic.rs
index 7aaebf41e36..7aaebf41e36 100644
--- a/tests/codegen/instrument-xray/basic.rs
+++ b/tests/codegen-llvm/instrument-xray/basic.rs
diff --git a/tests/codegen/instrument-xray/options-combine.rs b/tests/codegen-llvm/instrument-xray/options-combine.rs
index d1e3b78e6b2..d1e3b78e6b2 100644
--- a/tests/codegen/instrument-xray/options-combine.rs
+++ b/tests/codegen-llvm/instrument-xray/options-combine.rs
diff --git a/tests/codegen/instrument-xray/options-override.rs b/tests/codegen-llvm/instrument-xray/options-override.rs
index 428fb723edb..428fb723edb 100644
--- a/tests/codegen/instrument-xray/options-override.rs
+++ b/tests/codegen-llvm/instrument-xray/options-override.rs
diff --git a/tests/codegen/integer-cmp.rs b/tests/codegen-llvm/integer-cmp.rs
index 812fa8e4a42..812fa8e4a42 100644
--- a/tests/codegen/integer-cmp.rs
+++ b/tests/codegen-llvm/integer-cmp.rs
diff --git a/tests/codegen/integer-overflow.rs b/tests/codegen-llvm/integer-overflow.rs
index 80362247a86..80362247a86 100644
--- a/tests/codegen/integer-overflow.rs
+++ b/tests/codegen-llvm/integer-overflow.rs
diff --git a/tests/codegen/internalize-closures.rs b/tests/codegen-llvm/internalize-closures.rs
index f226ea6faac..f226ea6faac 100644
--- a/tests/codegen/internalize-closures.rs
+++ b/tests/codegen-llvm/internalize-closures.rs
diff --git a/tests/codegen/intrinsic-no-unnamed-attr.rs b/tests/codegen-llvm/intrinsic-no-unnamed-attr.rs
index 4bec579831d..4bec579831d 100644
--- a/tests/codegen/intrinsic-no-unnamed-attr.rs
+++ b/tests/codegen-llvm/intrinsic-no-unnamed-attr.rs
diff --git a/tests/codegen/intrinsics/aggregate-thin-pointer.rs b/tests/codegen-llvm/intrinsics/aggregate-thin-pointer.rs
index bd590ce9180..bd590ce9180 100644
--- a/tests/codegen/intrinsics/aggregate-thin-pointer.rs
+++ b/tests/codegen-llvm/intrinsics/aggregate-thin-pointer.rs
diff --git a/tests/codegen/intrinsics/carrying_mul_add.rs b/tests/codegen-llvm/intrinsics/carrying_mul_add.rs
index 21fb49a3786..21fb49a3786 100644
--- a/tests/codegen/intrinsics/carrying_mul_add.rs
+++ b/tests/codegen-llvm/intrinsics/carrying_mul_add.rs
diff --git a/tests/codegen/intrinsics/cold_path.rs b/tests/codegen-llvm/intrinsics/cold_path.rs
index fd75324b671..fd75324b671 100644
--- a/tests/codegen/intrinsics/cold_path.rs
+++ b/tests/codegen-llvm/intrinsics/cold_path.rs
diff --git a/tests/codegen/intrinsics/cold_path2.rs b/tests/codegen-llvm/intrinsics/cold_path2.rs
index 0891c878fd9..0891c878fd9 100644
--- a/tests/codegen/intrinsics/cold_path2.rs
+++ b/tests/codegen-llvm/intrinsics/cold_path2.rs
diff --git a/tests/codegen/intrinsics/cold_path3.rs b/tests/codegen-llvm/intrinsics/cold_path3.rs
index bf3347de665..bf3347de665 100644
--- a/tests/codegen/intrinsics/cold_path3.rs
+++ b/tests/codegen-llvm/intrinsics/cold_path3.rs
diff --git a/tests/codegen/intrinsics/compare_bytes.rs b/tests/codegen-llvm/intrinsics/compare_bytes.rs
index 3ab0e4e97e0..3ab0e4e97e0 100644
--- a/tests/codegen/intrinsics/compare_bytes.rs
+++ b/tests/codegen-llvm/intrinsics/compare_bytes.rs
diff --git a/tests/codegen/intrinsics/const_eval_select.rs b/tests/codegen-llvm/intrinsics/const_eval_select.rs
index baa985b00cd..baa985b00cd 100644
--- a/tests/codegen/intrinsics/const_eval_select.rs
+++ b/tests/codegen-llvm/intrinsics/const_eval_select.rs
diff --git a/tests/codegen/intrinsics/ctlz.rs b/tests/codegen-llvm/intrinsics/ctlz.rs
index 0d54d21ce12..0d54d21ce12 100644
--- a/tests/codegen/intrinsics/ctlz.rs
+++ b/tests/codegen-llvm/intrinsics/ctlz.rs
diff --git a/tests/codegen/intrinsics/ctpop.rs b/tests/codegen-llvm/intrinsics/ctpop.rs
index f4043325de9..f4043325de9 100644
--- a/tests/codegen/intrinsics/ctpop.rs
+++ b/tests/codegen-llvm/intrinsics/ctpop.rs
diff --git a/tests/codegen/intrinsics/disjoint_bitor.rs b/tests/codegen-llvm/intrinsics/disjoint_bitor.rs
index fc45439ee0b..fc45439ee0b 100644
--- a/tests/codegen/intrinsics/disjoint_bitor.rs
+++ b/tests/codegen-llvm/intrinsics/disjoint_bitor.rs
diff --git a/tests/codegen/intrinsics/exact_div.rs b/tests/codegen-llvm/intrinsics/exact_div.rs
index dc625ba7fe4..dc625ba7fe4 100644
--- a/tests/codegen/intrinsics/exact_div.rs
+++ b/tests/codegen-llvm/intrinsics/exact_div.rs
diff --git a/tests/codegen/intrinsics/likely.rs b/tests/codegen-llvm/intrinsics/likely.rs
index c5e3c466f45..c5e3c466f45 100644
--- a/tests/codegen/intrinsics/likely.rs
+++ b/tests/codegen-llvm/intrinsics/likely.rs
diff --git a/tests/codegen/intrinsics/likely_assert.rs b/tests/codegen-llvm/intrinsics/likely_assert.rs
index 87ffb4ee3fb..87ffb4ee3fb 100644
--- a/tests/codegen/intrinsics/likely_assert.rs
+++ b/tests/codegen-llvm/intrinsics/likely_assert.rs
diff --git a/tests/codegen/intrinsics/mask.rs b/tests/codegen-llvm/intrinsics/mask.rs
index 5344274678c..5344274678c 100644
--- a/tests/codegen/intrinsics/mask.rs
+++ b/tests/codegen-llvm/intrinsics/mask.rs
diff --git a/tests/codegen/intrinsics/nontemporal.rs b/tests/codegen-llvm/intrinsics/nontemporal.rs
index a151d4bd297..a151d4bd297 100644
--- a/tests/codegen/intrinsics/nontemporal.rs
+++ b/tests/codegen-llvm/intrinsics/nontemporal.rs
diff --git a/tests/codegen/intrinsics/offset.rs b/tests/codegen-llvm/intrinsics/offset.rs
index cf0c7c7ac7d..cf0c7c7ac7d 100644
--- a/tests/codegen/intrinsics/offset.rs
+++ b/tests/codegen-llvm/intrinsics/offset.rs
diff --git a/tests/codegen/intrinsics/offset_from.rs b/tests/codegen-llvm/intrinsics/offset_from.rs
index ef1a77ef184..ef1a77ef184 100644
--- a/tests/codegen/intrinsics/offset_from.rs
+++ b/tests/codegen-llvm/intrinsics/offset_from.rs
diff --git a/tests/codegen/intrinsics/prefetch.rs b/tests/codegen-llvm/intrinsics/prefetch.rs
index 3f9f21c85cb..3f9f21c85cb 100644
--- a/tests/codegen/intrinsics/prefetch.rs
+++ b/tests/codegen-llvm/intrinsics/prefetch.rs
diff --git a/tests/codegen/intrinsics/ptr_metadata.rs b/tests/codegen-llvm/intrinsics/ptr_metadata.rs
index 044dbc20486..044dbc20486 100644
--- a/tests/codegen/intrinsics/ptr_metadata.rs
+++ b/tests/codegen-llvm/intrinsics/ptr_metadata.rs
diff --git a/tests/codegen/intrinsics/rotate_left.rs b/tests/codegen-llvm/intrinsics/rotate_left.rs
index 4f6c5cbaed6..4f6c5cbaed6 100644
--- a/tests/codegen/intrinsics/rotate_left.rs
+++ b/tests/codegen-llvm/intrinsics/rotate_left.rs
diff --git a/tests/codegen/intrinsics/rustc_intrinsic_must_be_overridden.rs b/tests/codegen-llvm/intrinsics/rustc_intrinsic_must_be_overridden.rs
index b41e441d309..b41e441d309 100644
--- a/tests/codegen/intrinsics/rustc_intrinsic_must_be_overridden.rs
+++ b/tests/codegen-llvm/intrinsics/rustc_intrinsic_must_be_overridden.rs
diff --git a/tests/codegen/intrinsics/select_unpredictable.rs b/tests/codegen-llvm/intrinsics/select_unpredictable.rs
index ad7120c6fb8..ad7120c6fb8 100644
--- a/tests/codegen/intrinsics/select_unpredictable.rs
+++ b/tests/codegen-llvm/intrinsics/select_unpredictable.rs
diff --git a/tests/codegen/intrinsics/three_way_compare.rs b/tests/codegen-llvm/intrinsics/three_way_compare.rs
index 95fcb636f7c..95fcb636f7c 100644
--- a/tests/codegen/intrinsics/three_way_compare.rs
+++ b/tests/codegen-llvm/intrinsics/three_way_compare.rs
diff --git a/tests/codegen/intrinsics/transmute-niched.rs b/tests/codegen-llvm/intrinsics/transmute-niched.rs
index 8ff5cc8ee4f..8ff5cc8ee4f 100644
--- a/tests/codegen/intrinsics/transmute-niched.rs
+++ b/tests/codegen-llvm/intrinsics/transmute-niched.rs
diff --git a/tests/codegen/intrinsics/transmute-x64.rs b/tests/codegen-llvm/intrinsics/transmute-x64.rs
index 8c9480ab091..8c9480ab091 100644
--- a/tests/codegen/intrinsics/transmute-x64.rs
+++ b/tests/codegen-llvm/intrinsics/transmute-x64.rs
diff --git a/tests/codegen/intrinsics/transmute.rs b/tests/codegen-llvm/intrinsics/transmute.rs
index c9a1cd58af3..c9a1cd58af3 100644
--- a/tests/codegen/intrinsics/transmute.rs
+++ b/tests/codegen-llvm/intrinsics/transmute.rs
diff --git a/tests/codegen/intrinsics/typed_swap.rs b/tests/codegen-llvm/intrinsics/typed_swap.rs
index 6b55078407a..6b55078407a 100644
--- a/tests/codegen/intrinsics/typed_swap.rs
+++ b/tests/codegen-llvm/intrinsics/typed_swap.rs
diff --git a/tests/codegen/intrinsics/unchecked_math.rs b/tests/codegen-llvm/intrinsics/unchecked_math.rs
index 419c120ede9..419c120ede9 100644
--- a/tests/codegen/intrinsics/unchecked_math.rs
+++ b/tests/codegen-llvm/intrinsics/unchecked_math.rs
diff --git a/tests/codegen/intrinsics/unlikely.rs b/tests/codegen-llvm/intrinsics/unlikely.rs
index 90ebf070d27..90ebf070d27 100644
--- a/tests/codegen/intrinsics/unlikely.rs
+++ b/tests/codegen-llvm/intrinsics/unlikely.rs
diff --git a/tests/codegen/intrinsics/volatile.rs b/tests/codegen-llvm/intrinsics/volatile.rs
index 2dea5ecb2ca..2dea5ecb2ca 100644
--- a/tests/codegen/intrinsics/volatile.rs
+++ b/tests/codegen-llvm/intrinsics/volatile.rs
diff --git a/tests/codegen/intrinsics/volatile_order.rs b/tests/codegen-llvm/intrinsics/volatile_order.rs
index 99469831a6c..99469831a6c 100644
--- a/tests/codegen/intrinsics/volatile_order.rs
+++ b/tests/codegen-llvm/intrinsics/volatile_order.rs
diff --git a/tests/codegen/is_val_statically_known.rs b/tests/codegen-llvm/is_val_statically_known.rs
index 8119d3a3bf6..8119d3a3bf6 100644
--- a/tests/codegen/is_val_statically_known.rs
+++ b/tests/codegen-llvm/is_val_statically_known.rs
diff --git a/tests/codegen/issue-97217.rs b/tests/codegen-llvm/issue-97217.rs
index ef9acc5fc93..ef9acc5fc93 100644
--- a/tests/codegen/issue-97217.rs
+++ b/tests/codegen-llvm/issue-97217.rs
diff --git a/tests/codegen/issues/issue-101048.rs b/tests/codegen-llvm/issues/issue-101048.rs
index cfe65e758fd..cfe65e758fd 100644
--- a/tests/codegen/issues/issue-101048.rs
+++ b/tests/codegen-llvm/issues/issue-101048.rs
diff --git a/tests/codegen/issues/issue-101082.rs b/tests/codegen-llvm/issues/issue-101082.rs
index 8d15921ddb4..8d15921ddb4 100644
--- a/tests/codegen/issues/issue-101082.rs
+++ b/tests/codegen-llvm/issues/issue-101082.rs
diff --git a/tests/codegen/issues/issue-101814.rs b/tests/codegen-llvm/issues/issue-101814.rs
index 668ec8476e8..668ec8476e8 100644
--- a/tests/codegen/issues/issue-101814.rs
+++ b/tests/codegen-llvm/issues/issue-101814.rs
diff --git a/tests/codegen/issues/issue-103132.rs b/tests/codegen-llvm/issues/issue-103132.rs
index 623cab92806..623cab92806 100644
--- a/tests/codegen/issues/issue-103132.rs
+++ b/tests/codegen-llvm/issues/issue-103132.rs
diff --git a/tests/codegen/issues/issue-103285-ptr-addr-overflow-check.rs b/tests/codegen-llvm/issues/issue-103285-ptr-addr-overflow-check.rs
index 3ada5412e83..3ada5412e83 100644
--- a/tests/codegen/issues/issue-103285-ptr-addr-overflow-check.rs
+++ b/tests/codegen-llvm/issues/issue-103285-ptr-addr-overflow-check.rs
diff --git a/tests/codegen/issues/issue-103327.rs b/tests/codegen-llvm/issues/issue-103327.rs
index 4de3cfd12a0..4de3cfd12a0 100644
--- a/tests/codegen/issues/issue-103327.rs
+++ b/tests/codegen-llvm/issues/issue-103327.rs
diff --git a/tests/codegen/issues/issue-103840.rs b/tests/codegen-llvm/issues/issue-103840.rs
index c6c5098bdd0..c6c5098bdd0 100644
--- a/tests/codegen/issues/issue-103840.rs
+++ b/tests/codegen-llvm/issues/issue-103840.rs
diff --git a/tests/codegen/issues/issue-105386-ub-in-debuginfo.rs b/tests/codegen-llvm/issues/issue-105386-ub-in-debuginfo.rs
index 848aa910b58..848aa910b58 100644
--- a/tests/codegen/issues/issue-105386-ub-in-debuginfo.rs
+++ b/tests/codegen-llvm/issues/issue-105386-ub-in-debuginfo.rs
diff --git a/tests/codegen/issues/issue-106369.rs b/tests/codegen-llvm/issues/issue-106369.rs
index 3583d20c9fa..3583d20c9fa 100644
--- a/tests/codegen/issues/issue-106369.rs
+++ b/tests/codegen-llvm/issues/issue-106369.rs
diff --git a/tests/codegen/issues/issue-107681-unwrap_unchecked.rs b/tests/codegen-llvm/issues/issue-107681-unwrap_unchecked.rs
index 69aefc6b1fb..69aefc6b1fb 100644
--- a/tests/codegen/issues/issue-107681-unwrap_unchecked.rs
+++ b/tests/codegen-llvm/issues/issue-107681-unwrap_unchecked.rs
diff --git a/tests/codegen/issues/issue-108395-branchy-bool-match.rs b/tests/codegen-llvm/issues/issue-108395-branchy-bool-match.rs
index 96387e791b0..96387e791b0 100644
--- a/tests/codegen/issues/issue-108395-branchy-bool-match.rs
+++ b/tests/codegen-llvm/issues/issue-108395-branchy-bool-match.rs
diff --git a/tests/codegen/issues/issue-109328-split_first.rs b/tests/codegen-llvm/issues/issue-109328-split_first.rs
index 26235edfc19..26235edfc19 100644
--- a/tests/codegen/issues/issue-109328-split_first.rs
+++ b/tests/codegen-llvm/issues/issue-109328-split_first.rs
diff --git a/tests/codegen/issues/issue-110797-enum-jump-same.rs b/tests/codegen-llvm/issues/issue-110797-enum-jump-same.rs
index b5f7c08795b..b5f7c08795b 100644
--- a/tests/codegen/issues/issue-110797-enum-jump-same.rs
+++ b/tests/codegen-llvm/issues/issue-110797-enum-jump-same.rs
diff --git a/tests/codegen/issues/issue-111603.rs b/tests/codegen-llvm/issues/issue-111603.rs
index 2ba5a3f876a..2ba5a3f876a 100644
--- a/tests/codegen/issues/issue-111603.rs
+++ b/tests/codegen-llvm/issues/issue-111603.rs
diff --git a/tests/codegen/issues/issue-112509-slice-get-andthen-get.rs b/tests/codegen-llvm/issues/issue-112509-slice-get-andthen-get.rs
index 3909b203d08..3909b203d08 100644
--- a/tests/codegen/issues/issue-112509-slice-get-andthen-get.rs
+++ b/tests/codegen-llvm/issues/issue-112509-slice-get-andthen-get.rs
diff --git a/tests/codegen/issues/issue-113757-bounds-check-after-cmp-max.rs b/tests/codegen-llvm/issues/issue-113757-bounds-check-after-cmp-max.rs
index d495adf9980..d495adf9980 100644
--- a/tests/codegen/issues/issue-113757-bounds-check-after-cmp-max.rs
+++ b/tests/codegen-llvm/issues/issue-113757-bounds-check-after-cmp-max.rs
diff --git a/tests/codegen/issues/issue-114312.rs b/tests/codegen-llvm/issues/issue-114312.rs
index 61355dd5873..61355dd5873 100644
--- a/tests/codegen/issues/issue-114312.rs
+++ b/tests/codegen-llvm/issues/issue-114312.rs
diff --git a/tests/codegen/issues/issue-115385-llvm-jump-threading.rs b/tests/codegen-llvm/issues/issue-115385-llvm-jump-threading.rs
index 8cabd94f202..8cabd94f202 100644
--- a/tests/codegen/issues/issue-115385-llvm-jump-threading.rs
+++ b/tests/codegen-llvm/issues/issue-115385-llvm-jump-threading.rs
diff --git a/tests/codegen/issues/issue-116878.rs b/tests/codegen-llvm/issues/issue-116878.rs
index daf46c8bb55..daf46c8bb55 100644
--- a/tests/codegen/issues/issue-116878.rs
+++ b/tests/codegen-llvm/issues/issue-116878.rs
diff --git a/tests/codegen/issues/issue-118306.rs b/tests/codegen-llvm/issues/issue-118306.rs
index f12dc7cdfe2..f12dc7cdfe2 100644
--- a/tests/codegen/issues/issue-118306.rs
+++ b/tests/codegen-llvm/issues/issue-118306.rs
diff --git a/tests/codegen/issues/issue-118392.rs b/tests/codegen-llvm/issues/issue-118392.rs
index 07de8d9b237..07de8d9b237 100644
--- a/tests/codegen/issues/issue-118392.rs
+++ b/tests/codegen-llvm/issues/issue-118392.rs
diff --git a/tests/codegen/issues/issue-119422.rs b/tests/codegen-llvm/issues/issue-119422.rs
index 17ae71605b5..17ae71605b5 100644
--- a/tests/codegen/issues/issue-119422.rs
+++ b/tests/codegen-llvm/issues/issue-119422.rs
diff --git a/tests/codegen/issues/issue-121719-common-field-offset.rs b/tests/codegen-llvm/issues/issue-121719-common-field-offset.rs
index 9f5f44e0375..9f5f44e0375 100644
--- a/tests/codegen/issues/issue-121719-common-field-offset.rs
+++ b/tests/codegen-llvm/issues/issue-121719-common-field-offset.rs
diff --git a/tests/codegen/issues/issue-122600-ptr-discriminant-update.rs b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs
index 853a1ff36b1..853a1ff36b1 100644
--- a/tests/codegen/issues/issue-122600-ptr-discriminant-update.rs
+++ b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs
diff --git a/tests/codegen/issues/issue-123712-str-to-lower-autovectorization.rs b/tests/codegen-llvm/issues/issue-123712-str-to-lower-autovectorization.rs
index 11ee10e8cc3..11ee10e8cc3 100644
--- a/tests/codegen/issues/issue-123712-str-to-lower-autovectorization.rs
+++ b/tests/codegen-llvm/issues/issue-123712-str-to-lower-autovectorization.rs
diff --git a/tests/codegen/issues/issue-126585.rs b/tests/codegen-llvm/issues/issue-126585.rs
index 466dab64cdc..466dab64cdc 100644
--- a/tests/codegen/issues/issue-126585.rs
+++ b/tests/codegen-llvm/issues/issue-126585.rs
diff --git a/tests/codegen/issues/issue-129795.rs b/tests/codegen-llvm/issues/issue-129795.rs
index dc64ee35c97..dc64ee35c97 100644
--- a/tests/codegen/issues/issue-129795.rs
+++ b/tests/codegen-llvm/issues/issue-129795.rs
diff --git a/tests/codegen/issues/issue-13018.rs b/tests/codegen-llvm/issues/issue-13018.rs
index 8040018b931..8040018b931 100644
--- a/tests/codegen/issues/issue-13018.rs
+++ b/tests/codegen-llvm/issues/issue-13018.rs
diff --git a/tests/codegen/issues/issue-136329-optnone-noinline.rs b/tests/codegen-llvm/issues/issue-136329-optnone-noinline.rs
index 57c9e47a499..57c9e47a499 100644
--- a/tests/codegen/issues/issue-136329-optnone-noinline.rs
+++ b/tests/codegen-llvm/issues/issue-136329-optnone-noinline.rs
diff --git a/tests/codegen/issues/issue-15953.rs b/tests/codegen-llvm/issues/issue-15953.rs
index 70e597ac1dd..70e597ac1dd 100644
--- a/tests/codegen/issues/issue-15953.rs
+++ b/tests/codegen-llvm/issues/issue-15953.rs
diff --git a/tests/codegen/issues/issue-27130.rs b/tests/codegen-llvm/issues/issue-27130.rs
index 594e02af097..594e02af097 100644
--- a/tests/codegen/issues/issue-27130.rs
+++ b/tests/codegen-llvm/issues/issue-27130.rs
diff --git a/tests/codegen/issues/issue-32031.rs b/tests/codegen-llvm/issues/issue-32031.rs
index 559e8d947fb..559e8d947fb 100644
--- a/tests/codegen/issues/issue-32031.rs
+++ b/tests/codegen-llvm/issues/issue-32031.rs
diff --git a/tests/codegen/issues/issue-32364.rs b/tests/codegen-llvm/issues/issue-32364.rs
index 016981d1947..016981d1947 100644
--- a/tests/codegen/issues/issue-32364.rs
+++ b/tests/codegen-llvm/issues/issue-32364.rs
diff --git a/tests/codegen/issues/issue-34634.rs b/tests/codegen-llvm/issues/issue-34634.rs
index d32fa97ec38..d32fa97ec38 100644
--- a/tests/codegen/issues/issue-34634.rs
+++ b/tests/codegen-llvm/issues/issue-34634.rs
diff --git a/tests/codegen/issues/issue-34947-pow-i32.rs b/tests/codegen-llvm/issues/issue-34947-pow-i32.rs
index b4750cd35bc..b4750cd35bc 100644
--- a/tests/codegen/issues/issue-34947-pow-i32.rs
+++ b/tests/codegen-llvm/issues/issue-34947-pow-i32.rs
diff --git a/tests/codegen/issues/issue-36010-some-box-is_some.rs b/tests/codegen-llvm/issues/issue-36010-some-box-is_some.rs
index c9a8262162d..c9a8262162d 100644
--- a/tests/codegen/issues/issue-36010-some-box-is_some.rs
+++ b/tests/codegen-llvm/issues/issue-36010-some-box-is_some.rs
diff --git a/tests/codegen/issues/issue-37945.rs b/tests/codegen-llvm/issues/issue-37945.rs
index 23d0eab8ae4..23d0eab8ae4 100644
--- a/tests/codegen/issues/issue-37945.rs
+++ b/tests/codegen-llvm/issues/issue-37945.rs
diff --git a/tests/codegen/issues/issue-45222.rs b/tests/codegen-llvm/issues/issue-45222.rs
index 0201363c41a..0201363c41a 100644
--- a/tests/codegen/issues/issue-45222.rs
+++ b/tests/codegen-llvm/issues/issue-45222.rs
diff --git a/tests/codegen/issues/issue-45466.rs b/tests/codegen-llvm/issues/issue-45466.rs
index 164a27ef5d4..164a27ef5d4 100644
--- a/tests/codegen/issues/issue-45466.rs
+++ b/tests/codegen-llvm/issues/issue-45466.rs
diff --git a/tests/codegen/issues/issue-45964-bounds-check-slice-pos.rs b/tests/codegen-llvm/issues/issue-45964-bounds-check-slice-pos.rs
index a48bb2a1ccf..a48bb2a1ccf 100644
--- a/tests/codegen/issues/issue-45964-bounds-check-slice-pos.rs
+++ b/tests/codegen-llvm/issues/issue-45964-bounds-check-slice-pos.rs
diff --git a/tests/codegen/issues/issue-47278.rs b/tests/codegen-llvm/issues/issue-47278.rs
index 4f0a5bdf36f..4f0a5bdf36f 100644
--- a/tests/codegen/issues/issue-47278.rs
+++ b/tests/codegen-llvm/issues/issue-47278.rs
diff --git a/tests/codegen/issues/issue-47442.rs b/tests/codegen-llvm/issues/issue-47442.rs
index 445234e55ad..445234e55ad 100644
--- a/tests/codegen/issues/issue-47442.rs
+++ b/tests/codegen-llvm/issues/issue-47442.rs
diff --git a/tests/codegen/issues/issue-56267-2.rs b/tests/codegen-llvm/issues/issue-56267-2.rs
index 98e3732777e..98e3732777e 100644
--- a/tests/codegen/issues/issue-56267-2.rs
+++ b/tests/codegen-llvm/issues/issue-56267-2.rs
diff --git a/tests/codegen/issues/issue-56267.rs b/tests/codegen-llvm/issues/issue-56267.rs
index cabcc298482..cabcc298482 100644
--- a/tests/codegen/issues/issue-56267.rs
+++ b/tests/codegen-llvm/issues/issue-56267.rs
diff --git a/tests/codegen/issues/issue-56927.rs b/tests/codegen-llvm/issues/issue-56927.rs
index 415ef073e03..415ef073e03 100644
--- a/tests/codegen/issues/issue-56927.rs
+++ b/tests/codegen-llvm/issues/issue-56927.rs
diff --git a/tests/codegen/issues/issue-58881.rs b/tests/codegen-llvm/issues/issue-58881.rs
index ba6285f3972..ba6285f3972 100644
--- a/tests/codegen/issues/issue-58881.rs
+++ b/tests/codegen-llvm/issues/issue-58881.rs
diff --git a/tests/codegen/issues/issue-59352.rs b/tests/codegen-llvm/issues/issue-59352.rs
index cb4383d4a30..cb4383d4a30 100644
--- a/tests/codegen/issues/issue-59352.rs
+++ b/tests/codegen-llvm/issues/issue-59352.rs
diff --git a/tests/codegen/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs b/tests/codegen-llvm/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs
index 86d020e1751..86d020e1751 100644
--- a/tests/codegen/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs
+++ b/tests/codegen-llvm/issues/issue-64219-fn-ptr-call-returning-never-is-noreturn.rs
diff --git a/tests/codegen/issues/issue-68667-unwrap-combinators.rs b/tests/codegen-llvm/issues/issue-68667-unwrap-combinators.rs
index 7f4a32109fe..7f4a32109fe 100644
--- a/tests/codegen/issues/issue-68667-unwrap-combinators.rs
+++ b/tests/codegen-llvm/issues/issue-68667-unwrap-combinators.rs
diff --git a/tests/codegen/issues/issue-69101-bounds-check.rs b/tests/codegen-llvm/issues/issue-69101-bounds-check.rs
index 953b79aa263..953b79aa263 100644
--- a/tests/codegen/issues/issue-69101-bounds-check.rs
+++ b/tests/codegen-llvm/issues/issue-69101-bounds-check.rs
diff --git a/tests/codegen/issues/issue-73031.rs b/tests/codegen-llvm/issues/issue-73031.rs
index 80dea9b5bc2..80dea9b5bc2 100644
--- a/tests/codegen/issues/issue-73031.rs
+++ b/tests/codegen-llvm/issues/issue-73031.rs
diff --git a/tests/codegen/issues/issue-73258.rs b/tests/codegen-llvm/issues/issue-73258.rs
index 936a7554496..936a7554496 100644
--- a/tests/codegen/issues/issue-73258.rs
+++ b/tests/codegen-llvm/issues/issue-73258.rs
diff --git a/tests/codegen/issues/issue-73338-effecient-cmp.rs b/tests/codegen-llvm/issues/issue-73338-effecient-cmp.rs
index 71641a5457b..71641a5457b 100644
--- a/tests/codegen/issues/issue-73338-effecient-cmp.rs
+++ b/tests/codegen-llvm/issues/issue-73338-effecient-cmp.rs
diff --git a/tests/codegen/issues/issue-73396-bounds-check-after-position.rs b/tests/codegen-llvm/issues/issue-73396-bounds-check-after-position.rs
index 1e2c25babe0..1e2c25babe0 100644
--- a/tests/codegen/issues/issue-73396-bounds-check-after-position.rs
+++ b/tests/codegen-llvm/issues/issue-73396-bounds-check-after-position.rs
diff --git a/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs b/tests/codegen-llvm/issues/issue-73827-bounds-check-index-in-subexpr.rs
index e9dd0d1bf23..e9dd0d1bf23 100644
--- a/tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs
+++ b/tests/codegen-llvm/issues/issue-73827-bounds-check-index-in-subexpr.rs
diff --git a/tests/codegen/issues/issue-74938-array-split-at.rs b/tests/codegen-llvm/issues/issue-74938-array-split-at.rs
index 9d3e23d642b..9d3e23d642b 100644
--- a/tests/codegen/issues/issue-74938-array-split-at.rs
+++ b/tests/codegen-llvm/issues/issue-74938-array-split-at.rs
diff --git a/tests/codegen/issues/issue-75525-bounds-checks.rs b/tests/codegen-llvm/issues/issue-75525-bounds-checks.rs
index 5dfbd350010..5dfbd350010 100644
--- a/tests/codegen/issues/issue-75525-bounds-checks.rs
+++ b/tests/codegen-llvm/issues/issue-75525-bounds-checks.rs
diff --git a/tests/codegen/issues/issue-75546.rs b/tests/codegen-llvm/issues/issue-75546.rs
index 1e1e6543a88..1e1e6543a88 100644
--- a/tests/codegen/issues/issue-75546.rs
+++ b/tests/codegen-llvm/issues/issue-75546.rs
diff --git a/tests/codegen/issues/issue-75659.rs b/tests/codegen-llvm/issues/issue-75659.rs
index 0960bfdb6b0..0960bfdb6b0 100644
--- a/tests/codegen/issues/issue-75659.rs
+++ b/tests/codegen-llvm/issues/issue-75659.rs
diff --git a/tests/codegen/issues/issue-75978.rs b/tests/codegen-llvm/issues/issue-75978.rs
index f4b0bc36329..f4b0bc36329 100644
--- a/tests/codegen/issues/issue-75978.rs
+++ b/tests/codegen-llvm/issues/issue-75978.rs
diff --git a/tests/codegen/issues/issue-77812.rs b/tests/codegen-llvm/issues/issue-77812.rs
index 09e2376c30d..09e2376c30d 100644
--- a/tests/codegen/issues/issue-77812.rs
+++ b/tests/codegen-llvm/issues/issue-77812.rs
diff --git a/tests/codegen/issues/issue-84268.rs b/tests/codegen-llvm/issues/issue-84268.rs
index 1dc55a909ad..1dc55a909ad 100644
--- a/tests/codegen/issues/issue-84268.rs
+++ b/tests/codegen-llvm/issues/issue-84268.rs
diff --git a/tests/codegen/issues/issue-85872-multiple-reverse.rs b/tests/codegen-llvm/issues/issue-85872-multiple-reverse.rs
index 6f566ddee6b..6f566ddee6b 100644
--- a/tests/codegen/issues/issue-85872-multiple-reverse.rs
+++ b/tests/codegen-llvm/issues/issue-85872-multiple-reverse.rs
diff --git a/tests/codegen/issues/issue-86106.rs b/tests/codegen-llvm/issues/issue-86106.rs
index 8d1ce116d26..8d1ce116d26 100644
--- a/tests/codegen/issues/issue-86106.rs
+++ b/tests/codegen-llvm/issues/issue-86106.rs
diff --git a/tests/codegen/issues/issue-86109-eliminate-div-by-zero-check.rs b/tests/codegen-llvm/issues/issue-86109-eliminate-div-by-zero-check.rs
index 345c09738b6..345c09738b6 100644
--- a/tests/codegen/issues/issue-86109-eliminate-div-by-zero-check.rs
+++ b/tests/codegen-llvm/issues/issue-86109-eliminate-div-by-zero-check.rs
diff --git a/tests/codegen/issues/issue-93036-assert-index.rs b/tests/codegen-llvm/issues/issue-93036-assert-index.rs
index 46f45c2f06e..46f45c2f06e 100644
--- a/tests/codegen/issues/issue-93036-assert-index.rs
+++ b/tests/codegen-llvm/issues/issue-93036-assert-index.rs
diff --git a/tests/codegen/issues/issue-96274.rs b/tests/codegen-llvm/issues/issue-96274.rs
index 2425ec53e4e..2425ec53e4e 100644
--- a/tests/codegen/issues/issue-96274.rs
+++ b/tests/codegen-llvm/issues/issue-96274.rs
diff --git a/tests/codegen/issues/issue-96497-slice-size-nowrap.rs b/tests/codegen-llvm/issues/issue-96497-slice-size-nowrap.rs
index 7b3a20a295e..7b3a20a295e 100644
--- a/tests/codegen/issues/issue-96497-slice-size-nowrap.rs
+++ b/tests/codegen-llvm/issues/issue-96497-slice-size-nowrap.rs
diff --git a/tests/codegen/issues/issue-98294-get-mut-copy-from-slice-opt.rs b/tests/codegen-llvm/issues/issue-98294-get-mut-copy-from-slice-opt.rs
index 76adcf9fd45..76adcf9fd45 100644
--- a/tests/codegen/issues/issue-98294-get-mut-copy-from-slice-opt.rs
+++ b/tests/codegen-llvm/issues/issue-98294-get-mut-copy-from-slice-opt.rs
diff --git a/tests/codegen/issues/issue-98678-async.rs b/tests/codegen-llvm/issues/issue-98678-async.rs
index 3dd06bb5194..3dd06bb5194 100644
--- a/tests/codegen/issues/issue-98678-async.rs
+++ b/tests/codegen-llvm/issues/issue-98678-async.rs
diff --git a/tests/codegen/issues/issue-98678-closure-coroutine.rs b/tests/codegen-llvm/issues/issue-98678-closure-coroutine.rs
index 8763bcb799d..8763bcb799d 100644
--- a/tests/codegen/issues/issue-98678-closure-coroutine.rs
+++ b/tests/codegen-llvm/issues/issue-98678-closure-coroutine.rs
diff --git a/tests/codegen/issues/issue-98678-enum.rs b/tests/codegen-llvm/issues/issue-98678-enum.rs
index 87bf8797293..87bf8797293 100644
--- a/tests/codegen/issues/issue-98678-enum.rs
+++ b/tests/codegen-llvm/issues/issue-98678-enum.rs
diff --git a/tests/codegen/issues/issue-98678-struct-union.rs b/tests/codegen-llvm/issues/issue-98678-struct-union.rs
index a83a585a433..a83a585a433 100644
--- a/tests/codegen/issues/issue-98678-struct-union.rs
+++ b/tests/codegen-llvm/issues/issue-98678-struct-union.rs
diff --git a/tests/codegen/issues/issue-99960.rs b/tests/codegen-llvm/issues/issue-99960.rs
index 571a9be967d..571a9be967d 100644
--- a/tests/codegen/issues/issue-99960.rs
+++ b/tests/codegen-llvm/issues/issue-99960.rs
diff --git a/tests/codegen/issues/looping-over-ne-bytes-133528.rs b/tests/codegen-llvm/issues/looping-over-ne-bytes-133528.rs
index 35acf765d69..35acf765d69 100644
--- a/tests/codegen/issues/looping-over-ne-bytes-133528.rs
+++ b/tests/codegen-llvm/issues/looping-over-ne-bytes-133528.rs
diff --git a/tests/codegen/issues/str-to-string-128690.rs b/tests/codegen-llvm/issues/str-to-string-128690.rs
index d9e69764be2..d9e69764be2 100644
--- a/tests/codegen/issues/str-to-string-128690.rs
+++ b/tests/codegen-llvm/issues/str-to-string-128690.rs
diff --git a/tests/codegen/iter-repeat-n-trivial-drop.rs b/tests/codegen-llvm/iter-repeat-n-trivial-drop.rs
index 28173530324..28173530324 100644
--- a/tests/codegen/iter-repeat-n-trivial-drop.rs
+++ b/tests/codegen-llvm/iter-repeat-n-trivial-drop.rs
diff --git a/tests/codegen/layout-size-checks.rs b/tests/codegen-llvm/layout-size-checks.rs
index d64a7055e0b..d64a7055e0b 100644
--- a/tests/codegen/layout-size-checks.rs
+++ b/tests/codegen-llvm/layout-size-checks.rs
diff --git a/tests/codegen/lib-optimizations/iter-sum.rs b/tests/codegen-llvm/lib-optimizations/iter-sum.rs
index a054ffffe74..a054ffffe74 100644
--- a/tests/codegen/lib-optimizations/iter-sum.rs
+++ b/tests/codegen-llvm/lib-optimizations/iter-sum.rs
diff --git a/tests/codegen/lib-optimizations/slice_rotate.rs b/tests/codegen-llvm/lib-optimizations/slice_rotate.rs
index aa4bb3b528c..aa4bb3b528c 100644
--- a/tests/codegen/lib-optimizations/slice_rotate.rs
+++ b/tests/codegen-llvm/lib-optimizations/slice_rotate.rs
diff --git a/tests/codegen/lifetime_start_end.rs b/tests/codegen-llvm/lifetime_start_end.rs
index 0639e7640aa..0639e7640aa 100644
--- a/tests/codegen/lifetime_start_end.rs
+++ b/tests/codegen-llvm/lifetime_start_end.rs
diff --git a/tests/codegen/link-dead-code.rs b/tests/codegen-llvm/link-dead-code.rs
index 93e1d84d9c7..93e1d84d9c7 100644
--- a/tests/codegen/link-dead-code.rs
+++ b/tests/codegen-llvm/link-dead-code.rs
diff --git a/tests/codegen/link_section.rs b/tests/codegen-llvm/link_section.rs
index f62f6948079..f62f6948079 100644
--- a/tests/codegen/link_section.rs
+++ b/tests/codegen-llvm/link_section.rs
diff --git a/tests/codegen/llvm-ident.rs b/tests/codegen-llvm/llvm-ident.rs
index 923e99bb282..923e99bb282 100644
--- a/tests/codegen/llvm-ident.rs
+++ b/tests/codegen-llvm/llvm-ident.rs
diff --git a/tests/codegen/llvm_module_flags.rs b/tests/codegen-llvm/llvm_module_flags.rs
index d3fae0c3927..d3fae0c3927 100644
--- a/tests/codegen/llvm_module_flags.rs
+++ b/tests/codegen-llvm/llvm_module_flags.rs
diff --git a/tests/codegen/loads.rs b/tests/codegen-llvm/loads.rs
index 88d67642b72..88d67642b72 100644
--- a/tests/codegen/loads.rs
+++ b/tests/codegen-llvm/loads.rs
diff --git a/tests/codegen/local-generics-in-exe-internalized.rs b/tests/codegen-llvm/local-generics-in-exe-internalized.rs
index 8dbc41382b5..8dbc41382b5 100644
--- a/tests/codegen/local-generics-in-exe-internalized.rs
+++ b/tests/codegen-llvm/local-generics-in-exe-internalized.rs
diff --git a/tests/codegen/loongarch-abi/call-llvm-intrinsics.rs b/tests/codegen-llvm/loongarch-abi/call-llvm-intrinsics.rs
index 9a50f7b8e3a..9a50f7b8e3a 100644
--- a/tests/codegen/loongarch-abi/call-llvm-intrinsics.rs
+++ b/tests/codegen-llvm/loongarch-abi/call-llvm-intrinsics.rs
diff --git a/tests/codegen/loongarch-abi/loongarch64-lp64d-abi.rs b/tests/codegen-llvm/loongarch-abi/loongarch64-lp64d-abi.rs
index 93c8d60930b..93c8d60930b 100644
--- a/tests/codegen/loongarch-abi/loongarch64-lp64d-abi.rs
+++ b/tests/codegen-llvm/loongarch-abi/loongarch64-lp64d-abi.rs
diff --git a/tests/codegen/lto-removes-invokes.rs b/tests/codegen-llvm/lto-removes-invokes.rs
index 3640bd1ab86..3640bd1ab86 100644
--- a/tests/codegen/lto-removes-invokes.rs
+++ b/tests/codegen-llvm/lto-removes-invokes.rs
diff --git a/tests/codegen/macos/i686-macosx-deployment-target.rs b/tests/codegen-llvm/macos/i686-macosx-deployment-target.rs
index cfa91e61cb0..cfa91e61cb0 100644
--- a/tests/codegen/macos/i686-macosx-deployment-target.rs
+++ b/tests/codegen-llvm/macos/i686-macosx-deployment-target.rs
diff --git a/tests/codegen/macos/i686-no-macosx-deployment-target.rs b/tests/codegen-llvm/macos/i686-no-macosx-deployment-target.rs
index 25ec5f6acbb..25ec5f6acbb 100644
--- a/tests/codegen/macos/i686-no-macosx-deployment-target.rs
+++ b/tests/codegen-llvm/macos/i686-no-macosx-deployment-target.rs
diff --git a/tests/codegen/macos/x86_64-macosx-deployment-target.rs b/tests/codegen-llvm/macos/x86_64-macosx-deployment-target.rs
index 8ea95ba0575..8ea95ba0575 100644
--- a/tests/codegen/macos/x86_64-macosx-deployment-target.rs
+++ b/tests/codegen-llvm/macos/x86_64-macosx-deployment-target.rs
diff --git a/tests/codegen/macos/x86_64-no-macosx-deployment-target.rs b/tests/codegen-llvm/macos/x86_64-no-macosx-deployment-target.rs
index 474094957ae..474094957ae 100644
--- a/tests/codegen/macos/x86_64-no-macosx-deployment-target.rs
+++ b/tests/codegen-llvm/macos/x86_64-no-macosx-deployment-target.rs
diff --git a/tests/codegen/mainsubprogram.rs b/tests/codegen-llvm/mainsubprogram.rs
index ce3fe3c8608..ce3fe3c8608 100644
--- a/tests/codegen/mainsubprogram.rs
+++ b/tests/codegen-llvm/mainsubprogram.rs
diff --git a/tests/codegen/match-optimized.rs b/tests/codegen-llvm/match-optimized.rs
index 7b409e619a8..7b409e619a8 100644
--- a/tests/codegen/match-optimized.rs
+++ b/tests/codegen-llvm/match-optimized.rs
diff --git a/tests/codegen/match-optimizes-away.rs b/tests/codegen-llvm/match-optimizes-away.rs
index 5e9be72a09f..5e9be72a09f 100644
--- a/tests/codegen/match-optimizes-away.rs
+++ b/tests/codegen-llvm/match-optimizes-away.rs
diff --git a/tests/codegen/match-unoptimized.rs b/tests/codegen-llvm/match-unoptimized.rs
index 3dfe78c3e16..3dfe78c3e16 100644
--- a/tests/codegen/match-unoptimized.rs
+++ b/tests/codegen-llvm/match-unoptimized.rs
diff --git a/tests/codegen/maybeuninit-rvo.rs b/tests/codegen-llvm/maybeuninit-rvo.rs
index 097aa610f1b..097aa610f1b 100644
--- a/tests/codegen/maybeuninit-rvo.rs
+++ b/tests/codegen-llvm/maybeuninit-rvo.rs
diff --git a/tests/codegen/mem-replace-big-type.rs b/tests/codegen-llvm/mem-replace-big-type.rs
index 0b2229ba7d1..0b2229ba7d1 100644
--- a/tests/codegen/mem-replace-big-type.rs
+++ b/tests/codegen-llvm/mem-replace-big-type.rs
diff --git a/tests/codegen/mem-replace-simple-type.rs b/tests/codegen-llvm/mem-replace-simple-type.rs
index 9f3c6bacb71..9f3c6bacb71 100644
--- a/tests/codegen/mem-replace-simple-type.rs
+++ b/tests/codegen-llvm/mem-replace-simple-type.rs
diff --git a/tests/codegen/merge-functions.rs b/tests/codegen-llvm/merge-functions.rs
index b9d3727ce11..b9d3727ce11 100644
--- a/tests/codegen/merge-functions.rs
+++ b/tests/codegen-llvm/merge-functions.rs
diff --git a/tests/codegen/meta-filecheck/check-prefix.rs b/tests/codegen-llvm/meta-filecheck/check-prefix.rs
index 98bec68627e..98bec68627e 100644
--- a/tests/codegen/meta-filecheck/check-prefix.rs
+++ b/tests/codegen-llvm/meta-filecheck/check-prefix.rs
diff --git a/tests/codegen/meta-filecheck/filecheck-flags.rs b/tests/codegen-llvm/meta-filecheck/filecheck-flags.rs
index 8e451cf4fdc..8e451cf4fdc 100644
--- a/tests/codegen/meta-filecheck/filecheck-flags.rs
+++ b/tests/codegen-llvm/meta-filecheck/filecheck-flags.rs
diff --git a/tests/codegen/meta-filecheck/msvc-prefix-bad.rs b/tests/codegen-llvm/meta-filecheck/msvc-prefix-bad.rs
index f9984c74e2a..f9984c74e2a 100644
--- a/tests/codegen/meta-filecheck/msvc-prefix-bad.rs
+++ b/tests/codegen-llvm/meta-filecheck/msvc-prefix-bad.rs
diff --git a/tests/codegen/meta-filecheck/no-directives.rs b/tests/codegen-llvm/meta-filecheck/no-directives.rs
index 2cab263604e..2cab263604e 100644
--- a/tests/codegen/meta-filecheck/no-directives.rs
+++ b/tests/codegen-llvm/meta-filecheck/no-directives.rs
diff --git a/tests/codegen/meta-filecheck/revision-prefix.rs b/tests/codegen-llvm/meta-filecheck/revision-prefix.rs
index 431066e3acc..431066e3acc 100644
--- a/tests/codegen/meta-filecheck/revision-prefix.rs
+++ b/tests/codegen-llvm/meta-filecheck/revision-prefix.rs
diff --git a/tests/codegen/method-declaration.rs b/tests/codegen-llvm/method-declaration.rs
index de2f96a5151..de2f96a5151 100644
--- a/tests/codegen/method-declaration.rs
+++ b/tests/codegen-llvm/method-declaration.rs
diff --git a/tests/codegen/min-function-alignment.rs b/tests/codegen-llvm/min-function-alignment.rs
index 6a3843b0f4f..ea5f957e81f 100644
--- a/tests/codegen/min-function-alignment.rs
+++ b/tests/codegen-llvm/min-function-alignment.rs
@@ -5,6 +5,8 @@
 //@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
 
 #![crate_type = "lib"]
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
 
 // Functions without explicit alignment use the global minimum.
@@ -21,7 +23,7 @@ pub fn no_explicit_align() {}
 // align16: align 16
 // align1024: align 1024
 #[no_mangle]
-#[align(8)]
+#[rustc_align(8)]
 pub fn lower_align() {}
 
 // the higher value of min-function-alignment and the align attribute wins out
@@ -30,7 +32,7 @@ pub fn lower_align() {}
 // align16: align 32
 // align1024: align 1024
 #[no_mangle]
-#[align(32)]
+#[rustc_align(32)]
 pub fn higher_align() {}
 
 // cold functions follow the same rules as other functions
diff --git a/tests/codegen/mir-aggregate-no-alloca.rs b/tests/codegen-llvm/mir-aggregate-no-alloca.rs
index 77d367ed5da..77d367ed5da 100644
--- a/tests/codegen/mir-aggregate-no-alloca.rs
+++ b/tests/codegen-llvm/mir-aggregate-no-alloca.rs
diff --git a/tests/codegen/mir-inlined-line-numbers.rs b/tests/codegen-llvm/mir-inlined-line-numbers.rs
index cfe43a6cf89..cfe43a6cf89 100644
--- a/tests/codegen/mir-inlined-line-numbers.rs
+++ b/tests/codegen-llvm/mir-inlined-line-numbers.rs
diff --git a/tests/codegen/mir_zst_stores.rs b/tests/codegen-llvm/mir_zst_stores.rs
index ff1d429cffd..ff1d429cffd 100644
--- a/tests/codegen/mir_zst_stores.rs
+++ b/tests/codegen-llvm/mir_zst_stores.rs
diff --git a/tests/codegen/move-before-nocapture-ref-arg.rs b/tests/codegen-llvm/move-before-nocapture-ref-arg.rs
index 2ebd645e1c3..2ebd645e1c3 100644
--- a/tests/codegen/move-before-nocapture-ref-arg.rs
+++ b/tests/codegen-llvm/move-before-nocapture-ref-arg.rs
diff --git a/tests/codegen/move-operands.rs b/tests/codegen-llvm/move-operands.rs
index ddad231b762..ddad231b762 100644
--- a/tests/codegen/move-operands.rs
+++ b/tests/codegen-llvm/move-operands.rs
diff --git a/tests/codegen/naked-asan.rs b/tests/codegen-llvm/naked-asan.rs
index 46218cf79d6..46218cf79d6 100644
--- a/tests/codegen/naked-asan.rs
+++ b/tests/codegen-llvm/naked-asan.rs
diff --git a/tests/codegen/naked-fn/aligned.rs b/tests/codegen-llvm/naked-fn/aligned.rs
index 2648b0213ca..d7281c4219a 100644
--- a/tests/codegen/naked-fn/aligned.rs
+++ b/tests/codegen-llvm/naked-fn/aligned.rs
@@ -4,12 +4,15 @@
 //@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
 
 #![crate_type = "lib"]
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
+
 use std::arch::naked_asm;
 
 // CHECK: .balign 16
 // CHECK-LABEL: naked_empty:
-#[align(16)]
+#[rustc_align(16)]
 #[no_mangle]
 #[unsafe(naked)]
 pub extern "C" fn naked_empty() {
diff --git a/tests/codegen/naked-fn/generics.rs b/tests/codegen-llvm/naked-fn/generics.rs
index 865be00d91e..865be00d91e 100644
--- a/tests/codegen/naked-fn/generics.rs
+++ b/tests/codegen-llvm/naked-fn/generics.rs
diff --git a/tests/codegen/naked-fn/instruction-set.rs b/tests/codegen-llvm/naked-fn/instruction-set.rs
index 67560c5aba7..67560c5aba7 100644
--- a/tests/codegen/naked-fn/instruction-set.rs
+++ b/tests/codegen-llvm/naked-fn/instruction-set.rs
diff --git a/tests/codegen/naked-fn/min-function-alignment.rs b/tests/codegen-llvm/naked-fn/min-function-alignment.rs
index 4ebaacd3eff..406e9334fa5 100644
--- a/tests/codegen/naked-fn/min-function-alignment.rs
+++ b/tests/codegen-llvm/naked-fn/min-function-alignment.rs
@@ -3,6 +3,8 @@
 //@ ignore-arm no "ret" mnemonic
 //@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
 
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
 #![crate_type = "lib"]
 
@@ -17,7 +19,7 @@ pub extern "C" fn naked_no_explicit_align() {
 
 // CHECK: .balign 16
 #[no_mangle]
-#[align(8)]
+#[rustc_align(8)]
 #[unsafe(naked)]
 pub extern "C" fn naked_lower_align() {
     core::arch::naked_asm!("ret")
@@ -25,7 +27,7 @@ pub extern "C" fn naked_lower_align() {
 
 // CHECK: .balign 32
 #[no_mangle]
-#[align(32)]
+#[rustc_align(32)]
 #[unsafe(naked)]
 pub extern "C" fn naked_higher_align() {
     core::arch::naked_asm!("ret")
diff --git a/tests/codegen/naked-fn/naked-functions.rs b/tests/codegen-llvm/naked-fn/naked-functions.rs
index 344af6eb42f..344af6eb42f 100644
--- a/tests/codegen/naked-fn/naked-functions.rs
+++ b/tests/codegen-llvm/naked-fn/naked-functions.rs
diff --git a/tests/codegen/no-alloca-inside-if-false.rs b/tests/codegen-llvm/no-alloca-inside-if-false.rs
index a231c7e808a..a231c7e808a 100644
--- a/tests/codegen/no-alloca-inside-if-false.rs
+++ b/tests/codegen-llvm/no-alloca-inside-if-false.rs
diff --git a/tests/codegen/no-assumes-on-casts.rs b/tests/codegen-llvm/no-assumes-on-casts.rs
index 9c00dc2c015..9c00dc2c015 100644
--- a/tests/codegen/no-assumes-on-casts.rs
+++ b/tests/codegen-llvm/no-assumes-on-casts.rs
diff --git a/tests/codegen/no-dllimport-w-cross-lang-lto.rs b/tests/codegen-llvm/no-dllimport-w-cross-lang-lto.rs
index c71eddfa287..c71eddfa287 100644
--- a/tests/codegen/no-dllimport-w-cross-lang-lto.rs
+++ b/tests/codegen-llvm/no-dllimport-w-cross-lang-lto.rs
diff --git a/tests/codegen/no-jump-tables.rs b/tests/codegen-llvm/no-jump-tables.rs
index e49de7e9dc1..e49de7e9dc1 100644
--- a/tests/codegen/no-jump-tables.rs
+++ b/tests/codegen-llvm/no-jump-tables.rs
diff --git a/tests/codegen/no-plt.rs b/tests/codegen-llvm/no-plt.rs
index 3a3546ff7c4..3a3546ff7c4 100644
--- a/tests/codegen/no-plt.rs
+++ b/tests/codegen-llvm/no-plt.rs
diff --git a/tests/codegen/no-redundant-item-monomorphization.rs b/tests/codegen-llvm/no-redundant-item-monomorphization.rs
index 466037c3770..466037c3770 100644
--- a/tests/codegen/no-redundant-item-monomorphization.rs
+++ b/tests/codegen-llvm/no-redundant-item-monomorphization.rs
diff --git a/tests/codegen/no_builtins-at-crate.rs b/tests/codegen-llvm/no_builtins-at-crate.rs
index ba1d31f60c3..ba1d31f60c3 100644
--- a/tests/codegen/no_builtins-at-crate.rs
+++ b/tests/codegen-llvm/no_builtins-at-crate.rs
diff --git a/tests/codegen/noalias-box-off.rs b/tests/codegen-llvm/noalias-box-off.rs
index 664c7950280..664c7950280 100644
--- a/tests/codegen/noalias-box-off.rs
+++ b/tests/codegen-llvm/noalias-box-off.rs
diff --git a/tests/codegen/noalias-box.rs b/tests/codegen-llvm/noalias-box.rs
index cccde775977..cccde775977 100644
--- a/tests/codegen/noalias-box.rs
+++ b/tests/codegen-llvm/noalias-box.rs
diff --git a/tests/codegen/noalias-flag.rs b/tests/codegen-llvm/noalias-flag.rs
index 67ba68ee6f8..67ba68ee6f8 100644
--- a/tests/codegen/noalias-flag.rs
+++ b/tests/codegen-llvm/noalias-flag.rs
diff --git a/tests/codegen/noalias-freeze.rs b/tests/codegen-llvm/noalias-freeze.rs
index 32c84014026..32c84014026 100644
--- a/tests/codegen/noalias-freeze.rs
+++ b/tests/codegen-llvm/noalias-freeze.rs
diff --git a/tests/codegen/noalias-refcell.rs b/tests/codegen-llvm/noalias-refcell.rs
index b37adf92b9c..b37adf92b9c 100644
--- a/tests/codegen/noalias-refcell.rs
+++ b/tests/codegen-llvm/noalias-refcell.rs
diff --git a/tests/codegen/noalias-rwlockreadguard.rs b/tests/codegen-llvm/noalias-rwlockreadguard.rs
index c676dc32399..c676dc32399 100644
--- a/tests/codegen/noalias-rwlockreadguard.rs
+++ b/tests/codegen-llvm/noalias-rwlockreadguard.rs
diff --git a/tests/codegen/noalias-unpin.rs b/tests/codegen-llvm/noalias-unpin.rs
index 30a8b399b97..30a8b399b97 100644
--- a/tests/codegen/noalias-unpin.rs
+++ b/tests/codegen-llvm/noalias-unpin.rs
diff --git a/tests/codegen/non-terminate/infinite-loop-1.rs b/tests/codegen-llvm/non-terminate/infinite-loop-1.rs
index 9eab4939aee..9eab4939aee 100644
--- a/tests/codegen/non-terminate/infinite-loop-1.rs
+++ b/tests/codegen-llvm/non-terminate/infinite-loop-1.rs
diff --git a/tests/codegen/non-terminate/infinite-loop-2.rs b/tests/codegen-llvm/non-terminate/infinite-loop-2.rs
index da29361cc96..da29361cc96 100644
--- a/tests/codegen/non-terminate/infinite-loop-2.rs
+++ b/tests/codegen-llvm/non-terminate/infinite-loop-2.rs
diff --git a/tests/codegen/non-terminate/infinite-recursion.rs b/tests/codegen-llvm/non-terminate/infinite-recursion.rs
index 19123639896..19123639896 100644
--- a/tests/codegen/non-terminate/infinite-recursion.rs
+++ b/tests/codegen-llvm/non-terminate/infinite-recursion.rs
diff --git a/tests/codegen/non-terminate/nonempty-infinite-loop.rs b/tests/codegen-llvm/non-terminate/nonempty-infinite-loop.rs
index 0db4ee61b1b..0db4ee61b1b 100644
--- a/tests/codegen/non-terminate/nonempty-infinite-loop.rs
+++ b/tests/codegen-llvm/non-terminate/nonempty-infinite-loop.rs
diff --git a/tests/codegen/noreturn-uninhabited.rs b/tests/codegen-llvm/noreturn-uninhabited.rs
index a10795d3f3c..a10795d3f3c 100644
--- a/tests/codegen/noreturn-uninhabited.rs
+++ b/tests/codegen-llvm/noreturn-uninhabited.rs
diff --git a/tests/codegen/noreturnflag.rs b/tests/codegen-llvm/noreturnflag.rs
index d9bb30b2703..d9bb30b2703 100644
--- a/tests/codegen/noreturnflag.rs
+++ b/tests/codegen-llvm/noreturnflag.rs
diff --git a/tests/codegen/nounwind.rs b/tests/codegen-llvm/nounwind.rs
index c910644458a..c910644458a 100644
--- a/tests/codegen/nounwind.rs
+++ b/tests/codegen-llvm/nounwind.rs
diff --git a/tests/codegen/nrvo.rs b/tests/codegen-llvm/nrvo.rs
index 7972186bfe5..7972186bfe5 100644
--- a/tests/codegen/nrvo.rs
+++ b/tests/codegen-llvm/nrvo.rs
diff --git a/tests/codegen/optimize-attr-1.rs b/tests/codegen-llvm/optimize-attr-1.rs
index db6bdcf9a8b..db6bdcf9a8b 100644
--- a/tests/codegen/optimize-attr-1.rs
+++ b/tests/codegen-llvm/optimize-attr-1.rs
diff --git a/tests/codegen/option-as-slice.rs b/tests/codegen-llvm/option-as-slice.rs
index 39b34a2035b..39b34a2035b 100644
--- a/tests/codegen/option-as-slice.rs
+++ b/tests/codegen-llvm/option-as-slice.rs
diff --git a/tests/codegen/option-niche-eq.rs b/tests/codegen-llvm/option-niche-eq.rs
index 3900cb79aa2..3900cb79aa2 100644
--- a/tests/codegen/option-niche-eq.rs
+++ b/tests/codegen-llvm/option-niche-eq.rs
diff --git a/tests/codegen/option-niche-unfixed/option-nonzero-eq.rs b/tests/codegen-llvm/option-niche-unfixed/option-nonzero-eq.rs
index 308856cfb7e..308856cfb7e 100644
--- a/tests/codegen/option-niche-unfixed/option-nonzero-eq.rs
+++ b/tests/codegen-llvm/option-niche-unfixed/option-nonzero-eq.rs
diff --git a/tests/codegen/overaligned-constant.rs b/tests/codegen-llvm/overaligned-constant.rs
index 0f5977880f2..0f5977880f2 100644
--- a/tests/codegen/overaligned-constant.rs
+++ b/tests/codegen-llvm/overaligned-constant.rs
diff --git a/tests/codegen/packed.rs b/tests/codegen-llvm/packed.rs
index 6f62719282e..6f62719282e 100644
--- a/tests/codegen/packed.rs
+++ b/tests/codegen-llvm/packed.rs
diff --git a/tests/codegen/panic-abort-windows.rs b/tests/codegen-llvm/panic-abort-windows.rs
index 17fdd9cc726..17fdd9cc726 100644
--- a/tests/codegen/panic-abort-windows.rs
+++ b/tests/codegen-llvm/panic-abort-windows.rs
diff --git a/tests/codegen/panic-in-drop-abort.rs b/tests/codegen-llvm/panic-in-drop-abort.rs
index e89170e56ed..e89170e56ed 100644
--- a/tests/codegen/panic-in-drop-abort.rs
+++ b/tests/codegen-llvm/panic-in-drop-abort.rs
diff --git a/tests/codegen/panic-unwind-default-uwtable.rs b/tests/codegen-llvm/panic-unwind-default-uwtable.rs
index 06f616c519b..06f616c519b 100644
--- a/tests/codegen/panic-unwind-default-uwtable.rs
+++ b/tests/codegen-llvm/panic-unwind-default-uwtable.rs
diff --git a/tests/codegen/patchable-function-entry/patchable-function-entry-both-flags.rs b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-both-flags.rs
index 72204c78a49..72204c78a49 100644
--- a/tests/codegen/patchable-function-entry/patchable-function-entry-both-flags.rs
+++ b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-both-flags.rs
diff --git a/tests/codegen/patchable-function-entry/patchable-function-entry-no-flag.rs b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-no-flag.rs
index 3a7078fe551..3a7078fe551 100644
--- a/tests/codegen/patchable-function-entry/patchable-function-entry-no-flag.rs
+++ b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-no-flag.rs
diff --git a/tests/codegen/patchable-function-entry/patchable-function-entry-one-flag.rs b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-one-flag.rs
index 8bdd61e461b..8bdd61e461b 100644
--- a/tests/codegen/patchable-function-entry/patchable-function-entry-one-flag.rs
+++ b/tests/codegen-llvm/patchable-function-entry/patchable-function-entry-one-flag.rs
diff --git a/tests/codegen/pattern_type_symbols.rs b/tests/codegen-llvm/pattern_type_symbols.rs
index e86a9ef27de..e86a9ef27de 100644
--- a/tests/codegen/pattern_type_symbols.rs
+++ b/tests/codegen-llvm/pattern_type_symbols.rs
diff --git a/tests/codegen/personality_lifetimes.rs b/tests/codegen-llvm/personality_lifetimes.rs
index cd81db63953..cd81db63953 100644
--- a/tests/codegen/personality_lifetimes.rs
+++ b/tests/codegen-llvm/personality_lifetimes.rs
diff --git a/tests/codegen/pgo-counter-bias.rs b/tests/codegen-llvm/pgo-counter-bias.rs
index 48e815dda04..48e815dda04 100644
--- a/tests/codegen/pgo-counter-bias.rs
+++ b/tests/codegen-llvm/pgo-counter-bias.rs
diff --git a/tests/codegen/pgo-instrumentation.rs b/tests/codegen-llvm/pgo-instrumentation.rs
index a8f12ccce1c..a8f12ccce1c 100644
--- a/tests/codegen/pgo-instrumentation.rs
+++ b/tests/codegen-llvm/pgo-instrumentation.rs
diff --git a/tests/codegen/pic-relocation-model.rs b/tests/codegen-llvm/pic-relocation-model.rs
index a1d1678a6bd..a1d1678a6bd 100644
--- a/tests/codegen/pic-relocation-model.rs
+++ b/tests/codegen-llvm/pic-relocation-model.rs
diff --git a/tests/codegen/pie-relocation-model.rs b/tests/codegen-llvm/pie-relocation-model.rs
index cb8de91ccd7..cb8de91ccd7 100644
--- a/tests/codegen/pie-relocation-model.rs
+++ b/tests/codegen-llvm/pie-relocation-model.rs
diff --git a/tests/codegen/placement-new.rs b/tests/codegen-llvm/placement-new.rs
index 7f7f0033bec..7f7f0033bec 100644
--- a/tests/codegen/placement-new.rs
+++ b/tests/codegen-llvm/placement-new.rs
diff --git a/tests/codegen/powerpc64le-struct-align-128.rs b/tests/codegen-llvm/powerpc64le-struct-align-128.rs
index c1c1ac26485..c1c1ac26485 100644
--- a/tests/codegen/powerpc64le-struct-align-128.rs
+++ b/tests/codegen-llvm/powerpc64le-struct-align-128.rs
diff --git a/tests/codegen/precondition-checks.rs b/tests/codegen-llvm/precondition-checks.rs
index 16812ca1720..16812ca1720 100644
--- a/tests/codegen/precondition-checks.rs
+++ b/tests/codegen-llvm/precondition-checks.rs
diff --git a/tests/codegen/ptr-arithmetic.rs b/tests/codegen-llvm/ptr-arithmetic.rs
index fc4441ef448..fc4441ef448 100644
--- a/tests/codegen/ptr-arithmetic.rs
+++ b/tests/codegen-llvm/ptr-arithmetic.rs
diff --git a/tests/codegen/ptr-read-metadata.rs b/tests/codegen-llvm/ptr-read-metadata.rs
index b38cfdbff88..b38cfdbff88 100644
--- a/tests/codegen/ptr-read-metadata.rs
+++ b/tests/codegen-llvm/ptr-read-metadata.rs
diff --git a/tests/codegen/range-attribute.rs b/tests/codegen-llvm/range-attribute.rs
index b81ff9ab3e2..b81ff9ab3e2 100644
--- a/tests/codegen/range-attribute.rs
+++ b/tests/codegen-llvm/range-attribute.rs
diff --git a/tests/codegen/range-loop.rs b/tests/codegen-llvm/range-loop.rs
index b131beb40dd..b131beb40dd 100644
--- a/tests/codegen/range-loop.rs
+++ b/tests/codegen-llvm/range-loop.rs
diff --git a/tests/codegen/range_to_inclusive.rs b/tests/codegen-llvm/range_to_inclusive.rs
index 6d939f40f55..6d939f40f55 100644
--- a/tests/codegen/range_to_inclusive.rs
+++ b/tests/codegen-llvm/range_to_inclusive.rs
diff --git a/tests/codegen/refs.rs b/tests/codegen-llvm/refs.rs
index 97c36295085..97c36295085 100644
--- a/tests/codegen/refs.rs
+++ b/tests/codegen-llvm/refs.rs
diff --git a/tests/codegen/reg-struct-return.rs b/tests/codegen-llvm/reg-struct-return.rs
index dfc9f8c519c..dfc9f8c519c 100644
--- a/tests/codegen/reg-struct-return.rs
+++ b/tests/codegen-llvm/reg-struct-return.rs
diff --git a/tests/codegen/regparm-inreg.rs b/tests/codegen-llvm/regparm-inreg.rs
index 15702804dfd..15702804dfd 100644
--- a/tests/codegen/regparm-inreg.rs
+++ b/tests/codegen-llvm/regparm-inreg.rs
diff --git a/tests/codegen/remap_path_prefix/aux_mod.rs b/tests/codegen-llvm/remap_path_prefix/aux_mod.rs
index 3217e9e51e7..3217e9e51e7 100644
--- a/tests/codegen/remap_path_prefix/aux_mod.rs
+++ b/tests/codegen-llvm/remap_path_prefix/aux_mod.rs
diff --git a/tests/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs b/tests/codegen-llvm/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
index 7afc16ec72f..7afc16ec72f 100644
--- a/tests/codegen/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
+++ b/tests/codegen-llvm/remap_path_prefix/auxiliary/remap_path_prefix_aux.rs
diff --git a/tests/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs b/tests/codegen-llvm/remap_path_prefix/auxiliary/xcrate-generic.rs
index 9d5cdfe063b..9d5cdfe063b 100644
--- a/tests/codegen/remap_path_prefix/auxiliary/xcrate-generic.rs
+++ b/tests/codegen-llvm/remap_path_prefix/auxiliary/xcrate-generic.rs
diff --git a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs b/tests/codegen-llvm/remap_path_prefix/issue-73167-remap-std.rs
index eb610168dd3..eb610168dd3 100644
--- a/tests/codegen/remap_path_prefix/issue-73167-remap-std.rs
+++ b/tests/codegen-llvm/remap_path_prefix/issue-73167-remap-std.rs
diff --git a/tests/codegen/remap_path_prefix/main.rs b/tests/codegen-llvm/remap_path_prefix/main.rs
index 7d17b3b67cf..7d17b3b67cf 100644
--- a/tests/codegen/remap_path_prefix/main.rs
+++ b/tests/codegen-llvm/remap_path_prefix/main.rs
diff --git a/tests/codegen/remap_path_prefix/xcrate-generic.rs b/tests/codegen-llvm/remap_path_prefix/xcrate-generic.rs
index db69b72d904..db69b72d904 100644
--- a/tests/codegen/remap_path_prefix/xcrate-generic.rs
+++ b/tests/codegen-llvm/remap_path_prefix/xcrate-generic.rs
diff --git a/tests/codegen-llvm/repeat-operand-zero-len.rs b/tests/codegen-llvm/repeat-operand-zero-len.rs
new file mode 100644
index 00000000000..b4cec42a07c
--- /dev/null
+++ b/tests/codegen-llvm/repeat-operand-zero-len.rs
@@ -0,0 +1,28 @@
+//@ compile-flags: -Copt-level=1 -Cno-prepopulate-passes
+
+// This test is here to hit the `Rvalue::Repeat` case in `codegen_rvalue_operand`.
+// It only applies when the resulting array is a ZST, so the test is written in
+// such a way as to keep MIR optimizations from seeing that fact and removing
+// the local and statement altogether. (At the time of writing, no other codegen
+// test hit that code path, nor did a stage 2 build of the compiler.)
+
+#![crate_type = "lib"]
+
+#[repr(transparent)]
+pub struct Wrapper<T, const N: usize>([T; N]);
+
+// CHECK-LABEL: define {{.+}}do_repeat{{.+}}(i32 noundef %x)
+// CHECK-NEXT: start:
+// CHECK-NOT: alloca
+// CHECK-NEXT: ret void
+#[inline(never)]
+pub fn do_repeat<T: Copy, const N: usize>(x: T) -> Wrapper<T, N> {
+    Wrapper([x; N])
+}
+
+// CHECK-LABEL: @trigger_repeat_zero_len
+#[no_mangle]
+pub fn trigger_repeat_zero_len() -> Wrapper<u32, 0> {
+    // CHECK: call void {{.+}}do_repeat{{.+}}(i32 noundef 4)
+    do_repeat(4)
+}
diff --git a/tests/codegen-llvm/repeat-operand-zst-elem.rs b/tests/codegen-llvm/repeat-operand-zst-elem.rs
new file mode 100644
index 00000000000..c3637759afa
--- /dev/null
+++ b/tests/codegen-llvm/repeat-operand-zst-elem.rs
@@ -0,0 +1,28 @@
+//@ compile-flags: -Copt-level=1 -Cno-prepopulate-passes
+
+// This test is here to hit the `Rvalue::Repeat` case in `codegen_rvalue_operand`.
+// It only applies when the resulting array is a ZST, so the test is written in
+// such a way as to keep MIR optimizations from seeing that fact and removing
+// the local and statement altogether. (At the time of writing, no other codegen
+// test hit that code path, nor did a stage 2 build of the compiler.)
+
+#![crate_type = "lib"]
+
+#[repr(transparent)]
+pub struct Wrapper<T, const N: usize>([T; N]);
+
+// CHECK-LABEL: define {{.+}}do_repeat{{.+}}()
+// CHECK-NEXT: start:
+// CHECK-NOT: alloca
+// CHECK-NEXT: ret void
+#[inline(never)]
+pub fn do_repeat<T: Copy, const N: usize>(x: T) -> Wrapper<T, N> {
+    Wrapper([x; N])
+}
+
+// CHECK-LABEL: @trigger_repeat_zst_elem
+#[no_mangle]
+pub fn trigger_repeat_zst_elem() -> Wrapper<(), 8> {
+    // CHECK: call void {{.+}}do_repeat{{.+}}()
+    do_repeat(())
+}
diff --git a/tests/codegen/repeat-trusted-len.rs b/tests/codegen-llvm/repeat-trusted-len.rs
index 95379535971..95379535971 100644
--- a/tests/codegen/repeat-trusted-len.rs
+++ b/tests/codegen-llvm/repeat-trusted-len.rs
diff --git a/tests/codegen/repr/transparent-byval-struct-ptr.rs b/tests/codegen-llvm/repr/transparent-byval-struct-ptr.rs
index 0918884144f..0918884144f 100644
--- a/tests/codegen/repr/transparent-byval-struct-ptr.rs
+++ b/tests/codegen-llvm/repr/transparent-byval-struct-ptr.rs
diff --git a/tests/codegen/repr/transparent-imm-array.rs b/tests/codegen-llvm/repr/transparent-imm-array.rs
index 6dad0447784..6dad0447784 100644
--- a/tests/codegen/repr/transparent-imm-array.rs
+++ b/tests/codegen-llvm/repr/transparent-imm-array.rs
diff --git a/tests/codegen/repr/transparent-mips64.rs b/tests/codegen-llvm/repr/transparent-mips64.rs
index 98901350154..98901350154 100644
--- a/tests/codegen/repr/transparent-mips64.rs
+++ b/tests/codegen-llvm/repr/transparent-mips64.rs
diff --git a/tests/codegen/repr/transparent-opaque-ptr.rs b/tests/codegen-llvm/repr/transparent-opaque-ptr.rs
index 7911370c478..7911370c478 100644
--- a/tests/codegen/repr/transparent-opaque-ptr.rs
+++ b/tests/codegen-llvm/repr/transparent-opaque-ptr.rs
diff --git a/tests/codegen/repr/transparent-sparc64.rs b/tests/codegen-llvm/repr/transparent-sparc64.rs
index 62bfc8a5fce..62bfc8a5fce 100644
--- a/tests/codegen/repr/transparent-sparc64.rs
+++ b/tests/codegen-llvm/repr/transparent-sparc64.rs
diff --git a/tests/codegen/repr/transparent-sysv64.rs b/tests/codegen-llvm/repr/transparent-sysv64.rs
index 3efc3f7c391..3efc3f7c391 100644
--- a/tests/codegen/repr/transparent-sysv64.rs
+++ b/tests/codegen-llvm/repr/transparent-sysv64.rs
diff --git a/tests/codegen/repr/transparent.rs b/tests/codegen-llvm/repr/transparent.rs
index 29b627462a4..29b627462a4 100644
--- a/tests/codegen/repr/transparent.rs
+++ b/tests/codegen-llvm/repr/transparent.rs
diff --git a/tests/codegen/retpoline.rs b/tests/codegen-llvm/retpoline.rs
index 915c2c3d797..915c2c3d797 100644
--- a/tests/codegen/retpoline.rs
+++ b/tests/codegen-llvm/retpoline.rs
diff --git a/tests/codegen/riscv-abi/call-llvm-intrinsics.rs b/tests/codegen-llvm/riscv-abi/call-llvm-intrinsics.rs
index e72a649a530..e72a649a530 100644
--- a/tests/codegen/riscv-abi/call-llvm-intrinsics.rs
+++ b/tests/codegen-llvm/riscv-abi/call-llvm-intrinsics.rs
diff --git a/tests/codegen/riscv-abi/cast-local-large-enough.rs b/tests/codegen-llvm/riscv-abi/cast-local-large-enough.rs
index 9d21d73b459..9d21d73b459 100644
--- a/tests/codegen/riscv-abi/cast-local-large-enough.rs
+++ b/tests/codegen-llvm/riscv-abi/cast-local-large-enough.rs
diff --git a/tests/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs b/tests/codegen-llvm/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
index df99f6969fc..df99f6969fc 100644
--- a/tests/codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
+++ b/tests/codegen-llvm/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs
diff --git a/tests/codegen/riscv-abi/riscv64-lp64d-abi.rs b/tests/codegen-llvm/riscv-abi/riscv64-lp64d-abi.rs
index d768ab9381a..d768ab9381a 100644
--- a/tests/codegen/riscv-abi/riscv64-lp64d-abi.rs
+++ b/tests/codegen-llvm/riscv-abi/riscv64-lp64d-abi.rs
diff --git a/tests/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs b/tests/codegen-llvm/riscv-abi/riscv64-lp64f-lp64d-abi.rs
index 361f0322690..361f0322690 100644
--- a/tests/codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs
+++ b/tests/codegen-llvm/riscv-abi/riscv64-lp64f-lp64d-abi.rs
diff --git a/tests/codegen/riscv-target-abi.rs b/tests/codegen-llvm/riscv-target-abi.rs
index d41fcb4dd84..d41fcb4dd84 100644
--- a/tests/codegen/riscv-target-abi.rs
+++ b/tests/codegen-llvm/riscv-target-abi.rs
diff --git a/tests/codegen/rust-abi-arch-specific-adjustment.rs b/tests/codegen-llvm/rust-abi-arch-specific-adjustment.rs
index 561f081c700..561f081c700 100644
--- a/tests/codegen/rust-abi-arch-specific-adjustment.rs
+++ b/tests/codegen-llvm/rust-abi-arch-specific-adjustment.rs
diff --git a/tests/codegen/s390x-simd.rs b/tests/codegen-llvm/s390x-simd.rs
index ac39357519e..ac39357519e 100644
--- a/tests/codegen/s390x-simd.rs
+++ b/tests/codegen-llvm/s390x-simd.rs
diff --git a/tests/codegen/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs b/tests/codegen-llvm/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs
index e1d7dc2d631..e1d7dc2d631 100644
--- a/tests/codegen/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs
+++ b/tests/codegen-llvm/sanitizer/aarch64-shadow-call-stack-with-fixed-x18.rs
diff --git a/tests/codegen/sanitizer/address-sanitizer-globals-tracking.rs b/tests/codegen-llvm/sanitizer/address-sanitizer-globals-tracking.rs
index f319306f93f..f319306f93f 100644
--- a/tests/codegen/sanitizer/address-sanitizer-globals-tracking.rs
+++ b/tests/codegen-llvm/sanitizer/address-sanitizer-globals-tracking.rs
diff --git a/tests/codegen/sanitizer/cfi/add-canonical-jump-tables-flag.rs b/tests/codegen-llvm/sanitizer/cfi/add-canonical-jump-tables-flag.rs
index 22577e2a3c4..22577e2a3c4 100644
--- a/tests/codegen/sanitizer/cfi/add-canonical-jump-tables-flag.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/add-canonical-jump-tables-flag.rs
diff --git a/tests/codegen/sanitizer/cfi/add-cfi-normalize-integers-flag.rs b/tests/codegen-llvm/sanitizer/cfi/add-cfi-normalize-integers-flag.rs
index a54a6d84a80..a54a6d84a80 100644
--- a/tests/codegen/sanitizer/cfi/add-cfi-normalize-integers-flag.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/add-cfi-normalize-integers-flag.rs
diff --git a/tests/codegen/sanitizer/cfi/add-enable-split-lto-unit-flag.rs b/tests/codegen-llvm/sanitizer/cfi/add-enable-split-lto-unit-flag.rs
index 283b8f26102..283b8f26102 100644
--- a/tests/codegen/sanitizer/cfi/add-enable-split-lto-unit-flag.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/add-enable-split-lto-unit-flag.rs
diff --git a/tests/codegen/sanitizer/cfi/dbg-location-on-cfi-blocks.rs b/tests/codegen-llvm/sanitizer/cfi/dbg-location-on-cfi-blocks.rs
index df65960dfe0..df65960dfe0 100644
--- a/tests/codegen/sanitizer/cfi/dbg-location-on-cfi-blocks.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/dbg-location-on-cfi-blocks.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs
index 71ccdc8ca62..71ccdc8ca62 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-checks-attr-no-sanitize.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-checks.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-checks.rs
index ebc66a015df..ebc66a015df 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-checks.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-checks.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs
index 9bc2e42db0f..9bc2e42db0f 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-attr-cfi-encoding.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs
index 9048c6a1f18..9048c6a1f18 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-const-generics.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs
index 8fec275fd06..8fec275fd06 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-drop-in-place.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs
index 7e60aafff68..7e60aafff68 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-function-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs
index 36d2e8c9f25..36d2e8c9f25 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-lifetimes.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs
index 9d611777ff0..9d611777ff0 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-method-secondary-typeid.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs
index a8ba8db1be3..a8ba8db1be3 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-paths.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs
index d37bb740f55..d37bb740f55 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-pointer-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs
index 7d9e4d05872..7d9e4d05872 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-primitive-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs
index 0f97c70f3f9..0f97c70f3f9 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-repr-transparent-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs
index bdee3f47a83..bdee3f47a83 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-sequence-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs
index 55e816178f8..55e816178f8 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-trait-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs
index c1f3ca61afe..c1f3ca61afe 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-id-itanium-cxx-abi-user-defined-types.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs
index 32637b64b3e..32637b64b3e 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-generalized.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs
index 51121b0aef1..51121b0aef1 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized-generalized.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs
index 1cfdd23006e..1cfdd23006e 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi-normalized.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs
index 56ab1ce4b35..56ab1ce4b35 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-itanium-cxx-abi.rs
diff --git a/tests/codegen/sanitizer/cfi/emit-type-metadata-trait-objects.rs b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-trait-objects.rs
index 0e57ce322d1..0e57ce322d1 100644
--- a/tests/codegen/sanitizer/cfi/emit-type-metadata-trait-objects.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/emit-type-metadata-trait-objects.rs
diff --git a/tests/codegen/sanitizer/cfi/external_weak_symbols.rs b/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs
index 00e9b5029af..00e9b5029af 100644
--- a/tests/codegen/sanitizer/cfi/external_weak_symbols.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/external_weak_symbols.rs
diff --git a/tests/codegen/sanitizer/cfi/generalize-pointers.rs b/tests/codegen-llvm/sanitizer/cfi/generalize-pointers.rs
index 57004da6f8e..57004da6f8e 100644
--- a/tests/codegen/sanitizer/cfi/generalize-pointers.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/generalize-pointers.rs
diff --git a/tests/codegen/sanitizer/cfi/normalize-integers.rs b/tests/codegen-llvm/sanitizer/cfi/normalize-integers.rs
index 770ee4e64e0..770ee4e64e0 100644
--- a/tests/codegen/sanitizer/cfi/normalize-integers.rs
+++ b/tests/codegen-llvm/sanitizer/cfi/normalize-integers.rs
diff --git a/tests/codegen/sanitizer/dataflow-instrument-functions.rs b/tests/codegen-llvm/sanitizer/dataflow-instrument-functions.rs
index a2d0d63cc17..a2d0d63cc17 100644
--- a/tests/codegen/sanitizer/dataflow-instrument-functions.rs
+++ b/tests/codegen-llvm/sanitizer/dataflow-instrument-functions.rs
diff --git a/tests/codegen/sanitizer/kasan-emits-instrumentation.rs b/tests/codegen-llvm/sanitizer/kasan-emits-instrumentation.rs
index 774c9ab53f1..774c9ab53f1 100644
--- a/tests/codegen/sanitizer/kasan-emits-instrumentation.rs
+++ b/tests/codegen-llvm/sanitizer/kasan-emits-instrumentation.rs
diff --git a/tests/codegen/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs b/tests/codegen-llvm/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs
index 0be1ff19774..0be1ff19774 100644
--- a/tests/codegen/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/add-cfi-normalize-integers-flag.rs
diff --git a/tests/codegen/sanitizer/kcfi/add-kcfi-arity-flag.rs b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-arity-flag.rs
index 9a2290901d6..9a2290901d6 100644
--- a/tests/codegen/sanitizer/kcfi/add-kcfi-arity-flag.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-arity-flag.rs
diff --git a/tests/codegen/sanitizer/kcfi/add-kcfi-flag.rs b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-flag.rs
index eabe0409c9a..eabe0409c9a 100644
--- a/tests/codegen/sanitizer/kcfi/add-kcfi-flag.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-flag.rs
diff --git a/tests/codegen/sanitizer/kcfi/add-kcfi-offset-flag.rs b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-offset-flag.rs
index 2f18c9d84b9..2f18c9d84b9 100644
--- a/tests/codegen/sanitizer/kcfi/add-kcfi-offset-flag.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/add-kcfi-offset-flag.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs
index 6b40918dd3a..6b40918dd3a 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-attr-no-sanitize.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs
index 942b50deb02..942b50deb02 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-generalized.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs
index c89d9bdd121..c89d9bdd121 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized-generalized.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs
index 220cae1a4fa..220cae1a4fa 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi-normalized.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs
index bb9a0005903..bb9a0005903 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle-itanium-cxx-abi.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle.rs
index 8b844b99142..8b844b99142 100644
--- a/tests/codegen/sanitizer/kcfi/emit-kcfi-operand-bundle.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-kcfi-operand-bundle.rs
diff --git a/tests/codegen/sanitizer/kcfi/emit-type-metadata-trait-objects.rs b/tests/codegen-llvm/sanitizer/kcfi/emit-type-metadata-trait-objects.rs
index 15c107bea15..15c107bea15 100644
--- a/tests/codegen/sanitizer/kcfi/emit-type-metadata-trait-objects.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/emit-type-metadata-trait-objects.rs
diff --git a/tests/codegen/sanitizer/kcfi/naked-function.rs b/tests/codegen-llvm/sanitizer/kcfi/naked-function.rs
index 2c8cdc919b8..2c8cdc919b8 100644
--- a/tests/codegen/sanitizer/kcfi/naked-function.rs
+++ b/tests/codegen-llvm/sanitizer/kcfi/naked-function.rs
diff --git a/tests/codegen/sanitizer/memory-track-origins.rs b/tests/codegen-llvm/sanitizer/memory-track-origins.rs
index 318c277e10c..318c277e10c 100644
--- a/tests/codegen/sanitizer/memory-track-origins.rs
+++ b/tests/codegen-llvm/sanitizer/memory-track-origins.rs
diff --git a/tests/codegen/sanitizer/memtag-attr-check.rs b/tests/codegen-llvm/sanitizer/memtag-attr-check.rs
index ffe3a2322a2..ffe3a2322a2 100644
--- a/tests/codegen/sanitizer/memtag-attr-check.rs
+++ b/tests/codegen-llvm/sanitizer/memtag-attr-check.rs
diff --git a/tests/codegen/sanitizer/no-sanitize-inlining.rs b/tests/codegen-llvm/sanitizer/no-sanitize-inlining.rs
index 4bd832d2ab1..4bd832d2ab1 100644
--- a/tests/codegen/sanitizer/no-sanitize-inlining.rs
+++ b/tests/codegen-llvm/sanitizer/no-sanitize-inlining.rs
diff --git a/tests/codegen/sanitizer/no-sanitize.rs b/tests/codegen-llvm/sanitizer/no-sanitize.rs
index 2a309f6b9c6..2a309f6b9c6 100644
--- a/tests/codegen/sanitizer/no-sanitize.rs
+++ b/tests/codegen-llvm/sanitizer/no-sanitize.rs
diff --git a/tests/codegen/sanitizer/riscv64-shadow-call-stack.rs b/tests/codegen-llvm/sanitizer/riscv64-shadow-call-stack.rs
index 945e46218d0..945e46218d0 100644
--- a/tests/codegen/sanitizer/riscv64-shadow-call-stack.rs
+++ b/tests/codegen-llvm/sanitizer/riscv64-shadow-call-stack.rs
diff --git a/tests/codegen/sanitizer/safestack-attr-check.rs b/tests/codegen-llvm/sanitizer/safestack-attr-check.rs
index 050a60333af..050a60333af 100644
--- a/tests/codegen/sanitizer/safestack-attr-check.rs
+++ b/tests/codegen-llvm/sanitizer/safestack-attr-check.rs
diff --git a/tests/codegen/sanitizer/sanitizer-recover.rs b/tests/codegen-llvm/sanitizer/sanitizer-recover.rs
index 6b659320481..6b659320481 100644
--- a/tests/codegen/sanitizer/sanitizer-recover.rs
+++ b/tests/codegen-llvm/sanitizer/sanitizer-recover.rs
diff --git a/tests/codegen/sanitizer/scs-attr-check.rs b/tests/codegen-llvm/sanitizer/scs-attr-check.rs
index 6f4cbc2c0a6..6f4cbc2c0a6 100644
--- a/tests/codegen/sanitizer/scs-attr-check.rs
+++ b/tests/codegen-llvm/sanitizer/scs-attr-check.rs
diff --git a/tests/codegen/scalar-pair-bool.rs b/tests/codegen-llvm/scalar-pair-bool.rs
index def3b32f71a..def3b32f71a 100644
--- a/tests/codegen/scalar-pair-bool.rs
+++ b/tests/codegen-llvm/scalar-pair-bool.rs
diff --git a/tests/codegen/set-discriminant-invalid.rs b/tests/codegen-llvm/set-discriminant-invalid.rs
index dd584ef1c14..dd584ef1c14 100644
--- a/tests/codegen/set-discriminant-invalid.rs
+++ b/tests/codegen-llvm/set-discriminant-invalid.rs
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-abs.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-abs.rs
index 485ba92272d..baf445d0a1b 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-abs.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-abs.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fabs;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fabs;
 
 // CHECK-LABEL: @fabs_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn fabs_32x16(a: f32x16) -> f32x16 {
     simd_fabs(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @fabs_64x4
 #[no_mangle]
 pub unsafe fn fabs_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-ceil.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-ceil.rs
index e8bda7c29c4..096de569274 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-ceil.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-ceil.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_ceil;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_ceil;
 
 // CHECK-LABEL: @ceil_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn ceil_32x16(a: f32x16) -> f32x16 {
     simd_ceil(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @ceil_64x4
 #[no_mangle]
 pub unsafe fn ceil_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-cos.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-cos.rs
index 8dc967bc3ad..5b2197924bc 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-cos.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-cos.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fcos;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fcos;
 
 // CHECK-LABEL: @fcos_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn fcos_32x16(a: f32x16) -> f32x16 {
     simd_fcos(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @fcos_64x4
 #[no_mangle]
 pub unsafe fn fcos_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-exp.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp.rs
index 00caca2f294..d4eadb36c65 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-exp.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fexp;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fexp;
 
 // CHECK-LABEL: @exp_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn exp_32x16(a: f32x16) -> f32x16 {
     simd_fexp(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @exp_64x4
 #[no_mangle]
 pub unsafe fn exp_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-exp2.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp2.rs
index eda4053189c..d32015b7990 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-exp2.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-exp2.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fexp2;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fexp2;
 
 // CHECK-LABEL: @exp2_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn exp2_32x16(a: f32x16) -> f32x16 {
     simd_fexp2(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @exp2_64x4
 #[no_mangle]
 pub unsafe fn exp2_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-floor.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-floor.rs
index ad69d4cdd88..1e1c8ce0c35 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-floor.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-floor.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_floor;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_floor;
 
 // CHECK-LABEL: @floor_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn floor_32x16(a: f32x16) -> f32x16 {
     simd_floor(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @floor_64x4
 #[no_mangle]
 pub unsafe fn floor_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-fma.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fma.rs
index cbeefdc31c0..982077d81f9 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-fma.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fma.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fma;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fma;
 
 // CHECK-LABEL: @fma_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn fma_32x16(a: f32x16, b: f32x16, c: f32x16) -> f32x16 {
     simd_fma(a, b, c)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @fma_64x4
 #[no_mangle]
 pub unsafe fn fma_64x4(a: f64x4, b: f64x4, c: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-fsqrt.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fsqrt.rs
index 618daa4b44d..e20a591f573 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-fsqrt.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-fsqrt.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fsqrt;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fsqrt;
 
 // CHECK-LABEL: @fsqrt_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn fsqrt_32x16(a: f32x16) -> f32x16 {
     simd_fsqrt(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @fsqrt_64x4
 #[no_mangle]
 pub unsafe fn fsqrt_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log.rs
index 98a481e4004..bf1ffc76330 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_flog;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_flog;
 
 // CHECK-LABEL: @log_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn log_32x16(a: f32x16) -> f32x16 {
     simd_flog(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @log_64x4
 #[no_mangle]
 pub unsafe fn log_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log10.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log10.rs
index 9108cd963f0..ccf484e0e41 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log10.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log10.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_flog10;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_flog10;
 
 // CHECK-LABEL: @log10_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn log10_32x16(a: f32x16) -> f32x16 {
     simd_flog10(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @log10_64x4
 #[no_mangle]
 pub unsafe fn log10_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log2.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log2.rs
index 2b20850dbd9..677d8b01e84 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-log2.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-log2.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_flog2;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_flog2;
 
 // CHECK-LABEL: @log2_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn log2_32x16(a: f32x16) -> f32x16 {
     simd_flog2(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @log2_64x4
 #[no_mangle]
 pub unsafe fn log2_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-minmax.rs
index ce07b212e84..8dd464a1bff 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-minmax.rs
@@ -4,11 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::{simd_fmax, simd_fmin};
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
+use std::intrinsics::simd::{simd_fmax, simd_fmin};
 
 // CHECK-LABEL: @fmin
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-float-sin.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-sin.rs
index 7de26b415bb..48becc72c0b 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-float-sin.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-float-sin.rs
@@ -4,23 +4,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_fsin;
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x2(pub [f32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8(pub [f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x16(pub [f32; 16]);
+use std::intrinsics::simd::simd_fsin;
 
 // CHECK-LABEL: @fsin_32x2
 #[no_mangle]
@@ -50,18 +38,6 @@ pub unsafe fn fsin_32x16(a: f32x16) -> f32x16 {
     simd_fsin(a)
 }
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x2(pub [f64; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x4(pub [f64; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f64x8(pub [f64; 8]);
-
 // CHECK-LABEL: @fsin_64x4
 #[no_mangle]
 pub unsafe fn fsin_64x4(a: f64x4) -> f64x4 {
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
index ecf5eb24ee5..06d46889715 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs
@@ -5,66 +5,11 @@
 #![allow(non_camel_case_types)]
 #![deny(unused)]
 
-use std::intrinsics::simd::{simd_saturating_add, simd_saturating_sub};
-
-#[rustfmt::skip]
-mod types {
-    // signed integer types
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x2([i8; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x4([i8; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x8([i8; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x16([i8; 16]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x32([i8; 32]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i8x64([i8; 64]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i16x2([i16; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i16x4([i16; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i16x8([i16; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i16x16([i16; 16]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i16x32([i16; 32]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i32x2([i32; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i32x4([i32; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i32x8([i32; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i32x16([i32; 16]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i64x2([i64; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i64x4([i64; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i64x8([i64; 8]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i128x2([i128; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct i128x4([i128; 4]);
-
-    // unsigned integer types
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x2([u8; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x4([u8; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x8([u8; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x16([u8; 16]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x32([u8; 32]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u8x64([u8; 64]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u16x2([u16; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u16x4([u16; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u16x8([u16; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u16x16([u16; 16]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u16x32([u16; 32]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u32x2([u32; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u32x4([u32; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u32x8([u32; 8]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u32x16([u32; 16]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u64x2([u64; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u64x4([u64; 4]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u64x8([u64; 8]);
-
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u128x2([u128; 2]);
-    #[repr(simd)] #[derive(Copy, Clone)] pub struct u128x4([u128; 4]);
-}
-
-use types::*;
+use std::intrinsics::simd::{simd_saturating_add, simd_saturating_sub};
 
 // NOTE(eddyb) `%{{x|0}}` is used because on some targets (e.g. WASM)
 // SIMD vectors are passed directly, resulting in `%x` being a vector,
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
index a2c40aa91b5..294262d8152 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-bitmask.rs
@@ -5,19 +5,11 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_bitmask;
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct u32x2([u32; 2]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct i32x2([i32; 2]);
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct i8x16([i8; 16]);
+use std::intrinsics::simd::simd_bitmask;
 
 // NOTE(eddyb) `%{{x|1}}` is used because on some targets (e.g. WASM)
 // SIMD vectors are passed directly, resulting in `%x` being a vector,
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs
index c06b36d68b9..690bfb432f9 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs
@@ -6,15 +6,14 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_gather;
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec2<T>(pub [T; 2]);
+use std::intrinsics::simd::simd_gather;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec4<T>(pub [T; 4]);
+pub type Vec2<T> = Simd<T, 2>;
+pub type Vec4<T> = Simd<T, 4>;
 
 // CHECK-LABEL: @gather_f32x2
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-load.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs
index 21578e67cff..fda315dc66c 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-load.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs
@@ -4,15 +4,14 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_masked_load;
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec2<T>(pub [T; 2]);
+use std::intrinsics::simd::simd_masked_load;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec4<T>(pub [T; 4]);
+pub type Vec2<T> = Simd<T, 2>;
+pub type Vec4<T> = Simd<T, 4>;
 
 // CHECK-LABEL: @load_f32x2
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-store.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs
index 22a8f7e54bd..6ca7388d464 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-masked-store.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs
@@ -4,15 +4,14 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_masked_store;
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec2<T>(pub [T; 2]);
+use std::intrinsics::simd::simd_masked_store;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec4<T>(pub [T; 4]);
+pub type Vec2<T> = Simd<T, 2>;
+pub type Vec4<T> = Simd<T, 4>;
 
 // CHECK-LABEL: @store_f32x2
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs
index 0cc9e6ae59a..743652966e1 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs
@@ -6,15 +6,14 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_scatter;
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec2<T>(pub [T; 2]);
+use std::intrinsics::simd::simd_scatter;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct Vec4<T>(pub [T; 4]);
+pub type Vec2<T> = Simd<T, 2>;
+pub type Vec4<T> = Simd<T, 4>;
 
 // CHECK-LABEL: @scatter_f32x2
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-select.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-select.rs
index f6531c1b23a..2c0bad21f44 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-generic-select.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-select.rs
@@ -4,27 +4,13 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::{simd_select, simd_select_bitmask};
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x4(pub [f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct f32x8([f32; 8]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct b8x4(pub [i8; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct i32x4([i32; 4]);
+use std::intrinsics::simd::{simd_select, simd_select_bitmask};
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-pub struct u32x4([u32; 4]);
+pub type b8x4 = i8x4;
 
 // CHECK-LABEL: @select_m8
 #[no_mangle]
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-mask-reduce.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-mask-reduce.rs
index 269fe41225e..79f00a6ed60 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-mask-reduce.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-mask-reduce.rs
@@ -4,15 +4,14 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::{simd_reduce_all, simd_reduce_any};
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct mask32x2([i32; 2]);
+use std::intrinsics::simd::{simd_reduce_all, simd_reduce_any};
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct mask8x16([i8; 16]);
+pub type mask32x2 = Simd<i32, 2>;
+pub type mask8x16 = Simd<i8, 16>;
 
 // NOTE(eddyb) `%{{x|1}}` is used because on some targets (e.g. WASM)
 // SIMD vectors are passed directly, resulting in `%x` being a vector,
diff --git a/tests/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs
index 301f06c2d74..05c2f7e1bdf 100644
--- a/tests/codegen/simd-intrinsic/simd-intrinsic-transmute-array.rs
+++ b/tests/codegen-llvm/simd-intrinsic/simd-intrinsic-transmute-array.rs
@@ -8,13 +8,12 @@
 #![allow(non_camel_case_types)]
 #![feature(repr_simd, core_intrinsics)]
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct S<const N: usize>([f32; N]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct T([f32; 4]);
+pub type S<const N: usize> = Simd<f32, N>;
+pub type T = Simd<f32, 4>;
 
 // CHECK-LABEL: @array_align(
 #[no_mangle]
@@ -34,7 +33,7 @@ pub fn vector_align() -> usize {
 #[no_mangle]
 pub fn build_array_s(x: [f32; 4]) -> S<4> {
     // CHECK: call void @llvm.memcpy.{{.+}}({{.*}} align [[VECTOR_ALIGN]] {{.*}} align [[ARRAY_ALIGN]] {{.*}}, [[USIZE]] 16, i1 false)
-    S::<4>(x)
+    Simd(x)
 }
 
 // CHECK-LABEL: @build_array_transmute_s
@@ -48,7 +47,7 @@ pub fn build_array_transmute_s(x: [f32; 4]) -> S<4> {
 #[no_mangle]
 pub fn build_array_t(x: [f32; 4]) -> T {
     // CHECK: call void @llvm.memcpy.{{.+}}({{.*}} align [[VECTOR_ALIGN]] {{.*}} align [[ARRAY_ALIGN]] {{.*}}, [[USIZE]] 16, i1 false)
-    T(x)
+    Simd(x)
 }
 
 // CHECK-LABEL: @build_array_transmute_t
diff --git a/tests/codegen/simd/aggregate-simd.rs b/tests/codegen-llvm/simd/aggregate-simd.rs
index 065e429a4c7..57a301d634c 100644
--- a/tests/codegen/simd/aggregate-simd.rs
+++ b/tests/codegen-llvm/simd/aggregate-simd.rs
@@ -5,15 +5,11 @@
 #![no_std]
 #![crate_type = "lib"]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
 use core::intrinsics::simd::{simd_add, simd_extract};
 
-#[repr(simd)]
-#[derive(Clone, Copy)]
-pub struct Simd<T, const N: usize>([T; N]);
-
-#[repr(simd, packed)]
-#[derive(Clone, Copy)]
-pub struct PackedSimd<T, const N: usize>([T; N]);
+use minisimd::*;
 
 #[repr(transparent)]
 pub struct Transparent<T>(T);
diff --git a/tests/codegen/simd/extract-insert-dyn.rs b/tests/codegen-llvm/simd/extract-insert-dyn.rs
index 729f0145314..729f0145314 100644
--- a/tests/codegen/simd/extract-insert-dyn.rs
+++ b/tests/codegen-llvm/simd/extract-insert-dyn.rs
diff --git a/tests/codegen/simd/packed-simd-alignment.rs b/tests/codegen-llvm/simd/packed-simd-alignment.rs
index 53e88d8e5cf..53e88d8e5cf 100644
--- a/tests/codegen/simd/packed-simd-alignment.rs
+++ b/tests/codegen-llvm/simd/packed-simd-alignment.rs
diff --git a/tests/codegen/simd/packed-simd.rs b/tests/codegen-llvm/simd/packed-simd.rs
index 73e0d29d7d6..70c03fcc955 100644
--- a/tests/codegen/simd/packed-simd.rs
+++ b/tests/codegen-llvm/simd/packed-simd.rs
@@ -9,18 +9,14 @@
 use core::intrinsics::simd as intrinsics;
 use core::{mem, ptr};
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::{PackedSimd, Simd as FullSimd};
+
 // Test codegen for not only "packed" but also "fully aligned" SIMD types, and conversion between
 // them. A repr(packed,simd) type with 3 elements can't exceed its element alignment, whereas the
 // same type as repr(simd) will instead have padding.
 
-#[repr(simd, packed)]
-#[derive(Copy, Clone)]
-pub struct PackedSimd<T, const N: usize>([T; N]);
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-pub struct FullSimd<T, const N: usize>([T; N]);
-
 // non-powers-of-two have padding and need to be expanded to full vectors
 fn load<T, const N: usize>(v: PackedSimd<T, N>) -> FullSimd<T, N> {
     unsafe {
diff --git a/tests/codegen/simd/simd-wide-sum.rs b/tests/codegen-llvm/simd/simd-wide-sum.rs
index 95117b2c748..95117b2c748 100644
--- a/tests/codegen/simd/simd-wide-sum.rs
+++ b/tests/codegen-llvm/simd/simd-wide-sum.rs
diff --git a/tests/codegen/simd/simd_arith_offset.rs b/tests/codegen-llvm/simd/simd_arith_offset.rs
index b8af6fce332..210b4e9bb50 100644
--- a/tests/codegen/simd/simd_arith_offset.rs
+++ b/tests/codegen-llvm/simd/simd_arith_offset.rs
@@ -5,16 +5,14 @@
 #![crate_type = "lib"]
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
 use std::intrinsics::simd::simd_arith_offset;
 
-/// A vector of *const T.
-#[derive(Debug, Copy, Clone)]
-#[repr(simd)]
-pub struct SimdConstPtr<T, const LANES: usize>([*const T; LANES]);
+use minisimd::*;
 
-#[derive(Debug, Copy, Clone)]
-#[repr(simd)]
-pub struct Simd<T, const LANES: usize>([T; LANES]);
+/// A vector of *const T.
+pub type SimdConstPtr<T, const LANES: usize> = Simd<*const T, LANES>;
 
 // CHECK-LABEL: smoke
 #[no_mangle]
diff --git a/tests/codegen/simd/swap-simd-types.rs b/tests/codegen-llvm/simd/swap-simd-types.rs
index c063cc683a6..c063cc683a6 100644
--- a/tests/codegen/simd/swap-simd-types.rs
+++ b/tests/codegen-llvm/simd/swap-simd-types.rs
diff --git a/tests/codegen/simd/unpadded-simd.rs b/tests/codegen-llvm/simd/unpadded-simd.rs
index ef067a15702..ef067a15702 100644
--- a/tests/codegen/simd/unpadded-simd.rs
+++ b/tests/codegen-llvm/simd/unpadded-simd.rs
diff --git a/tests/codegen/skip-mono-inside-if-false.rs b/tests/codegen-llvm/skip-mono-inside-if-false.rs
index 8b95de99dd3..8b95de99dd3 100644
--- a/tests/codegen/skip-mono-inside-if-false.rs
+++ b/tests/codegen-llvm/skip-mono-inside-if-false.rs
diff --git a/tests/codegen/slice-as_chunks.rs b/tests/codegen-llvm/slice-as_chunks.rs
index 337eb8981f6..337eb8981f6 100644
--- a/tests/codegen/slice-as_chunks.rs
+++ b/tests/codegen-llvm/slice-as_chunks.rs
diff --git a/tests/codegen/slice-indexing.rs b/tests/codegen-llvm/slice-indexing.rs
index d957ccfb5ef..d957ccfb5ef 100644
--- a/tests/codegen/slice-indexing.rs
+++ b/tests/codegen-llvm/slice-indexing.rs
diff --git a/tests/codegen/slice-init.rs b/tests/codegen-llvm/slice-init.rs
index 950e0b0c10d..950e0b0c10d 100644
--- a/tests/codegen/slice-init.rs
+++ b/tests/codegen-llvm/slice-init.rs
diff --git a/tests/codegen/slice-is-ascii.rs b/tests/codegen-llvm/slice-is-ascii.rs
index 67537c871a0..67537c871a0 100644
--- a/tests/codegen/slice-is-ascii.rs
+++ b/tests/codegen-llvm/slice-is-ascii.rs
diff --git a/tests/codegen/slice-iter-fold.rs b/tests/codegen-llvm/slice-iter-fold.rs
index 55ab34661c3..55ab34661c3 100644
--- a/tests/codegen/slice-iter-fold.rs
+++ b/tests/codegen-llvm/slice-iter-fold.rs
diff --git a/tests/codegen/slice-iter-len-eq-zero.rs b/tests/codegen-llvm/slice-iter-len-eq-zero.rs
index 6998d98e498..6998d98e498 100644
--- a/tests/codegen/slice-iter-len-eq-zero.rs
+++ b/tests/codegen-llvm/slice-iter-len-eq-zero.rs
diff --git a/tests/codegen/slice-iter-nonnull.rs b/tests/codegen-llvm/slice-iter-nonnull.rs
index 87907e7ad0a..87907e7ad0a 100644
--- a/tests/codegen/slice-iter-nonnull.rs
+++ b/tests/codegen-llvm/slice-iter-nonnull.rs
diff --git a/tests/codegen/slice-last-elements-optimization.rs b/tests/codegen-llvm/slice-last-elements-optimization.rs
index b90f91d7b17..b90f91d7b17 100644
--- a/tests/codegen/slice-last-elements-optimization.rs
+++ b/tests/codegen-llvm/slice-last-elements-optimization.rs
diff --git a/tests/codegen/slice-pointer-nonnull-unwrap.rs b/tests/codegen-llvm/slice-pointer-nonnull-unwrap.rs
index 35e4bf2c661..35e4bf2c661 100644
--- a/tests/codegen/slice-pointer-nonnull-unwrap.rs
+++ b/tests/codegen-llvm/slice-pointer-nonnull-unwrap.rs
diff --git a/tests/codegen/slice-position-bounds-check.rs b/tests/codegen-llvm/slice-position-bounds-check.rs
index 0d1d1d869ae..0d1d1d869ae 100644
--- a/tests/codegen/slice-position-bounds-check.rs
+++ b/tests/codegen-llvm/slice-position-bounds-check.rs
diff --git a/tests/codegen/slice-ref-equality.rs b/tests/codegen-llvm/slice-ref-equality.rs
index 2940378da3c..2940378da3c 100644
--- a/tests/codegen/slice-ref-equality.rs
+++ b/tests/codegen-llvm/slice-ref-equality.rs
diff --git a/tests/codegen/slice-reverse.rs b/tests/codegen-llvm/slice-reverse.rs
index e58d1c1d9d8..e58d1c1d9d8 100644
--- a/tests/codegen/slice-reverse.rs
+++ b/tests/codegen-llvm/slice-reverse.rs
diff --git a/tests/codegen/slice-split-at.rs b/tests/codegen-llvm/slice-split-at.rs
index 07018cf9c91..07018cf9c91 100644
--- a/tests/codegen/slice-split-at.rs
+++ b/tests/codegen-llvm/slice-split-at.rs
diff --git a/tests/codegen/slice-windows-no-bounds-check.rs b/tests/codegen-llvm/slice-windows-no-bounds-check.rs
index 87e89b14f06..87e89b14f06 100644
--- a/tests/codegen/slice-windows-no-bounds-check.rs
+++ b/tests/codegen-llvm/slice-windows-no-bounds-check.rs
diff --git a/tests/codegen/slice_as_from_ptr_range.rs b/tests/codegen-llvm/slice_as_from_ptr_range.rs
index 2073f05c07f..2073f05c07f 100644
--- a/tests/codegen/slice_as_from_ptr_range.rs
+++ b/tests/codegen-llvm/slice_as_from_ptr_range.rs
diff --git a/tests/codegen/some-abis-do-extend-params-to-32-bits.rs b/tests/codegen-llvm/some-abis-do-extend-params-to-32-bits.rs
index 6ca6697588f..6ca6697588f 100644
--- a/tests/codegen/some-abis-do-extend-params-to-32-bits.rs
+++ b/tests/codegen-llvm/some-abis-do-extend-params-to-32-bits.rs
diff --git a/tests/codegen/some-global-nonnull.rs b/tests/codegen-llvm/some-global-nonnull.rs
index bb4d12e1c76..bb4d12e1c76 100644
--- a/tests/codegen/some-global-nonnull.rs
+++ b/tests/codegen-llvm/some-global-nonnull.rs
diff --git a/tests/codegen/sparc-struct-abi.rs b/tests/codegen-llvm/sparc-struct-abi.rs
index 32d2c5bb0ef..32d2c5bb0ef 100644
--- a/tests/codegen/sparc-struct-abi.rs
+++ b/tests/codegen-llvm/sparc-struct-abi.rs
diff --git a/tests/codegen/split-lto-unit.rs b/tests/codegen-llvm/split-lto-unit.rs
index 7858a0e7b79..7858a0e7b79 100644
--- a/tests/codegen/split-lto-unit.rs
+++ b/tests/codegen-llvm/split-lto-unit.rs
diff --git a/tests/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-md5.rs
index 7aec8d545dc..7aec8d545dc 100644
--- a/tests/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs
+++ b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-md5.rs
diff --git a/tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha1.rs
index 5389c32f938..5389c32f938 100644
--- a/tests/codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs
+++ b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha1.rs
diff --git a/tests/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha256.rs
index 520890c47f1..520890c47f1 100644
--- a/tests/codegen/src-hash-algorithm/src-hash-algorithm-sha256.rs
+++ b/tests/codegen-llvm/src-hash-algorithm/src-hash-algorithm-sha256.rs
diff --git a/tests/codegen/sroa-fragment-debuginfo.rs b/tests/codegen-llvm/sroa-fragment-debuginfo.rs
index 0413cf96894..0413cf96894 100644
--- a/tests/codegen/sroa-fragment-debuginfo.rs
+++ b/tests/codegen-llvm/sroa-fragment-debuginfo.rs
diff --git a/tests/codegen/sse42-implies-crc32.rs b/tests/codegen-llvm/sse42-implies-crc32.rs
index 8a9c496a3a5..8a9c496a3a5 100644
--- a/tests/codegen/sse42-implies-crc32.rs
+++ b/tests/codegen-llvm/sse42-implies-crc32.rs
diff --git a/tests/codegen/stack-probes-inline.rs b/tests/codegen-llvm/stack-probes-inline.rs
index 746272b0994..746272b0994 100644
--- a/tests/codegen/stack-probes-inline.rs
+++ b/tests/codegen-llvm/stack-probes-inline.rs
diff --git a/tests/codegen/stack-protector.rs b/tests/codegen-llvm/stack-protector.rs
index 8ab25b470cd..8ab25b470cd 100644
--- a/tests/codegen/stack-protector.rs
+++ b/tests/codegen-llvm/stack-protector.rs
diff --git a/tests/codegen/static-relocation-model-msvc.rs b/tests/codegen-llvm/static-relocation-model-msvc.rs
index 4d30e6ec505..4d30e6ec505 100644
--- a/tests/codegen/static-relocation-model-msvc.rs
+++ b/tests/codegen-llvm/static-relocation-model-msvc.rs
diff --git a/tests/codegen/staticlib-external-inline-fns.rs b/tests/codegen-llvm/staticlib-external-inline-fns.rs
index 23316a2d9a5..23316a2d9a5 100644
--- a/tests/codegen/staticlib-external-inline-fns.rs
+++ b/tests/codegen-llvm/staticlib-external-inline-fns.rs
diff --git a/tests/codegen/step_by-overflow-checks.rs b/tests/codegen-llvm/step_by-overflow-checks.rs
index 53800e9f879..53800e9f879 100644
--- a/tests/codegen/step_by-overflow-checks.rs
+++ b/tests/codegen-llvm/step_by-overflow-checks.rs
diff --git a/tests/codegen/stores.rs b/tests/codegen-llvm/stores.rs
index aa3090db6d3..aa3090db6d3 100644
--- a/tests/codegen/stores.rs
+++ b/tests/codegen-llvm/stores.rs
diff --git a/tests/codegen/string-push.rs b/tests/codegen-llvm/string-push.rs
index cf5f6bb1aa3..cf5f6bb1aa3 100644
--- a/tests/codegen/string-push.rs
+++ b/tests/codegen-llvm/string-push.rs
diff --git a/tests/codegen/swap-large-types.rs b/tests/codegen-llvm/swap-large-types.rs
index 08c486affd9..08c486affd9 100644
--- a/tests/codegen/swap-large-types.rs
+++ b/tests/codegen-llvm/swap-large-types.rs
diff --git a/tests/codegen/swap-small-types.rs b/tests/codegen-llvm/swap-small-types.rs
index 7aa613ae9c2..7aa613ae9c2 100644
--- a/tests/codegen/swap-small-types.rs
+++ b/tests/codegen-llvm/swap-small-types.rs
diff --git a/tests/codegen/target-cpu-on-functions.rs b/tests/codegen-llvm/target-cpu-on-functions.rs
index 25c10e7ce44..25c10e7ce44 100644
--- a/tests/codegen/target-cpu-on-functions.rs
+++ b/tests/codegen-llvm/target-cpu-on-functions.rs
diff --git a/tests/codegen/target-feature-inline-closure.rs b/tests/codegen-llvm/target-feature-inline-closure.rs
index 5d54444f994..5d54444f994 100644
--- a/tests/codegen/target-feature-inline-closure.rs
+++ b/tests/codegen-llvm/target-feature-inline-closure.rs
diff --git a/tests/codegen/target-feature-negative-implication.rs b/tests/codegen-llvm/target-feature-negative-implication.rs
index 36cd82dd8cf..36cd82dd8cf 100644
--- a/tests/codegen/target-feature-negative-implication.rs
+++ b/tests/codegen-llvm/target-feature-negative-implication.rs
diff --git a/tests/codegen/target-feature-overrides.rs b/tests/codegen-llvm/target-feature-overrides.rs
index eb19b0de2fa..63a586d388b 100644
--- a/tests/codegen/target-feature-overrides.rs
+++ b/tests/codegen-llvm/target-feature-overrides.rs
@@ -6,7 +6,7 @@
 //@ [COMPAT] compile-flags: -Ctarget-feature=+avx2
 //@ [INCOMPAT] compile-flags: -Ctarget-feature=-avx2,-avx
 
-// See also tests/assembly/target-feature-multiple.rs
+// See also tests/assembly-llvm/target-feature-multiple.rs
 #![feature(no_core, lang_items)]
 #![crate_type = "lib"]
 #![no_core]
diff --git a/tests/codegen/terminating-catchpad.rs b/tests/codegen-llvm/terminating-catchpad.rs
index a2ec19871d1..a2ec19871d1 100644
--- a/tests/codegen/terminating-catchpad.rs
+++ b/tests/codegen-llvm/terminating-catchpad.rs
diff --git a/tests/codegen/thread-local.rs b/tests/codegen-llvm/thread-local.rs
index 41df8c9be1b..41df8c9be1b 100644
--- a/tests/codegen/thread-local.rs
+++ b/tests/codegen-llvm/thread-local.rs
diff --git a/tests/codegen/tied-features-strength.rs b/tests/codegen-llvm/tied-features-strength.rs
index 81499c070d1..81499c070d1 100644
--- a/tests/codegen/tied-features-strength.rs
+++ b/tests/codegen-llvm/tied-features-strength.rs
diff --git a/tests/codegen/to_vec.rs b/tests/codegen-llvm/to_vec.rs
index 4f6e77188d8..4f6e77188d8 100644
--- a/tests/codegen/to_vec.rs
+++ b/tests/codegen-llvm/to_vec.rs
diff --git a/tests/codegen/trailing_zeros.rs b/tests/codegen-llvm/trailing_zeros.rs
index 0816a980992..0816a980992 100644
--- a/tests/codegen/trailing_zeros.rs
+++ b/tests/codegen-llvm/trailing_zeros.rs
diff --git a/tests/codegen/transmute-optimized.rs b/tests/codegen-llvm/transmute-optimized.rs
index 477fdc6de90..477fdc6de90 100644
--- a/tests/codegen/transmute-optimized.rs
+++ b/tests/codegen-llvm/transmute-optimized.rs
diff --git a/tests/codegen/transmute-scalar.rs b/tests/codegen-llvm/transmute-scalar.rs
index ce1b0558b2e..ce1b0558b2e 100644
--- a/tests/codegen/transmute-scalar.rs
+++ b/tests/codegen-llvm/transmute-scalar.rs
diff --git a/tests/codegen/try_question_mark_nop.rs b/tests/codegen-llvm/try_question_mark_nop.rs
index 398c9a580bc..398c9a580bc 100644
--- a/tests/codegen/try_question_mark_nop.rs
+++ b/tests/codegen-llvm/try_question_mark_nop.rs
diff --git a/tests/codegen/tune-cpu-on-functions.rs b/tests/codegen-llvm/tune-cpu-on-functions.rs
index f50245b797f..f50245b797f 100644
--- a/tests/codegen/tune-cpu-on-functions.rs
+++ b/tests/codegen-llvm/tune-cpu-on-functions.rs
diff --git a/tests/codegen/tuple-layout-opt.rs b/tests/codegen-llvm/tuple-layout-opt.rs
index 5b2f65e7aa7..5b2f65e7aa7 100644
--- a/tests/codegen/tuple-layout-opt.rs
+++ b/tests/codegen-llvm/tuple-layout-opt.rs
diff --git a/tests/codegen/ub-checks.rs b/tests/codegen-llvm/ub-checks.rs
index 67f5bff08d5..67f5bff08d5 100644
--- a/tests/codegen/ub-checks.rs
+++ b/tests/codegen-llvm/ub-checks.rs
diff --git a/tests/codegen/unchecked-float-casts.rs b/tests/codegen-llvm/unchecked-float-casts.rs
index d1869abc87b..d1869abc87b 100644
--- a/tests/codegen/unchecked-float-casts.rs
+++ b/tests/codegen-llvm/unchecked-float-casts.rs
diff --git a/tests/codegen/unchecked_shifts.rs b/tests/codegen-llvm/unchecked_shifts.rs
index 3f533718a2d..3f533718a2d 100644
--- a/tests/codegen/unchecked_shifts.rs
+++ b/tests/codegen-llvm/unchecked_shifts.rs
diff --git a/tests/codegen/uninhabited-transparent-return-abi.rs b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs
index face1577c3f..face1577c3f 100644
--- a/tests/codegen/uninhabited-transparent-return-abi.rs
+++ b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs
diff --git a/tests/codegen/uninit-consts.rs b/tests/codegen-llvm/uninit-consts.rs
index bde71a35c47..bde71a35c47 100644
--- a/tests/codegen/uninit-consts.rs
+++ b/tests/codegen-llvm/uninit-consts.rs
diff --git a/tests/codegen/uninit-repeat-in-aggregate.rs b/tests/codegen-llvm/uninit-repeat-in-aggregate.rs
index 0fa2eb7d56c..0fa2eb7d56c 100644
--- a/tests/codegen/uninit-repeat-in-aggregate.rs
+++ b/tests/codegen-llvm/uninit-repeat-in-aggregate.rs
diff --git a/tests/codegen/union-abi.rs b/tests/codegen-llvm/union-abi.rs
index 28acc4de2f3..28acc4de2f3 100644
--- a/tests/codegen/union-abi.rs
+++ b/tests/codegen-llvm/union-abi.rs
diff --git a/tests/codegen/union-aggregate.rs b/tests/codegen-llvm/union-aggregate.rs
index aac66c5dcdd..aac66c5dcdd 100644
--- a/tests/codegen/union-aggregate.rs
+++ b/tests/codegen-llvm/union-aggregate.rs
diff --git a/tests/codegen/unwind-abis/aapcs-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/aapcs-unwind-abi.rs
index ecace722e0d..ecace722e0d 100644
--- a/tests/codegen/unwind-abis/aapcs-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/aapcs-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/c-unwind-abi-panic-abort.rs b/tests/codegen-llvm/unwind-abis/c-unwind-abi-panic-abort.rs
index 8d2745ba2f7..8d2745ba2f7 100644
--- a/tests/codegen/unwind-abis/c-unwind-abi-panic-abort.rs
+++ b/tests/codegen-llvm/unwind-abis/c-unwind-abi-panic-abort.rs
diff --git a/tests/codegen/unwind-abis/c-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/c-unwind-abi.rs
index 46c08b5fc4f..46c08b5fc4f 100644
--- a/tests/codegen/unwind-abis/c-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/c-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/cdecl-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/cdecl-unwind-abi.rs
index 8e643d6ce49..8e643d6ce49 100644
--- a/tests/codegen/unwind-abis/cdecl-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/cdecl-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/fastcall-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/fastcall-unwind-abi.rs
index 7df46813ed1..7df46813ed1 100644
--- a/tests/codegen/unwind-abis/fastcall-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/fastcall-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/nounwind-on-stable-panic-abort.rs b/tests/codegen-llvm/unwind-abis/nounwind-on-stable-panic-abort.rs
index d27cbd60437..d27cbd60437 100644
--- a/tests/codegen/unwind-abis/nounwind-on-stable-panic-abort.rs
+++ b/tests/codegen-llvm/unwind-abis/nounwind-on-stable-panic-abort.rs
diff --git a/tests/codegen/unwind-abis/nounwind.rs b/tests/codegen-llvm/unwind-abis/nounwind.rs
index e40ed48ca73..e40ed48ca73 100644
--- a/tests/codegen/unwind-abis/nounwind.rs
+++ b/tests/codegen-llvm/unwind-abis/nounwind.rs
diff --git a/tests/codegen/unwind-abis/stdcall-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/stdcall-unwind-abi.rs
index cc06ee12549..cc06ee12549 100644
--- a/tests/codegen/unwind-abis/stdcall-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/stdcall-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/system-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/system-unwind-abi.rs
index 5f910248346..5f910248346 100644
--- a/tests/codegen/unwind-abis/system-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/system-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/sysv64-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/sysv64-unwind-abi.rs
index 69bfaf80b4b..69bfaf80b4b 100644
--- a/tests/codegen/unwind-abis/sysv64-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/sysv64-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/thiscall-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/thiscall-unwind-abi.rs
index 05f6b8b70e1..05f6b8b70e1 100644
--- a/tests/codegen/unwind-abis/thiscall-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/thiscall-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/vectorcall-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/vectorcall-unwind-abi.rs
index d001a16b32a..d001a16b32a 100644
--- a/tests/codegen/unwind-abis/vectorcall-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/vectorcall-unwind-abi.rs
diff --git a/tests/codegen/unwind-abis/win64-unwind-abi.rs b/tests/codegen-llvm/unwind-abis/win64-unwind-abi.rs
index 257f00b54e4..257f00b54e4 100644
--- a/tests/codegen/unwind-abis/win64-unwind-abi.rs
+++ b/tests/codegen-llvm/unwind-abis/win64-unwind-abi.rs
diff --git a/tests/codegen/unwind-and-panic-abort.rs b/tests/codegen-llvm/unwind-and-panic-abort.rs
index 8efa140058a..8efa140058a 100644
--- a/tests/codegen/unwind-and-panic-abort.rs
+++ b/tests/codegen-llvm/unwind-and-panic-abort.rs
diff --git a/tests/codegen/unwind-extern-exports.rs b/tests/codegen-llvm/unwind-extern-exports.rs
index e692fd1a547..e692fd1a547 100644
--- a/tests/codegen/unwind-extern-exports.rs
+++ b/tests/codegen-llvm/unwind-extern-exports.rs
diff --git a/tests/codegen/unwind-extern-imports.rs b/tests/codegen-llvm/unwind-extern-imports.rs
index dfae8aae64a..dfae8aae64a 100644
--- a/tests/codegen/unwind-extern-imports.rs
+++ b/tests/codegen-llvm/unwind-extern-imports.rs
diff --git a/tests/codegen/unwind-landingpad-cold.rs b/tests/codegen-llvm/unwind-landingpad-cold.rs
index fb095e04650..fb095e04650 100644
--- a/tests/codegen/unwind-landingpad-cold.rs
+++ b/tests/codegen-llvm/unwind-landingpad-cold.rs
diff --git a/tests/codegen/unwind-landingpad-inline.rs b/tests/codegen-llvm/unwind-landingpad-inline.rs
index 1cf606279e6..1cf606279e6 100644
--- a/tests/codegen/unwind-landingpad-inline.rs
+++ b/tests/codegen-llvm/unwind-landingpad-inline.rs
diff --git a/tests/codegen/used_with_arg.rs b/tests/codegen-llvm/used_with_arg.rs
index 4515cb2aed0..4515cb2aed0 100644
--- a/tests/codegen/used_with_arg.rs
+++ b/tests/codegen-llvm/used_with_arg.rs
diff --git a/tests/codegen/var-names.rs b/tests/codegen-llvm/var-names.rs
index 40720e19761..40720e19761 100644
--- a/tests/codegen/var-names.rs
+++ b/tests/codegen-llvm/var-names.rs
diff --git a/tests/codegen/vec-as-ptr.rs b/tests/codegen-llvm/vec-as-ptr.rs
index 5c997802640..5c997802640 100644
--- a/tests/codegen/vec-as-ptr.rs
+++ b/tests/codegen-llvm/vec-as-ptr.rs
diff --git a/tests/codegen/vec-calloc.rs b/tests/codegen-llvm/vec-calloc.rs
index d1c320ead01..d1c320ead01 100644
--- a/tests/codegen/vec-calloc.rs
+++ b/tests/codegen-llvm/vec-calloc.rs
diff --git a/tests/codegen/vec-in-place.rs b/tests/codegen-llvm/vec-in-place.rs
index a5ef8653b99..a5ef8653b99 100644
--- a/tests/codegen/vec-in-place.rs
+++ b/tests/codegen-llvm/vec-in-place.rs
diff --git a/tests/codegen/vec-iter-collect-len.rs b/tests/codegen-llvm/vec-iter-collect-len.rs
index 807548ef883..807548ef883 100644
--- a/tests/codegen/vec-iter-collect-len.rs
+++ b/tests/codegen-llvm/vec-iter-collect-len.rs
diff --git a/tests/codegen/vec-iter.rs b/tests/codegen-llvm/vec-iter.rs
index 4ed00d2d34f..4ed00d2d34f 100644
--- a/tests/codegen/vec-iter.rs
+++ b/tests/codegen-llvm/vec-iter.rs
diff --git a/tests/codegen/vec-len-invariant.rs b/tests/codegen-llvm/vec-len-invariant.rs
index 033181c2bfb..033181c2bfb 100644
--- a/tests/codegen/vec-len-invariant.rs
+++ b/tests/codegen-llvm/vec-len-invariant.rs
diff --git a/tests/codegen/vec-optimizes-away.rs b/tests/codegen-llvm/vec-optimizes-away.rs
index 93b55454b10..93b55454b10 100644
--- a/tests/codegen/vec-optimizes-away.rs
+++ b/tests/codegen-llvm/vec-optimizes-away.rs
diff --git a/tests/codegen/vec-reserve-extend.rs b/tests/codegen-llvm/vec-reserve-extend.rs
index 4d3f23ccecf..4d3f23ccecf 100644
--- a/tests/codegen/vec-reserve-extend.rs
+++ b/tests/codegen-llvm/vec-reserve-extend.rs
diff --git a/tests/codegen/vec-shrink-panik.rs b/tests/codegen-llvm/vec-shrink-panik.rs
index 23dd300d48c..23dd300d48c 100644
--- a/tests/codegen/vec-shrink-panik.rs
+++ b/tests/codegen-llvm/vec-shrink-panik.rs
diff --git a/tests/codegen/vec-with-capacity.rs b/tests/codegen-llvm/vec-with-capacity.rs
index 777bbcc4fcb..777bbcc4fcb 100644
--- a/tests/codegen/vec-with-capacity.rs
+++ b/tests/codegen-llvm/vec-with-capacity.rs
diff --git a/tests/codegen/vec_pop_push_noop.rs b/tests/codegen-llvm/vec_pop_push_noop.rs
index 3e375219fe0..3e375219fe0 100644
--- a/tests/codegen/vec_pop_push_noop.rs
+++ b/tests/codegen-llvm/vec_pop_push_noop.rs
diff --git a/tests/codegen/vecdeque-drain.rs b/tests/codegen-llvm/vecdeque-drain.rs
index a5e5da65013..a5e5da65013 100644
--- a/tests/codegen/vecdeque-drain.rs
+++ b/tests/codegen-llvm/vecdeque-drain.rs
diff --git a/tests/codegen/vecdeque-nonempty-get-no-panic.rs b/tests/codegen-llvm/vecdeque-nonempty-get-no-panic.rs
index 1f886b096bb..1f886b096bb 100644
--- a/tests/codegen/vecdeque-nonempty-get-no-panic.rs
+++ b/tests/codegen-llvm/vecdeque-nonempty-get-no-panic.rs
diff --git a/tests/codegen/vecdeque_no_panic.rs b/tests/codegen-llvm/vecdeque_no_panic.rs
index 3166842afca..3166842afca 100644
--- a/tests/codegen/vecdeque_no_panic.rs
+++ b/tests/codegen-llvm/vecdeque_no_panic.rs
diff --git a/tests/codegen/vecdeque_pop_push.rs b/tests/codegen-llvm/vecdeque_pop_push.rs
index 5afa1b2248b..5afa1b2248b 100644
--- a/tests/codegen/vecdeque_pop_push.rs
+++ b/tests/codegen-llvm/vecdeque_pop_push.rs
diff --git a/tests/codegen/virtual-call-attrs-issue-137646.rs b/tests/codegen-llvm/virtual-call-attrs-issue-137646.rs
index 5e453947f27..5e453947f27 100644
--- a/tests/codegen/virtual-call-attrs-issue-137646.rs
+++ b/tests/codegen-llvm/virtual-call-attrs-issue-137646.rs
diff --git a/tests/codegen/virtual-function-elimination-32bit.rs b/tests/codegen-llvm/virtual-function-elimination-32bit.rs
index c9919cecccf..c9919cecccf 100644
--- a/tests/codegen/virtual-function-elimination-32bit.rs
+++ b/tests/codegen-llvm/virtual-function-elimination-32bit.rs
diff --git a/tests/codegen/virtual-function-elimination.rs b/tests/codegen-llvm/virtual-function-elimination.rs
index 26604478c11..26604478c11 100644
--- a/tests/codegen/virtual-function-elimination.rs
+++ b/tests/codegen-llvm/virtual-function-elimination.rs
diff --git a/tests/codegen/vtable-loads.rs b/tests/codegen-llvm/vtable-loads.rs
index aa103ec6f7c..aa103ec6f7c 100644
--- a/tests/codegen/vtable-loads.rs
+++ b/tests/codegen-llvm/vtable-loads.rs
diff --git a/tests/codegen/vtable-upcast.rs b/tests/codegen-llvm/vtable-upcast.rs
index 9e13e8dd68a..9e13e8dd68a 100644
--- a/tests/codegen/vtable-upcast.rs
+++ b/tests/codegen-llvm/vtable-upcast.rs
diff --git a/tests/codegen/wasm_casts_trapping.rs b/tests/codegen-llvm/wasm_casts_trapping.rs
index 0908acd85fc..0908acd85fc 100644
--- a/tests/codegen/wasm_casts_trapping.rs
+++ b/tests/codegen-llvm/wasm_casts_trapping.rs
diff --git a/tests/codegen/wasm_exceptions.rs b/tests/codegen-llvm/wasm_exceptions.rs
index 07b8ae6e9d7..07b8ae6e9d7 100644
--- a/tests/codegen/wasm_exceptions.rs
+++ b/tests/codegen-llvm/wasm_exceptions.rs
diff --git a/tests/codegen/zip.rs b/tests/codegen-llvm/zip.rs
index 38ecf7c15c6..38ecf7c15c6 100644
--- a/tests/codegen/zip.rs
+++ b/tests/codegen-llvm/zip.rs
diff --git a/tests/codegen/zst-offset.rs b/tests/codegen-llvm/zst-offset.rs
index 475394a8815..475394a8815 100644
--- a/tests/codegen/zst-offset.rs
+++ b/tests/codegen-llvm/zst-offset.rs
diff --git a/tests/codegen/simd/project-to-simd-array-field.rs b/tests/codegen/simd/project-to-simd-array-field.rs
deleted file mode 100644
index 29fab640633..00000000000
--- a/tests/codegen/simd/project-to-simd-array-field.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-//@compile-flags: -Copt-level=3
-
-#![crate_type = "lib"]
-#![feature(repr_simd, core_intrinsics)]
-
-#[allow(non_camel_case_types)]
-#[derive(Clone, Copy)]
-#[repr(simd)]
-struct i32x4([i32; 4]);
-
-#[inline(always)]
-fn to_array4(a: i32x4) -> [i32; 4] {
-    a.0
-}
-
-// CHECK-LABEL: simd_add_self_then_return_array(
-// CHECK-SAME: ptr{{.+}}sret{{.+}}%[[RET:.+]],
-// CHECK-SAME: ptr{{.+}}%a)
-#[no_mangle]
-pub fn simd_add_self_then_return_array(a: &i32x4) -> [i32; 4] {
-    // It would be nice to just ban `.0` into simd types,
-    // but until we do this has to keep working.
-    // See also <https://github.com/rust-lang/rust/issues/105439>
-
-    // CHECK: %[[T1:.+]] = load <4 x i32>, ptr %a
-    // CHECK: %[[T2:.+]] = shl <4 x i32> %[[T1]], {{splat \(i32 1\)|<i32 1, i32 1, i32 1, i32 1>}}
-    // CHECK: store <4 x i32> %[[T2]], ptr %[[RET]]
-    let a = *a;
-    let b = unsafe { core::intrinsics::simd::simd_add(a, a) };
-    to_array4(b)
-}
diff --git a/tests/coverage/async_closure.cov-map b/tests/coverage/async_closure.cov-map
index 9f8dc8d6cbb..53128dd7a48 100644
--- a/tests/coverage/async_closure.cov-map
+++ b/tests/coverage/async_closure.cov-map
@@ -37,32 +37,29 @@ Number of file 0 mappings: 8
 Highest counter ID seen: c0
 
 Function name: async_closure::main::{closure#0}
-Raw bytes (14): 0x[01, 01, 00, 02, 01, 0b, 22, 00, 23, 01, 00, 23, 00, 24]
+Raw bytes (9): 0x[01, 01, 00, 01, 01, 0b, 22, 00, 24]
 Number of files: 1
 - file 0 => $DIR/async_closure.rs
 Number of expressions: 0
-Number of file 0 mappings: 2
-- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 35)
-- Code(Counter(0)) at (prev + 0, 35) to (start + 0, 36)
+Number of file 0 mappings: 1
+- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 36)
 Highest counter ID seen: c0
 
 Function name: async_closure::main::{closure#0}
-Raw bytes (14): 0x[01, 01, 00, 02, 01, 0b, 22, 00, 23, 01, 00, 23, 00, 24]
+Raw bytes (9): 0x[01, 01, 00, 01, 01, 0b, 22, 00, 24]
 Number of files: 1
 - file 0 => $DIR/async_closure.rs
 Number of expressions: 0
-Number of file 0 mappings: 2
-- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 35)
-- Code(Counter(0)) at (prev + 0, 35) to (start + 0, 36)
+Number of file 0 mappings: 1
+- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 36)
 Highest counter ID seen: c0
 
 Function name: async_closure::main::{closure#0}::{closure#0}::<i16>
-Raw bytes (14): 0x[01, 01, 00, 02, 01, 0b, 22, 00, 23, 01, 00, 23, 00, 24]
+Raw bytes (9): 0x[01, 01, 00, 01, 01, 0b, 22, 00, 24]
 Number of files: 1
 - file 0 => $DIR/async_closure.rs
 Number of expressions: 0
-Number of file 0 mappings: 2
-- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 35)
-- Code(Counter(0)) at (prev + 0, 35) to (start + 0, 36)
+Number of file 0 mappings: 1
+- Code(Counter(0)) at (prev + 11, 34) to (start + 0, 36)
 Highest counter ID seen: c0
 
diff --git a/tests/crashes/121097.rs b/tests/crashes/121097.rs
deleted file mode 100644
index 65c6028e03e..00000000000
--- a/tests/crashes/121097.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-//@ known-bug: #121097
-#[repr(simd)]
-enum Aligned {
-    Zero = 0,
-    One = 1,
-}
-
-fn tou8(al: Aligned) -> u8 {
-    al as u8
-}
diff --git a/tests/crashes/140100.rs b/tests/crashes/140100.rs
deleted file mode 100644
index 0836ffe2d92..00000000000
--- a/tests/crashes/140100.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-//@ known-bug: #140100
-fn a()
-where
-    b: Sized,
-{
-    println!()
-}
diff --git a/tests/crashes/140365.rs b/tests/crashes/140365.rs
deleted file mode 100644
index 809ceaf35a0..00000000000
--- a/tests/crashes/140365.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-//@ known-bug: #140365
-//@compile-flags: -C opt-level=1 -Zvalidate-mir
-fn f() -> &'static str
-where
-    Self: Sized,
-{
-    ""
-}
diff --git a/tests/mir-opt/building/enum_cast.bar.built.after.mir b/tests/mir-opt/building/enum_cast.bar.built.after.mir
index 72d0cf5d1e8..0dc6448ffad 100644
--- a/tests/mir-opt/building/enum_cast.bar.built.after.mir
+++ b/tests/mir-opt/building/enum_cast.bar.built.after.mir
@@ -5,16 +5,11 @@ fn bar(_1: Bar) -> usize {
     let mut _0: usize;
     let _2: Bar;
     let mut _3: isize;
-    let mut _4: u8;
-    let mut _5: bool;
 
     bb0: {
         StorageLive(_2);
         _2 = move _1;
         _3 = discriminant(_2);
-        _4 = copy _3 as u8 (IntToInt);
-        _5 = Le(copy _4, const 1_u8);
-        assume(move _5);
         _0 = move _3 as usize (IntToInt);
         StorageDead(_2);
         return;
diff --git a/tests/mir-opt/building/enum_cast.boo.built.after.mir b/tests/mir-opt/building/enum_cast.boo.built.after.mir
index 91e06dc8862..3540a2b1e2e 100644
--- a/tests/mir-opt/building/enum_cast.boo.built.after.mir
+++ b/tests/mir-opt/building/enum_cast.boo.built.after.mir
@@ -5,16 +5,11 @@ fn boo(_1: Boo) -> usize {
     let mut _0: usize;
     let _2: Boo;
     let mut _3: u8;
-    let mut _4: u8;
-    let mut _5: bool;
 
     bb0: {
         StorageLive(_2);
         _2 = move _1;
         _3 = discriminant(_2);
-        _4 = copy _3 as u8 (IntToInt);
-        _5 = Le(copy _4, const 1_u8);
-        assume(move _5);
         _0 = move _3 as usize (IntToInt);
         StorageDead(_2);
         return;
diff --git a/tests/mir-opt/building/enum_cast.far.built.after.mir b/tests/mir-opt/building/enum_cast.far.built.after.mir
index 14eaf344190..da34b7ba6c2 100644
--- a/tests/mir-opt/building/enum_cast.far.built.after.mir
+++ b/tests/mir-opt/building/enum_cast.far.built.after.mir
@@ -5,16 +5,11 @@ fn far(_1: Far) -> isize {
     let mut _0: isize;
     let _2: Far;
     let mut _3: i16;
-    let mut _4: u16;
-    let mut _5: bool;
 
     bb0: {
         StorageLive(_2);
         _2 = move _1;
         _3 = discriminant(_2);
-        _4 = copy _3 as u16 (IntToInt);
-        _5 = Le(copy _4, const 1_u16);
-        assume(move _5);
         _0 = move _3 as isize (IntToInt);
         StorageDead(_2);
         return;
diff --git a/tests/mir-opt/building/enum_cast.offsetty.built.after.mir b/tests/mir-opt/building/enum_cast.offsetty.built.after.mir
index 1c2acbe3023..b84ce0de9a0 100644
--- a/tests/mir-opt/building/enum_cast.offsetty.built.after.mir
+++ b/tests/mir-opt/building/enum_cast.offsetty.built.after.mir
@@ -5,20 +5,11 @@ fn offsetty(_1: NotStartingAtZero) -> u32 {
     let mut _0: u32;
     let _2: NotStartingAtZero;
     let mut _3: isize;
-    let mut _4: u8;
-    let mut _5: bool;
-    let mut _6: bool;
-    let mut _7: bool;
 
     bb0: {
         StorageLive(_2);
         _2 = move _1;
         _3 = discriminant(_2);
-        _4 = copy _3 as u8 (IntToInt);
-        _5 = Ge(copy _4, const 4_u8);
-        _6 = Le(copy _4, const 8_u8);
-        _7 = BitAnd(move _5, move _6);
-        assume(move _7);
         _0 = move _3 as u32 (IntToInt);
         StorageDead(_2);
         return;
diff --git a/tests/mir-opt/building/enum_cast.rs b/tests/mir-opt/building/enum_cast.rs
index 4fb9a27e309..eaf5537e0ab 100644
--- a/tests/mir-opt/building/enum_cast.rs
+++ b/tests/mir-opt/building/enum_cast.rs
@@ -4,6 +4,13 @@
 // EMIT_MIR enum_cast.boo.built.after.mir
 // EMIT_MIR enum_cast.far.built.after.mir
 
+// Previously MIR building included range `Assume`s in the MIR statements,
+// which these tests demonstrated, but now that we have range metadata on
+// parameters in LLVM (in addition to !range metadata on loads) the impact
+// of the extra volume of MIR is worse than its value.
+// Thus these are now about the discriminant type and the cast type,
+// both of which might be different from the backend type of the tag.
+
 enum Foo {
     A,
 }
diff --git a/tests/mir-opt/building/enum_cast.signy.built.after.mir b/tests/mir-opt/building/enum_cast.signy.built.after.mir
index 39b6dfaf005..503c506748f 100644
--- a/tests/mir-opt/building/enum_cast.signy.built.after.mir
+++ b/tests/mir-opt/building/enum_cast.signy.built.after.mir
@@ -5,20 +5,11 @@ fn signy(_1: SignedAroundZero) -> i16 {
     let mut _0: i16;
     let _2: SignedAroundZero;
     let mut _3: i16;
-    let mut _4: u16;
-    let mut _5: bool;
-    let mut _6: bool;
-    let mut _7: bool;
 
     bb0: {
         StorageLive(_2);
         _2 = move _1;
         _3 = discriminant(_2);
-        _4 = copy _3 as u16 (IntToInt);
-        _5 = Ge(copy _4, const 65534_u16);
-        _6 = Le(copy _4, const 2_u16);
-        _7 = BitOr(move _5, move _6);
-        assume(move _7);
         _0 = move _3 as i16 (IntToInt);
         StorageDead(_2);
         return;
diff --git a/tests/mir-opt/building/issue_101867.main.built.after.mir b/tests/mir-opt/building/issue_101867.main.built.after.mir
index dd1d093c4db..e59b23fdd20 100644
--- a/tests/mir-opt/building/issue_101867.main.built.after.mir
+++ b/tests/mir-opt/building/issue_101867.main.built.after.mir
@@ -71,3 +71,7 @@ fn main() -> () {
         resume;
     }
 }
+
+ALLOC0 (size: 14, align: 1) {
+    65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
+}
diff --git a/tests/mir-opt/building/storage_live_dead_in_statics.XXX.built.after.mir b/tests/mir-opt/building/storage_live_dead_in_statics.XXX.built.after.mir
index 73ead005f8c..4ec12032690 100644
--- a/tests/mir-opt/building/storage_live_dead_in_statics.XXX.built.after.mir
+++ b/tests/mir-opt/building/storage_live_dead_in_statics.XXX.built.after.mir
@@ -198,3 +198,7 @@ static XXX: &Foo = {
         return;
     }
 }
+
+ALLOC0 (size: 2, align: 1) {
+    68 69                                           │ hi
+}
diff --git a/tests/mir-opt/building/user_type_annotations.let_else.built.after.mir b/tests/mir-opt/building/user_type_annotations.let_else.built.after.mir
index 3a515787c10..6369dbec750 100644
--- a/tests/mir-opt/building/user_type_annotations.let_else.built.after.mir
+++ b/tests/mir-opt/building/user_type_annotations.let_else.built.after.mir
@@ -78,3 +78,9 @@ fn let_else() -> () {
         resume;
     }
 }
+
+ALLOC0 (size: 40, align: 1) {
+    0x00 │ 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 │ internal error: 
+    0x10 │ 65 6e 74 65 72 65 64 20 75 6e 72 65 61 63 68 61 │ entered unreacha
+    0x20 │ 62 6c 65 20 63 6f 64 65                         │ ble code
+}
diff --git a/tests/mir-opt/building/user_type_annotations.let_else_bindless.built.after.mir b/tests/mir-opt/building/user_type_annotations.let_else_bindless.built.after.mir
index 52a6d904d45..b2a06ae53a8 100644
--- a/tests/mir-opt/building/user_type_annotations.let_else_bindless.built.after.mir
+++ b/tests/mir-opt/building/user_type_annotations.let_else_bindless.built.after.mir
@@ -60,3 +60,9 @@ fn let_else_bindless() -> () {
         resume;
     }
 }
+
+ALLOC0 (size: 40, align: 1) {
+    0x00 │ 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 │ internal error: 
+    0x10 │ 65 6e 74 65 72 65 64 20 75 6e 72 65 61 63 68 61 │ entered unreacha
+    0x20 │ 62 6c 65 20 63 6f 64 65                         │ ble code
+}
diff --git a/tests/mir-opt/const_debuginfo.main.SingleUseConsts.diff b/tests/mir-opt/const_debuginfo.main.SingleUseConsts.diff
index 8088984bc77..9baf8439e59 100644
--- a/tests/mir-opt/const_debuginfo.main.SingleUseConsts.diff
+++ b/tests/mir-opt/const_debuginfo.main.SingleUseConsts.diff
@@ -123,3 +123,5 @@
   
   ALLOC1 (size: 4, align: 2) { .. }
   
+  ALLOC2 (size: 13, align: 1) { .. }
+  
diff --git a/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-abort.diff b/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-abort.diff
index 417406de39b..24b10217865 100644
--- a/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-abort.diff
+++ b/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-abort.diff
@@ -24,3 +24,7 @@
       }
   }
   
+  ALLOC0 (size: 14, align: 1) {
+      65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
+  }
+  
diff --git a/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-unwind.diff b/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-unwind.diff
index 63ba2c6865f..a73485e7944 100644
--- a/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-unwind.diff
+++ b/tests/mir-opt/const_prop/control_flow_simplification.hello.GVN.panic-unwind.diff
@@ -24,3 +24,7 @@
       }
   }
   
+  ALLOC0 (size: 14, align: 1) {
+      65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
+  }
+  
diff --git a/tests/mir-opt/coverage/branch_match_arms.main.InstrumentCoverage.diff b/tests/mir-opt/coverage/branch_match_arms.main.InstrumentCoverage.diff
index d465b8bded2..fa88211383a 100644
--- a/tests/mir-opt/coverage/branch_match_arms.main.InstrumentCoverage.diff
+++ b/tests/mir-opt/coverage/branch_match_arms.main.InstrumentCoverage.diff
@@ -40,7 +40,7 @@
 +     coverage Code { bcb: bcb5 } => $DIR/branch_match_arms.rs:19:17: 19:18 (#0);
 +     coverage Code { bcb: bcb5 } => $DIR/branch_match_arms.rs:19:23: 19:30 (#0);
 +     coverage Code { bcb: bcb5 } => $DIR/branch_match_arms.rs:19:31: 19:32 (#0);
-+     coverage Code { bcb: bcb2 } => $DIR/branch_match_arms.rs:21:2: 21:2 (#0);
++     coverage Code { bcb: bcb2 } => $DIR/branch_match_arms.rs:21:1: 21:2 (#0);
 + 
       bb0: {
 +         Coverage::VirtualCounter(bcb0);
diff --git a/tests/mir-opt/coverage/instrument_coverage.bar.InstrumentCoverage.diff b/tests/mir-opt/coverage/instrument_coverage.bar.InstrumentCoverage.diff
index cf6d85abd80..9b6d2b22087 100644
--- a/tests/mir-opt/coverage/instrument_coverage.bar.InstrumentCoverage.diff
+++ b/tests/mir-opt/coverage/instrument_coverage.bar.InstrumentCoverage.diff
@@ -6,7 +6,7 @@
   
 +     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:27:1: 27:17 (#0);
 +     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:28:5: 28:9 (#0);
-+     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:29:2: 29:2 (#0);
++     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:29:1: 29:2 (#0);
 + 
       bb0: {
 +         Coverage::VirtualCounter(bcb0);
diff --git a/tests/mir-opt/coverage/instrument_coverage.main.InstrumentCoverage.diff b/tests/mir-opt/coverage/instrument_coverage.main.InstrumentCoverage.diff
index 980c5e202ff..b2bb2375aee 100644
--- a/tests/mir-opt/coverage/instrument_coverage.main.InstrumentCoverage.diff
+++ b/tests/mir-opt/coverage/instrument_coverage.main.InstrumentCoverage.diff
@@ -10,8 +10,8 @@
 +     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:13:1: 13:10 (#0);
 +     coverage Code { bcb: bcb1 } => $DIR/instrument_coverage.rs:15:12: 15:15 (#0);
 +     coverage Code { bcb: bcb2 } => $DIR/instrument_coverage.rs:16:13: 16:18 (#0);
-+     coverage Code { bcb: bcb3 } => $DIR/instrument_coverage.rs:17:10: 17:10 (#0);
-+     coverage Code { bcb: bcb2 } => $DIR/instrument_coverage.rs:19:2: 19:2 (#0);
++     coverage Code { bcb: bcb3 } => $DIR/instrument_coverage.rs:17:9: 17:10 (#0);
++     coverage Code { bcb: bcb2 } => $DIR/instrument_coverage.rs:19:1: 19:2 (#0);
 + 
       bb0: {
 +         Coverage::VirtualCounter(bcb0);
diff --git a/tests/mir-opt/coverage/instrument_coverage_cleanup.main.CleanupPostBorrowck.diff b/tests/mir-opt/coverage/instrument_coverage_cleanup.main.CleanupPostBorrowck.diff
index b707cd41788..2eb78c08ee8 100644
--- a/tests/mir-opt/coverage/instrument_coverage_cleanup.main.CleanupPostBorrowck.diff
+++ b/tests/mir-opt/coverage/instrument_coverage_cleanup.main.CleanupPostBorrowck.diff
@@ -10,8 +10,8 @@
       coverage Code { bcb: bcb0 } => $DIR/instrument_coverage_cleanup.rs:13:1: 13:10 (#0);
       coverage Code { bcb: bcb0 } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0);
       coverage Code { bcb: bcb3 } => $DIR/instrument_coverage_cleanup.rs:14:37: 14:39 (#0);
-      coverage Code { bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:39: 14:39 (#0);
-      coverage Code { bcb: bcb2 } => $DIR/instrument_coverage_cleanup.rs:15:2: 15:2 (#0);
+      coverage Code { bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:38: 14:39 (#0);
+      coverage Code { bcb: bcb2 } => $DIR/instrument_coverage_cleanup.rs:15:1: 15:2 (#0);
       coverage Branch { true_bcb: bcb3, false_bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0);
   
       bb0: {
diff --git a/tests/mir-opt/coverage/instrument_coverage_cleanup.main.InstrumentCoverage.diff b/tests/mir-opt/coverage/instrument_coverage_cleanup.main.InstrumentCoverage.diff
index 239b845c231..0c1bc24b6dc 100644
--- a/tests/mir-opt/coverage/instrument_coverage_cleanup.main.InstrumentCoverage.diff
+++ b/tests/mir-opt/coverage/instrument_coverage_cleanup.main.InstrumentCoverage.diff
@@ -10,8 +10,8 @@
 +     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage_cleanup.rs:13:1: 13:10 (#0);
 +     coverage Code { bcb: bcb0 } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0);
 +     coverage Code { bcb: bcb3 } => $DIR/instrument_coverage_cleanup.rs:14:37: 14:39 (#0);
-+     coverage Code { bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:39: 14:39 (#0);
-+     coverage Code { bcb: bcb2 } => $DIR/instrument_coverage_cleanup.rs:15:2: 15:2 (#0);
++     coverage Code { bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:38: 14:39 (#0);
++     coverage Code { bcb: bcb2 } => $DIR/instrument_coverage_cleanup.rs:15:1: 15:2 (#0);
 +     coverage Branch { true_bcb: bcb3, false_bcb: bcb1 } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0);
 + 
       bb0: {
diff --git a/tests/mir-opt/dead-store-elimination/place_mention.main.DeadStoreElimination-initial.diff b/tests/mir-opt/dead-store-elimination/place_mention.main.DeadStoreElimination-initial.diff
index 5a550285871..8e224e0533a 100644
--- a/tests/mir-opt/dead-store-elimination/place_mention.main.DeadStoreElimination-initial.diff
+++ b/tests/mir-opt/dead-store-elimination/place_mention.main.DeadStoreElimination-initial.diff
@@ -17,3 +17,11 @@
       }
   }
   
+  ALLOC0 (size: 5, align: 1) {
+      57 6f 72 6c 64                                  │ World
+  }
+  
+  ALLOC1 (size: 5, align: 1) {
+      48 65 6c 6c 6f                                  │ Hello
+  }
+  
diff --git a/tests/mir-opt/gvn.duplicate_slice.GVN.panic-abort.diff b/tests/mir-opt/gvn.duplicate_slice.GVN.panic-abort.diff
index 18c2897d528..3bde339a839 100644
--- a/tests/mir-opt/gvn.duplicate_slice.GVN.panic-abort.diff
+++ b/tests/mir-opt/gvn.duplicate_slice.GVN.panic-abort.diff
@@ -16,23 +16,31 @@
   
       bb0: {
           _7 = (const "a",);
-          _1 = copy (_7.0: &str) as u128 (Transmute);
-          _5 = identity::<&str>(copy (_7.0: &str)) -> [return: bb1, unwind unreachable];
+-         _1 = copy (_7.0: &str) as u128 (Transmute);
+-         _5 = identity::<&str>(copy (_7.0: &str)) -> [return: bb1, unwind unreachable];
++         _1 = const "a" as u128 (Transmute);
++         _5 = identity::<&str>(const "a") -> [return: bb1, unwind unreachable];
       }
   
       bb1: {
           _3 = copy _5 as u128 (Transmute);
           _8 = const "a";
-          _2 = copy _8 as u128 (Transmute);
-          _6 = identity::<&str>(copy _8) -> [return: bb2, unwind unreachable];
+-         _2 = copy _8 as u128 (Transmute);
+-         _6 = identity::<&str>(copy _8) -> [return: bb2, unwind unreachable];
++         _2 = copy _1;
++         _6 = identity::<&str>(const "a") -> [return: bb2, unwind unreachable];
       }
   
       bb2: {
           _4 = copy _6 as u128 (Transmute);
-          _9 = Eq(copy _1, copy _2);
+-         _9 = Eq(copy _1, copy _2);
++         _9 = const true;
           _10 = Eq(copy _3, copy _4);
-          _0 = (copy _9, copy _10);
+-         _0 = (copy _9, copy _10);
++         _0 = (const true, copy _10);
           return;
       }
   }
   
+  ALLOC0 (size: 1, align: 1) { .. }
+  
diff --git a/tests/mir-opt/gvn.duplicate_slice.GVN.panic-unwind.diff b/tests/mir-opt/gvn.duplicate_slice.GVN.panic-unwind.diff
index 55f382e926e..cccfbf60585 100644
--- a/tests/mir-opt/gvn.duplicate_slice.GVN.panic-unwind.diff
+++ b/tests/mir-opt/gvn.duplicate_slice.GVN.panic-unwind.diff
@@ -16,23 +16,31 @@
   
       bb0: {
           _7 = (const "a",);
-          _1 = copy (_7.0: &str) as u128 (Transmute);
-          _5 = identity::<&str>(copy (_7.0: &str)) -> [return: bb1, unwind continue];
+-         _1 = copy (_7.0: &str) as u128 (Transmute);
+-         _5 = identity::<&str>(copy (_7.0: &str)) -> [return: bb1, unwind continue];
++         _1 = const "a" as u128 (Transmute);
++         _5 = identity::<&str>(const "a") -> [return: bb1, unwind continue];
       }
   
       bb1: {
           _3 = copy _5 as u128 (Transmute);
           _8 = const "a";
-          _2 = copy _8 as u128 (Transmute);
-          _6 = identity::<&str>(copy _8) -> [return: bb2, unwind continue];
+-         _2 = copy _8 as u128 (Transmute);
+-         _6 = identity::<&str>(copy _8) -> [return: bb2, unwind continue];
++         _2 = copy _1;
++         _6 = identity::<&str>(const "a") -> [return: bb2, unwind continue];
       }
   
       bb2: {
           _4 = copy _6 as u128 (Transmute);
-          _9 = Eq(copy _1, copy _2);
+-         _9 = Eq(copy _1, copy _2);
++         _9 = const true;
           _10 = Eq(copy _3, copy _4);
-          _0 = (copy _9, copy _10);
+-         _0 = (copy _9, copy _10);
++         _0 = (const true, copy _10);
           return;
       }
   }
   
+  ALLOC0 (size: 1, align: 1) { .. }
+  
diff --git a/tests/mir-opt/gvn.fn_pointers.GVN.panic-abort.diff b/tests/mir-opt/gvn.fn_pointers.GVN.panic-abort.diff
index 3cce35d34e9..f3f63195637 100644
--- a/tests/mir-opt/gvn.fn_pointers.GVN.panic-abort.diff
+++ b/tests/mir-opt/gvn.fn_pointers.GVN.panic-abort.diff
@@ -8,10 +8,10 @@
       let mut _3: fn(u8) -> u8;
       let _5: ();
       let mut _6: fn(u8) -> u8;
-      let mut _9: {closure@$DIR/gvn.rs:620:19: 620:21};
+      let mut _9: {closure@$DIR/gvn.rs:617:19: 617:21};
       let _10: ();
       let mut _11: fn();
-      let mut _13: {closure@$DIR/gvn.rs:620:19: 620:21};
+      let mut _13: {closure@$DIR/gvn.rs:617:19: 617:21};
       let _14: ();
       let mut _15: fn();
       scope 1 {
@@ -19,7 +19,7 @@
           let _4: fn(u8) -> u8;
           scope 2 {
               debug g => _4;
-              let _7: {closure@$DIR/gvn.rs:620:19: 620:21};
+              let _7: {closure@$DIR/gvn.rs:617:19: 617:21};
               scope 3 {
                   debug closure => _7;
                   let _8: fn();
@@ -62,16 +62,16 @@
           StorageDead(_6);
           StorageDead(_5);
 -         StorageLive(_7);
--         _7 = {closure@$DIR/gvn.rs:620:19: 620:21};
+-         _7 = {closure@$DIR/gvn.rs:617:19: 617:21};
 -         StorageLive(_8);
 +         nop;
-+         _7 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
++         _7 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
 +         nop;
           StorageLive(_9);
 -         _9 = copy _7;
 -         _8 = move _9 as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
-+         _9 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
-+         _8 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
++         _9 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
++         _8 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
           StorageDead(_9);
           StorageLive(_10);
           StorageLive(_11);
@@ -88,8 +88,8 @@
           StorageLive(_13);
 -         _13 = copy _7;
 -         _12 = move _13 as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
-+         _13 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
-+         _12 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
++         _13 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
++         _12 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
           StorageDead(_13);
           StorageLive(_14);
           StorageLive(_15);
diff --git a/tests/mir-opt/gvn.fn_pointers.GVN.panic-unwind.diff b/tests/mir-opt/gvn.fn_pointers.GVN.panic-unwind.diff
index d85aca040fe..029e736a979 100644
--- a/tests/mir-opt/gvn.fn_pointers.GVN.panic-unwind.diff
+++ b/tests/mir-opt/gvn.fn_pointers.GVN.panic-unwind.diff
@@ -8,10 +8,10 @@
       let mut _3: fn(u8) -> u8;
       let _5: ();
       let mut _6: fn(u8) -> u8;
-      let mut _9: {closure@$DIR/gvn.rs:620:19: 620:21};
+      let mut _9: {closure@$DIR/gvn.rs:617:19: 617:21};
       let _10: ();
       let mut _11: fn();
-      let mut _13: {closure@$DIR/gvn.rs:620:19: 620:21};
+      let mut _13: {closure@$DIR/gvn.rs:617:19: 617:21};
       let _14: ();
       let mut _15: fn();
       scope 1 {
@@ -19,7 +19,7 @@
           let _4: fn(u8) -> u8;
           scope 2 {
               debug g => _4;
-              let _7: {closure@$DIR/gvn.rs:620:19: 620:21};
+              let _7: {closure@$DIR/gvn.rs:617:19: 617:21};
               scope 3 {
                   debug closure => _7;
                   let _8: fn();
@@ -62,16 +62,16 @@
           StorageDead(_6);
           StorageDead(_5);
 -         StorageLive(_7);
--         _7 = {closure@$DIR/gvn.rs:620:19: 620:21};
+-         _7 = {closure@$DIR/gvn.rs:617:19: 617:21};
 -         StorageLive(_8);
 +         nop;
-+         _7 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
++         _7 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
 +         nop;
           StorageLive(_9);
 -         _9 = copy _7;
 -         _8 = move _9 as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
-+         _9 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
-+         _8 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
++         _9 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
++         _8 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
           StorageDead(_9);
           StorageLive(_10);
           StorageLive(_11);
@@ -88,8 +88,8 @@
           StorageLive(_13);
 -         _13 = copy _7;
 -         _12 = move _13 as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
-+         _13 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21};
-+         _12 = const ZeroSized: {closure@$DIR/gvn.rs:620:19: 620:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
++         _13 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21};
++         _12 = const ZeroSized: {closure@$DIR/gvn.rs:617:19: 617:21} as fn() (PointerCoercion(ClosureFnPointer(Safe), AsCast));
           StorageDead(_13);
           StorageLive(_14);
           StorageLive(_15);
diff --git a/tests/mir-opt/gvn.rs b/tests/mir-opt/gvn.rs
index 5d348bc3c1e..407980fd0fd 100644
--- a/tests/mir-opt/gvn.rs
+++ b/tests/mir-opt/gvn.rs
@@ -533,10 +533,10 @@ fn dereferences(t: &mut u32, u: &impl Copy, s: &S<u32>) {
 fn slices() {
     // CHECK-LABEL: fn slices(
     // CHECK: {{_.*}} = const "
-    // CHECK-NOT: {{_.*}} = const "
-    let s = "my favourite slice"; // This is a `Const::Slice` in MIR.
+    // CHECK: {{_.*}} = const "
+    let s = "my favourite slice";
     opaque(s);
-    let t = s; // This should be the same pointer, so cannot be a `Const::Slice`.
+    let t = s; // This should be the same pointer.
     opaque(t);
     assert_eq!(s.as_ptr(), t.as_ptr());
     let u = unsafe { transmute::<&str, &[u8]>(s) };
@@ -556,12 +556,12 @@ fn duplicate_slice() -> (bool, bool) {
         let d: &str;
         {
             // CHECK: [[a:_.*]] = (const "a",);
-            // CHECK: [[au:_.*]] = copy ([[a]].0: &str) as u128 (Transmute);
+            // CHECK: [[au:_.*]] = const "a" as u128 (Transmute);
             let a = ("a",);
             Call(au = transmute::<_, u128>(a.0), ReturnTo(bb1), UnwindContinue())
         }
         bb1 = {
-            // CHECK: [[c:_.*]] = identity::<&str>(copy ([[a]].0: &str))
+            // CHECK: [[c:_.*]] = identity::<&str>(const "a")
             Call(c = identity(a.0), ReturnTo(bb2), UnwindContinue())
         }
         bb2 = {
@@ -569,15 +569,13 @@ fn duplicate_slice() -> (bool, bool) {
             Call(cu = transmute::<_, u128>(c), ReturnTo(bb3), UnwindContinue())
         }
         bb3 = {
-            // This slice is different from `a.0`. Hence `bu` is not `au`.
             // CHECK: [[b:_.*]] = const "a";
-            // CHECK: [[bu:_.*]] = copy [[b]] as u128 (Transmute);
+            // CHECK: [[bu:_.*]] = copy [[au]];
             let b = "a";
             Call(bu = transmute::<_, u128>(b), ReturnTo(bb4), UnwindContinue())
         }
         bb4 = {
-            // This returns a copy of `b`, which is not `a`.
-            // CHECK: [[d:_.*]] = identity::<&str>(copy [[b]])
+            // CHECK: [[d:_.*]] = identity::<&str>(const "a")
             Call(d = identity(b), ReturnTo(bb5), UnwindContinue())
         }
         bb5 = {
@@ -585,8 +583,7 @@ fn duplicate_slice() -> (bool, bool) {
             Call(du = transmute::<_, u128>(d), ReturnTo(bb6), UnwindContinue())
         }
         bb6 = {
-            // `direct` must not fold to `true`, as `indirect` will not.
-            // CHECK: = Eq(copy [[au]], copy [[bu]]);
+            // CHECK: = const true;
             // CHECK: = Eq(copy [[cu]], copy [[du]]);
             let direct = au == bu;
             let indirect = cu == du;
diff --git a/tests/mir-opt/gvn.slices.GVN.panic-abort.diff b/tests/mir-opt/gvn.slices.GVN.panic-abort.diff
index e8e99b44e72..091c3bd5c7b 100644
--- a/tests/mir-opt/gvn.slices.GVN.panic-abort.diff
+++ b/tests/mir-opt/gvn.slices.GVN.panic-abort.diff
@@ -87,22 +87,24 @@
           _1 = const "my favourite slice";
           StorageLive(_2);
           StorageLive(_3);
-          _3 = copy _1;
+-         _3 = copy _1;
 -         _2 = opaque::<&str>(move _3) -> [return: bb1, unwind unreachable];
-+         _2 = opaque::<&str>(copy _1) -> [return: bb1, unwind unreachable];
++         _3 = const "my favourite slice";
++         _2 = opaque::<&str>(const "my favourite slice") -> [return: bb1, unwind unreachable];
       }
   
       bb1: {
           StorageDead(_3);
           StorageDead(_2);
           StorageLive(_4);
-          _4 = copy _1;
+-         _4 = copy _1;
++         _4 = const "my favourite slice";
           StorageLive(_5);
           StorageLive(_6);
 -         _6 = copy _4;
 -         _5 = opaque::<&str>(move _6) -> [return: bb2, unwind unreachable];
-+         _6 = copy _1;
-+         _5 = opaque::<&str>(copy _1) -> [return: bb2, unwind unreachable];
++         _6 = const "my favourite slice";
++         _5 = opaque::<&str>(const "my favourite slice") -> [return: bb2, unwind unreachable];
       }
   
       bb2: {
@@ -315,3 +317,5 @@
       }
   }
   
+  ALLOC0 (size: 18, align: 1) { .. }
+  
diff --git a/tests/mir-opt/gvn.slices.GVN.panic-unwind.diff b/tests/mir-opt/gvn.slices.GVN.panic-unwind.diff
index 4296d4d4a59..9768956c9c8 100644
--- a/tests/mir-opt/gvn.slices.GVN.panic-unwind.diff
+++ b/tests/mir-opt/gvn.slices.GVN.panic-unwind.diff
@@ -87,22 +87,24 @@
           _1 = const "my favourite slice";
           StorageLive(_2);
           StorageLive(_3);
-          _3 = copy _1;
+-         _3 = copy _1;
 -         _2 = opaque::<&str>(move _3) -> [return: bb1, unwind continue];
-+         _2 = opaque::<&str>(copy _1) -> [return: bb1, unwind continue];
++         _3 = const "my favourite slice";
++         _2 = opaque::<&str>(const "my favourite slice") -> [return: bb1, unwind continue];
       }
   
       bb1: {
           StorageDead(_3);
           StorageDead(_2);
           StorageLive(_4);
-          _4 = copy _1;
+-         _4 = copy _1;
++         _4 = const "my favourite slice";
           StorageLive(_5);
           StorageLive(_6);
 -         _6 = copy _4;
 -         _5 = opaque::<&str>(move _6) -> [return: bb2, unwind continue];
-+         _6 = copy _1;
-+         _5 = opaque::<&str>(copy _1) -> [return: bb2, unwind continue];
++         _6 = const "my favourite slice";
++         _5 = opaque::<&str>(const "my favourite slice") -> [return: bb2, unwind continue];
       }
   
       bb2: {
@@ -315,3 +317,5 @@
       }
   }
   
+  ALLOC0 (size: 18, align: 1) { .. }
+  
diff --git a/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-abort.diff b/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-abort.diff
index 0433152bb4f..3bbfd3a891e 100644
--- a/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-abort.diff
+++ b/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-abort.diff
@@ -47,3 +47,5 @@
       }
   }
   
+  ALLOC0 (size: 14, align: 1) { .. }
+  
diff --git a/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-unwind.diff b/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-unwind.diff
index 5722c865c2f..03464f43f81 100644
--- a/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-unwind.diff
+++ b/tests/mir-opt/gvn.wrap_unwrap.GVN.panic-unwind.diff
@@ -47,3 +47,5 @@
       }
   }
   
+  ALLOC0 (size: 14, align: 1) { .. }
+  
diff --git a/tests/mir-opt/inline/inline_diverging.g.Inline.panic-abort.diff b/tests/mir-opt/inline/inline_diverging.g.Inline.panic-abort.diff
index bda85586515..423de59e575 100644
--- a/tests/mir-opt/inline/inline_diverging.g.Inline.panic-abort.diff
+++ b/tests/mir-opt/inline/inline_diverging.g.Inline.panic-abort.diff
@@ -38,5 +38,9 @@
 +         StorageLive(_7);
 +         _7 = begin_panic::<&str>(const "explicit panic") -> unwind unreachable;
       }
++ }
++ 
++ ALLOC0 (size: 14, align: 1) {
++     65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
   }
   
diff --git a/tests/mir-opt/inline/inline_diverging.g.Inline.panic-unwind.diff b/tests/mir-opt/inline/inline_diverging.g.Inline.panic-unwind.diff
index ecd72d2b37f..3689744dcb0 100644
--- a/tests/mir-opt/inline/inline_diverging.g.Inline.panic-unwind.diff
+++ b/tests/mir-opt/inline/inline_diverging.g.Inline.panic-unwind.diff
@@ -38,5 +38,9 @@
 +         StorageLive(_7);
 +         _7 = begin_panic::<&str>(const "explicit panic") -> unwind continue;
       }
++ }
++ 
++ ALLOC0 (size: 14, align: 1) {
++     65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
   }
   
diff --git a/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff b/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff
index 1e9a6dd4f5c..169a6768448 100644
--- a/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff
+++ b/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-abort.diff
@@ -251,7 +251,7 @@
 +         StorageLive(_50);
 +         _50 = discriminant(_43);
 +         switchInt(move _50) -> [0: bb11, 1: bb12, otherwise: bb5];
-+     }
+      }
 + 
 +     bb5: {
 +         unreachable;
@@ -329,6 +329,11 @@
 +         StorageDead(_19);
 +         _25 = discriminant(_18);
 +         switchInt(move _25) -> [0: bb7, 1: bb6, otherwise: bb5];
-      }
++     }
++ }
++ 
++ ALLOC0 (size: 31, align: 1) {
++     0x00 │ 60 52 65 61 64 79 60 20 70 6f 6c 6c 65 64 20 61 │ `Ready` polled a
++     0x10 │ 66 74 65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e    │ fter completion
   }
   
diff --git a/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff b/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff
index 94b89a310ba..14ba3311d2d 100644
--- a/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff
+++ b/tests/mir-opt/inline_coroutine_body.run2-{closure#0}.Inline.panic-unwind.diff
@@ -274,7 +274,7 @@
 -         resume;
 +     bb7: {
 +         unreachable;
-+     }
+      }
 + 
 +     bb8: {
 +         _17 = const ();
@@ -370,6 +370,11 @@
 +         StorageDead(_19);
 +         _25 = discriminant(_18);
 +         switchInt(move _25) -> [0: bb9, 1: bb8, otherwise: bb7];
-      }
++     }
++ }
++ 
++ ALLOC0 (size: 31, align: 1) {
++     0x00 │ 60 52 65 61 64 79 60 20 70 6f 6c 6c 65 64 20 61 │ `Ready` polled a
++     0x10 │ 66 74 65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e    │ fter completion
   }
   
diff --git a/tests/mir-opt/instsimplify/aggregate_array.strs.InstSimplify-after-simplifycfg.diff b/tests/mir-opt/instsimplify/aggregate_array.strs.InstSimplify-after-simplifycfg.diff
index f8884881756..ca5573cf97f 100644
--- a/tests/mir-opt/instsimplify/aggregate_array.strs.InstSimplify-after-simplifycfg.diff
+++ b/tests/mir-opt/instsimplify/aggregate_array.strs.InstSimplify-after-simplifycfg.diff
@@ -11,3 +11,7 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      61                                              │ a
+  }
+  
diff --git a/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff b/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff
index c02bab3524b..08dee3697e0 100644
--- a/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff
+++ b/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-abort.diff
@@ -51,3 +51,9 @@
       }
   }
   
+  ALLOC0 (size: 40, align: 1) {
+      0x00 │ 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 │ internal error: 
+      0x10 │ 65 6e 74 65 72 65 64 20 75 6e 72 65 61 63 68 61 │ entered unreacha
+      0x20 │ 62 6c 65 20 63 6f 64 65                         │ ble code
+  }
+  
diff --git a/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff b/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff
index 49be042588c..aa44a2ad532 100644
--- a/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff
+++ b/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff
@@ -51,3 +51,9 @@
       }
   }
   
+  ALLOC0 (size: 40, align: 1) {
+      0x00 │ 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 │ internal error: 
+      0x10 │ 65 6e 74 65 72 65 64 20 75 6e 72 65 61 63 68 61 │ entered unreacha
+      0x20 │ 62 6c 65 20 63 6f 64 65                         │ ble code
+  }
+  
diff --git a/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir b/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir
index fa6c6ce8e57..6e5f6dc9ea8 100644
--- a/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir
+++ b/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-abort.mir
@@ -36,3 +36,7 @@ fn unwrap(_1: Option<T>) -> T {
         return;
     }
 }
+
+ALLOC0 (size: 14, align: 1) {
+    65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
+}
diff --git a/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir b/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir
index 54fec3c0f98..758aa45f2a2 100644
--- a/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir
+++ b/tests/mir-opt/no_drop_for_inactive_variant.unwrap.SimplifyCfg-pre-optimizations.after.panic-unwind.mir
@@ -41,3 +41,7 @@ fn unwrap(_1: Option<T>) -> T {
         resume;
     }
 }
+
+ALLOC0 (size: 14, align: 1) {
+    65 78 70 6c 69 63 69 74 20 70 61 6e 69 63       │ explicit panic
+}
diff --git a/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir b/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir
index 99a7a6b6154..404de884ab5 100644
--- a/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir
+++ b/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-abort.mir
@@ -38,3 +38,5 @@ fn main() -> () {
         resume;
     }
 }
+
+ALLOC0 (size: 0, align: 1) {}
diff --git a/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir b/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir
index 7364b329e12..47a0878ffae 100644
--- a/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir
+++ b/tests/mir-opt/no_spurious_drop_after_call.main.ElaborateDrops.before.panic-unwind.mir
@@ -38,3 +38,5 @@ fn main() -> () {
         resume;
     }
 }
+
+ALLOC0 (size: 0, align: 1) {}
diff --git a/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff b/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff
index 027c71dfaae..c2d144c98c3 100644
--- a/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff
+++ b/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.32bit.panic-abort.diff
@@ -110,9 +110,16 @@
 +         nop;
           return;
       }
-+ }
-+ 
+  }
+  
+- ALLOC0 (size: 43, align: 1) {
 + ALLOC0 (size: 8, align: 4) {
 +     00 00 00 00 __ __ __ __                         │ ....░░░░
++ }
++ 
++ ALLOC1 (size: 43, align: 1) {
+      0x00 │ 63 61 6c 6c 65 64 20 60 52 65 73 75 6c 74 3a 3a │ called `Result::
+      0x10 │ 75 6e 77 72 61 70 28 29 60 20 6f 6e 20 61 6e 20 │ unwrap()` on an 
+      0x20 │ 60 45 72 72 60 20 76 61 6c 75 65                │ `Err` value
   }
   
diff --git a/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff b/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff
index ebf305a6f1b..8641d2d6fa8 100644
--- a/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff
+++ b/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-abort.diff
@@ -110,9 +110,16 @@
 +         nop;
           return;
       }
-+ }
-+ 
+  }
+  
+- ALLOC0 (size: 43, align: 1) {
 + ALLOC0 (size: 16, align: 8) {
 +     00 00 00 00 00 00 00 00 __ __ __ __ __ __ __ __ │ ........░░░░░░░░
++ }
++ 
++ ALLOC1 (size: 43, align: 1) {
+      0x00 │ 63 61 6c 6c 65 64 20 60 52 65 73 75 6c 74 3a 3a │ called `Result::
+      0x10 │ 75 6e 77 72 61 70 28 29 60 20 6f 6e 20 61 6e 20 │ unwrap()` on an 
+      0x20 │ 60 45 72 72 60 20 76 61 6c 75 65                │ `Err` value
   }
   
diff --git a/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-abort.diff b/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-abort.diff
index 354e0988a00..1ba5e47b81b 100644
--- a/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-abort.diff
+++ b/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-abort.diff
@@ -34,3 +34,15 @@
       }
   }
   
+  ALLOC0 (size: 5, align: 1) {
+      77 6f 72 6c 64                                  │ world
+  }
+  
+  ALLOC1 (size: 5, align: 1) {
+      74 6f 77 65 6c                                  │ towel
+  }
+  
+  ALLOC2 (size: 5, align: 1) {
+      68 65 6c 6c 6f                                  │ hello
+  }
+  
diff --git a/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-unwind.diff b/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-unwind.diff
index 354e0988a00..1ba5e47b81b 100644
--- a/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-unwind.diff
+++ b/tests/mir-opt/single_use_consts.match_const.SingleUseConsts.panic-unwind.diff
@@ -34,3 +34,15 @@
       }
   }
   
+  ALLOC0 (size: 5, align: 1) {
+      77 6f 72 6c 64                                  │ world
+  }
+  
+  ALLOC1 (size: 5, align: 1) {
+      74 6f 77 65 6c                                  │ towel
+  }
+  
+  ALLOC2 (size: 5, align: 1) {
+      68 65 6c 6c 6f                                  │ hello
+  }
+  
diff --git a/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff b/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff
index 5cf37dc97cb..e0fabe5a90e 100644
--- a/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff
+++ b/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-abort.diff
@@ -45,3 +45,15 @@
       }
   }
   
+  ALLOC0 (size: 5, align: 1) {
+      77 6f 72 6c 64                                  │ world
+  }
+  
+  ALLOC1 (size: 5, align: 1) {
+      74 6f 77 65 6c                                  │ towel
+  }
+  
+  ALLOC2 (size: 5, align: 1) {
+      68 65 6c 6c 6f                                  │ hello
+  }
+  
diff --git a/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff b/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff
index bdcf086e8d9..26799ae6629 100644
--- a/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff
+++ b/tests/mir-opt/single_use_consts.match_const_debug.SingleUseConsts.panic-unwind.diff
@@ -45,3 +45,15 @@
       }
   }
   
+  ALLOC0 (size: 5, align: 1) {
+      77 6f 72 6c 64                                  │ world
+  }
+  
+  ALLOC1 (size: 5, align: 1) {
+      74 6f 77 65 6c                                  │ towel
+  }
+  
+  ALLOC2 (size: 5, align: 1) {
+      68 65 6c 6c 6f                                  │ hello
+  }
+  
diff --git a/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff b/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
index 77c7c1a9012..ecd89d14ace 100644
--- a/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
+++ b/tests/mir-opt/sroa/structs.flat.ScalarReplacementOfAggregates.diff
@@ -75,3 +75,7 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      61                                              │ a
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff
index ed54a38f70b..610a1a4624f 100644
--- a/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-abort.diff
@@ -113,3 +113,19 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC3 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff
index ed54a38f70b..610a1a4624f 100644
--- a/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.byref.UnreachableEnumBranching.panic-unwind.diff
@@ -113,3 +113,19 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC3 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff
index ea6cdbfbe66..97c71762f22 100644
--- a/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-abort.diff
@@ -41,3 +41,11 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      45                                              │ E
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff
index ea6cdbfbe66..97c71762f22 100644
--- a/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.custom_discriminant.UnreachableEnumBranching.panic-unwind.diff
@@ -41,3 +41,11 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      45                                              │ E
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff
index be934ac688b..7e798abcd4e 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-abort.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff
index be934ac688b..7e798abcd4e 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t1.UnreachableEnumBranching.panic-unwind.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff
index a6d6e0861b1..ac9b047624b 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-abort.diff
@@ -42,3 +42,11 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      45                                              │ E
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff
index a6d6e0861b1..ac9b047624b 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t2.UnreachableEnumBranching.panic-unwind.diff
@@ -42,3 +42,11 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      45                                              │ E
+  }
+  
+  ALLOC1 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff
index 120061841a0..9e85e56c583 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-abort.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff
index 120061841a0..9e85e56c583 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t3.UnreachableEnumBranching.panic-unwind.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff
index b86814d6119..e83c6131fa5 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-abort.diff
@@ -46,3 +46,15 @@
       }
   }
   
+  ALLOC0 (size: 2, align: 1) {
+      43 44                                           │ CD
+  }
+  
+  ALLOC1 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC2 (size: 6, align: 1) {
+      41 28 69 33 32 29                               │ A(i32)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff
index b86814d6119..e83c6131fa5 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4.UnreachableEnumBranching.panic-unwind.diff
@@ -46,3 +46,15 @@
       }
   }
   
+  ALLOC0 (size: 2, align: 1) {
+      43 44                                           │ CD
+  }
+  
+  ALLOC1 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC2 (size: 6, align: 1) {
+      41 28 69 33 32 29                               │ A(i32)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff
index 424ac6ba651..33e33ebddec 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-abort.diff
@@ -60,3 +60,19 @@
       }
   }
   
+  ALLOC0 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC1 (size: 6, align: 1) {
+      41 28 69 33 32 29                               │ A(i32)
+  }
+  
+  ALLOC2 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC3 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
index 424ac6ba651..33e33ebddec 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
@@ -60,3 +60,19 @@
       }
   }
   
+  ALLOC0 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC1 (size: 6, align: 1) {
+      41 28 69 33 32 29                               │ A(i32)
+  }
+  
+  ALLOC2 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC3 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff
index 17e01f38f4e..d11c07c4ba3 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-abort.diff
@@ -73,3 +73,23 @@
       }
   }
   
+  ALLOC0 (size: 9, align: 1) {
+      41 28 6f 74 68 65 72 29 44                      │ A(other)D
+  }
+  
+  ALLOC1 (size: 4, align: 1) {
+      41 28 32 29                                     │ A(2)
+  }
+  
+  ALLOC2 (size: 4, align: 1) {
+      41 28 31 29                                     │ A(1)
+  }
+  
+  ALLOC3 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC4 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff
index 17e01f38f4e..d11c07c4ba3 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t4_unreachable_default_2.UnreachableEnumBranching.panic-unwind.diff
@@ -73,3 +73,23 @@
       }
   }
   
+  ALLOC0 (size: 9, align: 1) {
+      41 28 6f 74 68 65 72 29 44                      │ A(other)D
+  }
+  
+  ALLOC1 (size: 4, align: 1) {
+      41 28 32 29                                     │ A(2)
+  }
+  
+  ALLOC2 (size: 4, align: 1) {
+      41 28 31 29                                     │ A(1)
+  }
+  
+  ALLOC3 (size: 6, align: 1) {
+      42 28 69 33 32 29                               │ B(i32)
+  }
+  
+  ALLOC4 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff
index 2de1f77eeec..ae1ca6efd43 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-abort.diff
@@ -64,3 +64,19 @@
       }
   }
   
+  ALLOC0 (size: 4, align: 1) {
+      42 28 54 29                                     │ B(T)
+  }
+  
+  ALLOC1 (size: 4, align: 1) {
+      41 28 54 29                                     │ A(T)
+  }
+  
+  ALLOC2 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC3 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
index 5afb78c58a3..1e660036e46 100644
--- a/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.otherwise_t5_unreachable_default.UnreachableEnumBranching.panic-unwind.diff
@@ -68,3 +68,19 @@
       }
   }
   
+  ALLOC0 (size: 4, align: 1) {
+      42 28 54 29                                     │ B(T)
+  }
+  
+  ALLOC1 (size: 4, align: 1) {
+      41 28 54 29                                     │ A(T)
+  }
+  
+  ALLOC2 (size: 1, align: 1) {
+      44                                              │ D
+  }
+  
+  ALLOC3 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff b/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff
index 5c08648fac3..c24bd7e7446 100644
--- a/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff
+++ b/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-abort.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff b/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff
index 5c08648fac3..c24bd7e7446 100644
--- a/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff
+++ b/tests/mir-opt/unreachable_enum_branching.simple.UnreachableEnumBranching.panic-unwind.diff
@@ -51,3 +51,15 @@
       }
   }
   
+  ALLOC0 (size: 1, align: 1) {
+      43                                              │ C
+  }
+  
+  ALLOC1 (size: 8, align: 1) {
+      42 28 45 6d 70 74 79 29                         │ B(Empty)
+  }
+  
+  ALLOC2 (size: 8, align: 1) {
+      41 28 45 6d 70 74 79 29                         │ A(Empty)
+  }
+  
diff --git a/tests/pretty/hir-delegation.pp b/tests/pretty/hir-delegation.pp
index e452cee6365..c0d724cccb5 100644
--- a/tests/pretty/hir-delegation.pp
+++ b/tests/pretty/hir-delegation.pp
@@ -6,7 +6,7 @@
 #![feature(fn_delegation)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 fn b<C>(e: C) { }
diff --git a/tests/pretty/hir-fn-params.pp b/tests/pretty/hir-fn-params.pp
index 3799c8a3c3b..cfb33cc93eb 100644
--- a/tests/pretty/hir-fn-params.pp
+++ b/tests/pretty/hir-fn-params.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir
diff --git a/tests/pretty/hir-fn-variadic.pp b/tests/pretty/hir-fn-variadic.pp
index b6bc8e95127..99919e7fc6b 100644
--- a/tests/pretty/hir-fn-variadic.pp
+++ b/tests/pretty/hir-fn-variadic.pp
@@ -5,7 +5,7 @@
 #![feature(c_variadic)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 extern "C" {
diff --git a/tests/pretty/hir-if-else.pp b/tests/pretty/hir-if-else.pp
index 200e34ac4f5..4bccde663eb 100644
--- a/tests/pretty/hir-if-else.pp
+++ b/tests/pretty/hir-if-else.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir
diff --git a/tests/pretty/hir-lifetimes.pp b/tests/pretty/hir-lifetimes.pp
index 58de6d81915..1bb2f17cdfb 100644
--- a/tests/pretty/hir-lifetimes.pp
+++ b/tests/pretty/hir-lifetimes.pp
@@ -7,7 +7,7 @@
 #![allow(unused)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 struct Foo<'a> {
diff --git a/tests/pretty/hir-pretty-attr.pp b/tests/pretty/hir-pretty-attr.pp
index db7489c1264..c780f8e3639 100644
--- a/tests/pretty/hir-pretty-attr.pp
+++ b/tests/pretty/hir-pretty-attr.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir
diff --git a/tests/pretty/hir-pretty-loop.pp b/tests/pretty/hir-pretty-loop.pp
index 15f1677885a..c07120273c9 100644
--- a/tests/pretty/hir-pretty-loop.pp
+++ b/tests/pretty/hir-pretty-loop.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir
diff --git a/tests/pretty/hir-struct-expr.pp b/tests/pretty/hir-struct-expr.pp
index f85d17542df..177eb5e8631 100644
--- a/tests/pretty/hir-struct-expr.pp
+++ b/tests/pretty/hir-struct-expr.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir
diff --git a/tests/pretty/issue-4264.pp b/tests/pretty/issue-4264.pp
index eb808f7122a..f4b641335d1 100644
--- a/tests/pretty/issue-4264.pp
+++ b/tests/pretty/issue-4264.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ pretty-compare-only
 //@ pretty-mode:hir,typed
diff --git a/tests/pretty/issue-85089.pp b/tests/pretty/issue-85089.pp
index f4e0eb3dd5f..31c0f90bf27 100644
--- a/tests/pretty/issue-85089.pp
+++ b/tests/pretty/issue-85089.pp
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 // Test to print lifetimes on HIR pretty-printing.
 
diff --git a/tests/pretty/pin-ergonomics-hir.pp b/tests/pretty/pin-ergonomics-hir.pp
index 212e0e174da..58a1c62f712 100644
--- a/tests/pretty/pin-ergonomics-hir.pp
+++ b/tests/pretty/pin-ergonomics-hir.pp
@@ -6,7 +6,7 @@
 #![allow(dead_code, incomplete_features)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 use std::pin::Pin;
diff --git a/tests/run-make/avr-rjmp-offset/rmake.rs b/tests/run-make/avr-rjmp-offset/rmake.rs
index da314f26ca7..86d85e89f78 100644
--- a/tests/run-make/avr-rjmp-offset/rmake.rs
+++ b/tests/run-make/avr-rjmp-offset/rmake.rs
@@ -6,7 +6,7 @@
 //! loop instruction to be missed. This test therefore contains a simple loop
 //! with trivial instructions in it, to see, where the label is placed.
 //!
-//! This must be a `rmake`-test and cannot be a `tests/assembly`-test, since the
+//! This must be a `rmake`-test and cannot be a `tests/assembly-llvm/`-test, since the
 //! wrong output is only produced with direct assembly generation, but not when
 //! "emit-asm" is used, as described in the issue description of #129301:
 //! https://github.com/rust-lang/rust/issues/129301#issue-2475070770
diff --git a/tests/run-make/llvm-ident/rmake.rs b/tests/run-make/llvm-ident/rmake.rs
index 47e6fc4de15..b4d30ee7bfb 100644
--- a/tests/run-make/llvm-ident/rmake.rs
+++ b/tests/run-make/llvm-ident/rmake.rs
@@ -27,7 +27,7 @@ fn main() {
 
     // Check LLVM IR files (including temporary outputs) have `!llvm.ident`
     // named metadata, reusing the related codegen test.
-    let llvm_ident_path = source_root().join("tests/codegen/llvm-ident.rs");
+    let llvm_ident_path = source_root().join("tests/codegen-llvm/llvm-ident.rs");
     let files = shallow_find_files(".", |path| has_extension(path, "ll"));
     for file in files {
         llvm_filecheck().input_file(file).arg(&llvm_ident_path).run();
diff --git a/tests/run-make/rustdoc-target-spec-json-path/target.json b/tests/run-make/rustdoc-target-spec-json-path/target.json
index c478f1196fa..d7e4cac57ae 100644
--- a/tests/run-make/rustdoc-target-spec-json-path/target.json
+++ b/tests/run-make/rustdoc-target-spec-json-path/target.json
@@ -6,7 +6,6 @@
   "dynamic-linking": true,
   "env": "gnu",
   "executables": true,
-  "has-elf-tls": true,
   "has-rpath": true,
   "linker-is-gnu": true,
   "llvm-target": "x86_64-unknown-linux-gnu",
diff --git a/tests/run-make/target-specs/endianness-mismatch.json b/tests/run-make/target-specs/endianness-mismatch.json
index 431053ea99b..cc03becc59a 100644
--- a/tests/run-make/target-specs/endianness-mismatch.json
+++ b/tests/run-make/target-specs/endianness-mismatch.json
@@ -5,7 +5,6 @@
     "llvm-target": "x86_64-unknown-linux-gnu",
     "target-endian": "big",
     "target-pointer-width": "64",
-    "target-c-int-width": "32",
     "arch": "x86_64",
     "os": "linux"
 }
diff --git a/tests/run-make/target-specs/my-awesome-platform.json b/tests/run-make/target-specs/my-awesome-platform.json
index 1673ef7bd54..d41038b84a8 100644
--- a/tests/run-make/target-specs/my-awesome-platform.json
+++ b/tests/run-make/target-specs/my-awesome-platform.json
@@ -4,8 +4,6 @@
     "llvm-target": "i686-unknown-linux-gnu",
     "target-endian": "little",
     "target-pointer-width": "32",
-    "target-c-int-width": "32",
     "arch": "x86",
-    "os": "linux",
-    "morestack": false
+    "os": "linux"
 }
diff --git a/tests/run-make/target-specs/my-incomplete-platform.json b/tests/run-make/target-specs/my-incomplete-platform.json
index ceaa25cdf2f..8bdc4108f49 100644
--- a/tests/run-make/target-specs/my-incomplete-platform.json
+++ b/tests/run-make/target-specs/my-incomplete-platform.json
@@ -3,8 +3,6 @@
     "linker-flavor": "gcc",
     "target-endian": "little",
     "target-pointer-width": "32",
-    "target-c-int-width": "32",
     "arch": "x86",
-    "os": "foo",
-    "morestack": false
+    "os": "foo"
 }
diff --git a/tests/run-make/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/tests/run-make/target-specs/my-x86_64-unknown-linux-gnu-platform.json
index 0cafce15a9f..27833f1abdd 100644
--- a/tests/run-make/target-specs/my-x86_64-unknown-linux-gnu-platform.json
+++ b/tests/run-make/target-specs/my-x86_64-unknown-linux-gnu-platform.json
@@ -5,8 +5,6 @@
     "llvm-target": "x86_64-unknown-linux-gnu",
     "target-endian": "little",
     "target-pointer-width": "64",
-    "target-c-int-width": "32",
     "arch": "x86_64",
-    "os": "linux",
-    "morestack": false
+    "os": "linux"
 }
diff --git a/tests/run-make/target-specs/require-explicit-cpu.json b/tests/run-make/target-specs/require-explicit-cpu.json
index 5cbb9573b3f..9744bca168e 100644
--- a/tests/run-make/target-specs/require-explicit-cpu.json
+++ b/tests/run-make/target-specs/require-explicit-cpu.json
@@ -4,7 +4,6 @@
     "llvm-target": "i686-unknown-linux-gnu",
     "target-endian": "little",
     "target-pointer-width": "32",
-    "target-c-int-width": "32",
     "arch": "x86",
     "os": "linux",
     "need-explicit-cpu": true
diff --git a/tests/run-make/target-specs/rmake.rs b/tests/run-make/target-specs/rmake.rs
index 9184e5f772f..7e565588ed6 100644
--- a/tests/run-make/target-specs/rmake.rs
+++ b/tests/run-make/target-specs/rmake.rs
@@ -8,8 +8,6 @@
 use run_make_support::{diff, rfs, rustc};
 
 fn main() {
-    rustc().input("foo.rs").target("my-awesome-platform.json").crate_type("lib").emit("asm").run();
-    assert!(!rfs::read_to_string("foo.s").contains("morestack"));
     rustc()
         .input("foo.rs")
         .target("my-invalid-platform.json")
@@ -19,7 +17,7 @@ fn main() {
         .input("foo.rs")
         .target("my-incomplete-platform.json")
         .run_fail()
-        .assert_stderr_contains("Field llvm-target");
+        .assert_stderr_contains("missing field `llvm-target`");
     rustc()
         .env("RUST_TARGET_PATH", ".")
         .input("foo.rs")
diff --git a/tests/rustdoc-js-std/alias-lev.js b/tests/rustdoc-js-std/alias-lev.js
new file mode 100644
index 00000000000..17f3dc25d76
--- /dev/null
+++ b/tests/rustdoc-js-std/alias-lev.js
@@ -0,0 +1,11 @@
+// This test ensures that aliases are also allowed to be partially matched.
+
+// ignore-order
+
+const EXPECTED = {
+    // The full alias name is `getcwd`.
+    'query': 'getcw',
+    'others': [
+        { 'path': 'std::env', 'name': 'current_dir', 'alias': 'getcwd' },
+    ],
+};
diff --git a/tests/rustdoc-js/non-english-identifier.js b/tests/rustdoc-js/non-english-identifier.js
index f2180b4c755..3d50bd3ee90 100644
--- a/tests/rustdoc-js/non-english-identifier.js
+++ b/tests/rustdoc-js/non-english-identifier.js
@@ -115,11 +115,10 @@ const EXPECTED = [
         query: '加法',
         others: [
             {
-                name: "add",
+                name: "加法",
                 path: "non_english_identifier",
-                is_alias: true,
-                alias: "加法",
-                href: "../non_english_identifier/macro.add.html"
+                href: "../non_english_identifier/trait.加法.html",
+                desc: "Add"
             },
             {
                 name: "add",
@@ -129,11 +128,13 @@ const EXPECTED = [
                 href: "../non_english_identifier/fn.add.html"
             },
             {
-                name: "加法",
+                name: "add",
                 path: "non_english_identifier",
-                href: "../non_english_identifier/trait.加法.html",
-                desc: "Add"
-            }],
+                is_alias: true,
+                alias: "加法",
+                href: "../non_english_identifier/macro.add.html"
+            },
+        ],
         in_args: [{
             name: "加上",
             path: "non_english_identifier::加法",
diff --git a/tests/ui-fulldeps/stable-mir/check_abi.rs b/tests/ui-fulldeps/rustc_public/check_abi.rs
index fc2227d147d..57c8377ea36 100644
--- a/tests/ui-fulldeps/stable-mir/check_abi.rs
+++ b/tests/ui-fulldeps/rustc_public/check_abi.rs
@@ -167,7 +167,7 @@ impl MirVisitor for AdtDefVisitor {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "alloc_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_allocation.rs b/tests/ui-fulldeps/rustc_public/check_allocation.rs
index 83845a9aa42..70e4ee3fe34 100644
--- a/tests/ui-fulldeps/stable-mir/check_allocation.rs
+++ b/tests/ui-fulldeps/rustc_public/check_allocation.rs
@@ -202,7 +202,7 @@ fn get_item<'a>(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "alloc_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_assoc_items.rs b/tests/ui-fulldeps/rustc_public/check_assoc_items.rs
index 1557991f8ca..1557991f8ca 100644
--- a/tests/ui-fulldeps/stable-mir/check_assoc_items.rs
+++ b/tests/ui-fulldeps/rustc_public/check_assoc_items.rs
diff --git a/tests/ui-fulldeps/stable-mir/check_attribute.rs b/tests/ui-fulldeps/rustc_public/check_attribute.rs
index d8807872ec4..0c34ac4dfe9 100644
--- a/tests/ui-fulldeps/stable-mir/check_attribute.rs
+++ b/tests/ui-fulldeps/rustc_public/check_attribute.rs
@@ -52,7 +52,7 @@ fn get_item<'a>(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "attribute_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_binop.rs b/tests/ui-fulldeps/rustc_public/check_binop.rs
index aa089a5d125..35be6f973cc 100644
--- a/tests/ui-fulldeps/stable-mir/check_binop.rs
+++ b/tests/ui-fulldeps/rustc_public/check_binop.rs
@@ -76,7 +76,7 @@ impl<'a> MirVisitor for Visitor<'a> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "binop_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_coroutine_body.rs b/tests/ui-fulldeps/rustc_public/check_coroutine_body.rs
index 725b538b0fe..725b538b0fe 100644
--- a/tests/ui-fulldeps/stable-mir/check_coroutine_body.rs
+++ b/tests/ui-fulldeps/rustc_public/check_coroutine_body.rs
diff --git a/tests/ui-fulldeps/stable-mir/check_crate_defs.rs b/tests/ui-fulldeps/rustc_public/check_crate_defs.rs
index 27d5b0bc238..3ca8b66e58d 100644
--- a/tests/ui-fulldeps/stable-mir/check_crate_defs.rs
+++ b/tests/ui-fulldeps/rustc_public/check_crate_defs.rs
@@ -79,7 +79,7 @@ fn contains<T: CrateDef + std::fmt::Debug>(items: &[T], expected: &[&str]) {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "crate_definitions.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_def_ty.rs b/tests/ui-fulldeps/rustc_public/check_def_ty.rs
index b5954352dc0..176a9d79ef1 100644
--- a/tests/ui-fulldeps/stable-mir/check_def_ty.rs
+++ b/tests/ui-fulldeps/rustc_public/check_def_ty.rs
@@ -70,7 +70,7 @@ fn check_fn_def(ty: Ty) {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "defs_ty_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_defs.rs b/tests/ui-fulldeps/rustc_public/check_defs.rs
index 5e45f19cac8..0c45859a132 100644
--- a/tests/ui-fulldeps/stable-mir/check_defs.rs
+++ b/tests/ui-fulldeps/rustc_public/check_defs.rs
@@ -106,7 +106,7 @@ fn get_instances(body: mir::Body) -> Vec<Instance> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "defs_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_foreign.rs b/tests/ui-fulldeps/rustc_public/check_foreign.rs
index 9aee067f41b..78b62594c61 100644
--- a/tests/ui-fulldeps/stable-mir/check_foreign.rs
+++ b/tests/ui-fulldeps/rustc_public/check_foreign.rs
@@ -52,7 +52,7 @@ fn test_foreign() -> ControlFlow<()> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "foreign_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_instance.rs b/tests/ui-fulldeps/rustc_public/check_instance.rs
index 18971076043..fd7523963fa 100644
--- a/tests/ui-fulldeps/stable-mir/check_instance.rs
+++ b/tests/ui-fulldeps/rustc_public/check_instance.rs
@@ -81,7 +81,7 @@ fn test_body(body: mir::Body) {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "instance_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_intrinsics.rs b/tests/ui-fulldeps/rustc_public/check_intrinsics.rs
index 854ac77956e..f722f0bbd71 100644
--- a/tests/ui-fulldeps/stable-mir/check_intrinsics.rs
+++ b/tests/ui-fulldeps/rustc_public/check_intrinsics.rs
@@ -110,7 +110,7 @@ impl<'a> MirVisitor for CallsVisitor<'a> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "binop_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_item_kind.rs b/tests/ui-fulldeps/rustc_public/check_item_kind.rs
index 58e740bdaef..b759628f1a4 100644
--- a/tests/ui-fulldeps/stable-mir/check_item_kind.rs
+++ b/tests/ui-fulldeps/rustc_public/check_item_kind.rs
@@ -41,7 +41,7 @@ fn test_item_kind() -> ControlFlow<()> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "item_kind_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_normalization.rs b/tests/ui-fulldeps/rustc_public/check_normalization.rs
index aa6a257dac6..db9d3031600 100644
--- a/tests/ui-fulldeps/stable-mir/check_normalization.rs
+++ b/tests/ui-fulldeps/rustc_public/check_normalization.rs
@@ -55,7 +55,7 @@ fn check_ty(ty: Ty) {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "normalization_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_trait_queries.rs b/tests/ui-fulldeps/rustc_public/check_trait_queries.rs
index a6c37883643..0dd13044fcc 100644
--- a/tests/ui-fulldeps/stable-mir/check_trait_queries.rs
+++ b/tests/ui-fulldeps/rustc_public/check_trait_queries.rs
@@ -67,7 +67,7 @@ fn assert_impl(impl_names: &HashSet<String>, target: &str) {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "trait_queries.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_transform.rs b/tests/ui-fulldeps/rustc_public/check_transform.rs
index 3209fcf9ede..b30d98c3b26 100644
--- a/tests/ui-fulldeps/stable-mir/check_transform.rs
+++ b/tests/ui-fulldeps/rustc_public/check_transform.rs
@@ -115,7 +115,7 @@ fn get_item<'a>(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "transform_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_ty_fold.rs b/tests/ui-fulldeps/rustc_public/check_ty_fold.rs
index 07ef0d2bb50..93cd3049344 100644
--- a/tests/ui-fulldeps/stable-mir/check_ty_fold.rs
+++ b/tests/ui-fulldeps/rustc_public/check_ty_fold.rs
@@ -73,7 +73,7 @@ impl<'a> MirVisitor for PlaceVisitor<'a> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "ty_fold_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/check_variant.rs b/tests/ui-fulldeps/rustc_public/check_variant.rs
index ebe76bd89d5..9ed16f2357c 100644
--- a/tests/ui-fulldeps/stable-mir/check_variant.rs
+++ b/tests/ui-fulldeps/rustc_public/check_variant.rs
@@ -120,7 +120,7 @@ fn check_statement_is_aggregate_assign(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "defs_ty_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/closure-generic-body.rs b/tests/ui-fulldeps/rustc_public/closure-generic-body.rs
index e5f910fbda1..e5f910fbda1 100644
--- a/tests/ui-fulldeps/stable-mir/closure-generic-body.rs
+++ b/tests/ui-fulldeps/rustc_public/closure-generic-body.rs
diff --git a/tests/ui-fulldeps/stable-mir/closure_body.rs b/tests/ui-fulldeps/rustc_public/closure_body.rs
index f5f9f23ad12..f5f9f23ad12 100644
--- a/tests/ui-fulldeps/stable-mir/closure_body.rs
+++ b/tests/ui-fulldeps/rustc_public/closure_body.rs
diff --git a/tests/ui-fulldeps/stable-mir/compilation-result.rs b/tests/ui-fulldeps/rustc_public/compilation-result.rs
index ed013375c71..d33e602e819 100644
--- a/tests/ui-fulldeps/stable-mir/compilation-result.rs
+++ b/tests/ui-fulldeps/rustc_public/compilation-result.rs
@@ -20,7 +20,7 @@ use std::io::Write;
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "input_compilation_result_test.rs";
diff --git a/tests/ui-fulldeps/stable-mir/crate-info.rs b/tests/ui-fulldeps/rustc_public/crate-info.rs
index 4f46dff9b82..19082d7394a 100644
--- a/tests/ui-fulldeps/stable-mir/crate-info.rs
+++ b/tests/ui-fulldeps/rustc_public/crate-info.rs
@@ -189,7 +189,7 @@ fn get_item<'a>(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/projections.rs b/tests/ui-fulldeps/rustc_public/projections.rs
index 3b360cd2fcf..e0213b4253c 100644
--- a/tests/ui-fulldeps/stable-mir/projections.rs
+++ b/tests/ui-fulldeps/rustc_public/projections.rs
@@ -141,7 +141,7 @@ fn get_item<'a>(
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/smir_internal.rs b/tests/ui-fulldeps/rustc_public/smir_internal.rs
index dd70cfe5f5e..b74bdfe4eb1 100644
--- a/tests/ui-fulldeps/stable-mir/smir_internal.rs
+++ b/tests/ui-fulldeps/rustc_public/smir_internal.rs
@@ -34,7 +34,7 @@ fn test_translation(tcx: TyCtxt<'_>) -> ControlFlow<()> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "internal_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/smir_serde.rs b/tests/ui-fulldeps/rustc_public/smir_serde.rs
index 31642c6cb94..972bc5efe20 100644
--- a/tests/ui-fulldeps/stable-mir/smir_serde.rs
+++ b/tests/ui-fulldeps/rustc_public/smir_serde.rs
@@ -41,7 +41,7 @@ fn serialize_to_json(_tcx: TyCtxt<'_>) -> ControlFlow<()> {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "internal_input.rs";
diff --git a/tests/ui-fulldeps/stable-mir/smir_visitor.rs b/tests/ui-fulldeps/rustc_public/smir_visitor.rs
index 66787e2927b..9438f46a59b 100644
--- a/tests/ui-fulldeps/stable-mir/smir_visitor.rs
+++ b/tests/ui-fulldeps/rustc_public/smir_visitor.rs
@@ -177,7 +177,7 @@ impl mir::MutMirVisitor for TestMutVisitor {
 
 /// This test will generate and analyze a dummy crate using the stable mir.
 /// For that, it will first write the dummy crate into a file.
-/// Then it will create a `StableMir` using custom arguments and then
+/// Then it will create a `RustcPublic` using custom arguments and then
 /// it will run the compiler.
 fn main() {
     let path = "sim_visitor_input.rs";
diff --git a/tests/ui/SUMMARY.md b/tests/ui/SUMMARY.md
index 1aeb0fcfbea..b635b6326fc 100644
--- a/tests/ui/SUMMARY.md
+++ b/tests/ui/SUMMARY.md
@@ -1277,9 +1277,9 @@ See [Tracking issue for specialization (RFC 1210) #31844](https://github.com/rus
 
 Stability attributes used internally by the standard library: `#[stable()]` and `#[unstable()]`.
 
-## `tests/ui/stable-mir-print/`
+## `tests/ui/rustc_public-ir-print/`
 
-Some tests for pretty printing of StableMIR.
+Some tests for pretty printing of rustc_public's IR.
 
 ## `tests/ui/stack-protector/`: `-Z stack-protector` command line flag
 
diff --git a/tests/ui/abi/fixed_x18.rs b/tests/ui/abi/fixed_x18.rs
index 09d16303033..baf215ba903 100644
--- a/tests/ui/abi/fixed_x18.rs
+++ b/tests/ui/abi/fixed_x18.rs
@@ -1,5 +1,5 @@
 // This tests that -Zfixed-x18 causes a compilation failure on targets other than aarch64.
-// Behavior on aarch64 is tested by tests/codegen/fixed-x18.rs.
+// Behavior on aarch64 is tested by tests/codegen-llvm/fixed-x18.rs.
 //
 //@ revisions: x64 i686 arm riscv32 riscv64
 //@ dont-check-compiler-stderr
diff --git a/tests/ui/asm/naked-with-invalid-repr-attr.rs b/tests/ui/asm/naked-with-invalid-repr-attr.rs
index bfbbf29a69e..4620d007e4e 100644
--- a/tests/ui/asm/naked-with-invalid-repr-attr.rs
+++ b/tests/ui/asm/naked-with-invalid-repr-attr.rs
@@ -1,5 +1,9 @@
 //@ needs-asm-support
+
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
+
 #![crate_type = "lib"]
 use std::arch::naked_asm;
 
@@ -21,7 +25,7 @@ extern "C" fn example2() {
 
 #[repr(C)]
 //~^ ERROR attribute should be applied to a struct, enum, or union [E0517]
-#[align(16)]
+#[rustc_align(16)]
 #[unsafe(naked)]
 extern "C" fn example3() {
     //~^ NOTE not a struct, enum, or union
diff --git a/tests/ui/asm/naked-with-invalid-repr-attr.stderr b/tests/ui/asm/naked-with-invalid-repr-attr.stderr
index 4eb4a4e5a04..8530495be66 100644
--- a/tests/ui/asm/naked-with-invalid-repr-attr.stderr
+++ b/tests/ui/asm/naked-with-invalid-repr-attr.stderr
@@ -1,5 +1,5 @@
 error[E0517]: attribute should be applied to a struct, enum, or union
-  --> $DIR/naked-with-invalid-repr-attr.rs:6:8
+  --> $DIR/naked-with-invalid-repr-attr.rs:10:8
    |
 LL |   #[repr(C)]
    |          ^
@@ -11,7 +11,7 @@ LL | | }
    | |_- not a struct, enum, or union
 
 error[E0517]: attribute should be applied to a struct, enum, or union
-  --> $DIR/naked-with-invalid-repr-attr.rs:14:8
+  --> $DIR/naked-with-invalid-repr-attr.rs:18:8
    |
 LL |   #[repr(transparent)]
    |          ^^^^^^^^^^^
@@ -23,7 +23,7 @@ LL | | }
    | |_- not a struct, enum, or union
 
 error[E0517]: attribute should be applied to a struct, enum, or union
-  --> $DIR/naked-with-invalid-repr-attr.rs:22:8
+  --> $DIR/naked-with-invalid-repr-attr.rs:26:8
    |
 LL |   #[repr(C)]
    |          ^
@@ -35,7 +35,7 @@ LL | | }
    | |_- not a struct, enum, or union
 
 error[E0517]: attribute should be applied to a struct, enum, or union
-  --> $DIR/naked-with-invalid-repr-attr.rs:32:8
+  --> $DIR/naked-with-invalid-repr-attr.rs:36:8
    |
 LL |   #[repr(C, packed)]
    |          ^
@@ -48,7 +48,7 @@ LL | | }
    | |_- not a struct, enum, or union
 
 error[E0517]: attribute should be applied to a struct or union
-  --> $DIR/naked-with-invalid-repr-attr.rs:32:11
+  --> $DIR/naked-with-invalid-repr-attr.rs:36:11
    |
 LL |   #[repr(C, packed)]
    |             ^^^^^^
@@ -61,7 +61,7 @@ LL | | }
    | |_- not a struct or union
 
 error[E0517]: attribute should be applied to an enum
-  --> $DIR/naked-with-invalid-repr-attr.rs:42:8
+  --> $DIR/naked-with-invalid-repr-attr.rs:46:8
    |
 LL |   #[repr(u8)]
    |          ^^
diff --git a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.rs b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.rs
index c8bb0ebd574..49e46f44cb2 100644
--- a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.rs
+++ b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.rs
@@ -1,4 +1,4 @@
-// Regression test for issue #105056.
+// issue: <https://github.com/rust-lang/rust/issues/105056>
 //@ edition: 2021
 
 fn f(_: impl Trait<T = Copy>) {}
@@ -23,4 +23,11 @@ type Obj = dyn Trait<T = Clone>;
 
 trait Trait { type T; }
 
+// Don't suggest assoc ty bounds when we have parenthesized args (the underlying assoc type
+// binding `Output` isn't introduced by `=` but by `->`, suggesting `:` wouldn't be valid).
+// issue: <https://github.com/rust-lang/rust/issues/140543>
+fn i(_: impl Fn() -> std::fmt::Debug) {}
+//~^ ERROR expected a type, found a trait
+//~| HELP you can add the `dyn` keyword if you want a trait object
+
 fn main() {}
diff --git a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
index 6eb8fabb185..ea9f25f0719 100644
--- a/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
+++ b/tests/ui/associated-type-bounds/suggest-assoc-ty-bound-on-eq-bound.stderr
@@ -57,6 +57,17 @@ help: you can add the `dyn` keyword if you want a trait object
 LL | type Obj = dyn Trait<T = dyn Clone>;
    |                          +++
 
-error: aborting due to 4 previous errors
+error[E0782]: expected a type, found a trait
+  --> $DIR/suggest-assoc-ty-bound-on-eq-bound.rs:29:22
+   |
+LL | fn i(_: impl Fn() -> std::fmt::Debug) {}
+   |                      ^^^^^^^^^^^^^^^
+   |
+help: you can add the `dyn` keyword if you want a trait object
+   |
+LL | fn i(_: impl Fn() -> dyn std::fmt::Debug) {}
+   |                      +++
+
+error: aborting due to 5 previous errors
 
 For more information about this error, try `rustc --explain E0782`.
diff --git a/tests/ui/attributes/fn-align-dyn.rs b/tests/ui/attributes/fn-align-dyn.rs
index 8ba4d5e2897..3778c75a2ca 100644
--- a/tests/ui/attributes/fn-align-dyn.rs
+++ b/tests/ui/attributes/fn-align-dyn.rs
@@ -1,12 +1,15 @@
 //@ run-pass
 //@ ignore-wasm32 aligning functions is not currently supported on wasm (#143368)
+
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
 
 trait Test {
-    #[align(4096)]
+    #[rustc_align(4096)]
     fn foo(&self);
 
-    #[align(4096)]
+    #[rustc_align(4096)]
     fn foo1(&self);
 }
 
diff --git a/tests/ui/attributes/fn-align-nameres-ambiguity-143834.rs b/tests/ui/attributes/fn-align-nameres-ambiguity-143834.rs
new file mode 100644
index 00000000000..536d6ff43fb
--- /dev/null
+++ b/tests/ui/attributes/fn-align-nameres-ambiguity-143834.rs
@@ -0,0 +1,19 @@
+// Anti-regression test to demonstrate that at least we mitigated breakage from adding a new
+// `#[align]` built-in attribute.
+//
+// See https://github.com/rust-lang/rust/issues/143834.
+
+//@ check-pass
+
+// Needs edition >= 2018 macro use behavior.
+//@ edition: 2018
+
+macro_rules! align {
+    () => {
+        /* .. */
+    };
+}
+
+pub(crate) use align;
+
+fn main() {}
diff --git a/tests/ui/attributes/invalid-macro-use.rs b/tests/ui/attributes/invalid-macro-use.rs
new file mode 100644
index 00000000000..cfb13fd183c
--- /dev/null
+++ b/tests/ui/attributes/invalid-macro-use.rs
@@ -0,0 +1,53 @@
+#![deny(unused_attributes)]
+//~^ NOTE the lint level is defined here
+
+#[macro_use = 5]
+//~^ ERROR valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
+extern crate std as s1;
+
+#[macro_use(5)]
+//~^ ERROR malformed `macro_use` attribute input
+//~| NOTE expected a valid identifier here
+extern crate std as s2;
+
+#[macro_use(a = "b")]
+//~^ ERROR malformed `macro_use` attribute input
+//~| NOTE didn't expect any arguments here
+extern crate std as s3;
+
+#[macro_use(a(b))]
+//~^ ERROR malformed `macro_use` attribute input
+//~| NOTE didn't expect any arguments here
+extern crate std as s4;
+
+#[macro_use(a::b)]
+//~^ ERROR malformed `macro_use` attribute input
+//~| NOTE expected a valid identifier here
+extern crate std as s5;
+
+#[macro_use(a)]
+//~^ ERROR unused attribute
+#[macro_use]
+//~^ NOTE attribute also specified here
+extern crate std as s6;
+
+#[macro_use]
+//~^ NOTE attribute also specified here
+#[macro_use(a)]
+//~^ ERROR unused attribute
+extern crate std as s7;
+
+#[macro_use]
+//~^ NOTE attribute also specified here
+#[macro_use]
+//~^ ERROR unused attribute
+extern crate std as s8;
+
+// This is fine, both are importing different names
+#[macro_use(a)]
+//~^ ERROR imported macro not found
+#[macro_use(b)]
+//~^ ERROR imported macro not found
+extern crate std as s9;
+
+fn main() {}
diff --git a/tests/ui/attributes/invalid-macro-use.stderr b/tests/ui/attributes/invalid-macro-use.stderr
new file mode 100644
index 00000000000..4f5db5c558a
--- /dev/null
+++ b/tests/ui/attributes/invalid-macro-use.stderr
@@ -0,0 +1,131 @@
+error[E0469]: imported macro not found
+  --> $DIR/invalid-macro-use.rs:47:13
+   |
+LL | #[macro_use(a)]
+   |             ^
+
+error[E0469]: imported macro not found
+  --> $DIR/invalid-macro-use.rs:49:13
+   |
+LL | #[macro_use(b)]
+   |             ^
+
+error: valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
+  --> $DIR/invalid-macro-use.rs:4:1
+   |
+LL | #[macro_use = 5]
+   | ^^^^^^^^^^^^^^^^
+
+error[E0539]: malformed `macro_use` attribute input
+  --> $DIR/invalid-macro-use.rs:8:1
+   |
+LL | #[macro_use(5)]
+   | ^^^^^^^^^^^^-^^
+   |             |
+   |             expected a valid identifier here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(5)]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(5)]
+LL + #[macro_use]
+   |
+
+error[E0565]: malformed `macro_use` attribute input
+  --> $DIR/invalid-macro-use.rs:13:1
+   |
+LL | #[macro_use(a = "b")]
+   | ^^^^^^^^^^^^^^-----^^
+   |               |
+   |               didn't expect any arguments here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(a = "b")]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(a = "b")]
+LL + #[macro_use]
+   |
+
+error[E0565]: malformed `macro_use` attribute input
+  --> $DIR/invalid-macro-use.rs:18:1
+   |
+LL | #[macro_use(a(b))]
+   | ^^^^^^^^^^^^^---^^
+   |              |
+   |              didn't expect any arguments here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(a(b))]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(a(b))]
+LL + #[macro_use]
+   |
+
+error[E0539]: malformed `macro_use` attribute input
+  --> $DIR/invalid-macro-use.rs:23:1
+   |
+LL | #[macro_use(a::b)]
+   | ^^^^^^^^^^^^----^^
+   |             |
+   |             expected a valid identifier here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(a::b)]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(a::b)]
+LL + #[macro_use]
+   |
+
+error: unused attribute
+  --> $DIR/invalid-macro-use.rs:28:1
+   |
+LL | #[macro_use(a)]
+   | ^^^^^^^^^^^^^^^ help: remove this attribute
+   |
+note: attribute also specified here
+  --> $DIR/invalid-macro-use.rs:30:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^
+note: the lint level is defined here
+  --> $DIR/invalid-macro-use.rs:1:9
+   |
+LL | #![deny(unused_attributes)]
+   |         ^^^^^^^^^^^^^^^^^
+
+error: unused attribute
+  --> $DIR/invalid-macro-use.rs:36:1
+   |
+LL | #[macro_use(a)]
+   | ^^^^^^^^^^^^^^^ help: remove this attribute
+   |
+note: attribute also specified here
+  --> $DIR/invalid-macro-use.rs:34:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^
+
+error: unused attribute
+  --> $DIR/invalid-macro-use.rs:42:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^ help: remove this attribute
+   |
+note: attribute also specified here
+  --> $DIR/invalid-macro-use.rs:40:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^
+
+error: aborting due to 10 previous errors
+
+Some errors have detailed explanations: E0469, E0539, E0565.
+For more information about an error, try `rustc --explain E0469`.
diff --git a/tests/ui/attributes/malformed-attrs.rs b/tests/ui/attributes/malformed-attrs.rs
index 5026687b97b..2a8b7b41e58 100644
--- a/tests/ui/attributes/malformed-attrs.rs
+++ b/tests/ui/attributes/malformed-attrs.rs
@@ -3,6 +3,7 @@
 #![feature(rustc_attrs)]
 #![feature(rustc_allow_const_fn_unstable)]
 #![feature(allow_internal_unstable)]
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
 #![feature(fn_align)]
 #![feature(optimize_attribute)]
 #![feature(dropck_eyepatch)]
@@ -53,7 +54,7 @@
 #[inline = 5]
 //~^ ERROR valid forms for the attribute are
 //~| WARN this was previously accepted by the compiler
-#[align]
+#[rustc_align]
 //~^ ERROR malformed
 #[optimize]
 //~^ ERROR malformed
@@ -207,7 +208,7 @@ static mut TLS: u8 = 42;
 #[no_link()]
 //~^ ERROR malformed
 #[macro_use = 1]
-//~^ ERROR malformed
+//~^ ERROR valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
 extern crate wloop;
 //~^ ERROR can't find crate for `wloop` [E0463]
 
diff --git a/tests/ui/attributes/malformed-attrs.stderr b/tests/ui/attributes/malformed-attrs.stderr
index 0d0c338d302..7ae24db8b5f 100644
--- a/tests/ui/attributes/malformed-attrs.stderr
+++ b/tests/ui/attributes/malformed-attrs.stderr
@@ -1,5 +1,5 @@
 error[E0539]: malformed `cfg` attribute input
-  --> $DIR/malformed-attrs.rs:102:1
+  --> $DIR/malformed-attrs.rs:103:1
    |
 LL | #[cfg]
    | ^^^^^^
@@ -8,7 +8,7 @@ LL | #[cfg]
    | help: must be of the form: `#[cfg(predicate)]`
 
 error: malformed `cfg_attr` attribute input
-  --> $DIR/malformed-attrs.rs:104:1
+  --> $DIR/malformed-attrs.rs:105:1
    |
 LL | #[cfg_attr]
    | ^^^^^^^^^^^
@@ -20,67 +20,67 @@ LL | #[cfg_attr(condition, attribute, other_attribute, ...)]
    |           ++++++++++++++++++++++++++++++++++++++++++++
 
 error[E0463]: can't find crate for `wloop`
-  --> $DIR/malformed-attrs.rs:211:1
+  --> $DIR/malformed-attrs.rs:212:1
    |
 LL | extern crate wloop;
    | ^^^^^^^^^^^^^^^^^^^ can't find crate
 
 error: malformed `windows_subsystem` attribute input
-  --> $DIR/malformed-attrs.rs:29:1
+  --> $DIR/malformed-attrs.rs:30:1
    |
 LL | #![windows_subsystem]
    | ^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#![windows_subsystem = "windows|console"]`
 
 error: malformed `crate_name` attribute input
-  --> $DIR/malformed-attrs.rs:74:1
+  --> $DIR/malformed-attrs.rs:75:1
    |
 LL | #[crate_name]
    | ^^^^^^^^^^^^^ help: must be of the form: `#[crate_name = "name"]`
 
 error: malformed `no_sanitize` attribute input
-  --> $DIR/malformed-attrs.rs:92:1
+  --> $DIR/malformed-attrs.rs:93:1
    |
 LL | #[no_sanitize]
    | ^^^^^^^^^^^^^^ help: must be of the form: `#[no_sanitize(address, kcfi, memory, thread)]`
 
 error: malformed `proc_macro` attribute input
-  --> $DIR/malformed-attrs.rs:99:1
+  --> $DIR/malformed-attrs.rs:100:1
    |
 LL | #[proc_macro = 18]
    | ^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[proc_macro]`
 
 error: malformed `instruction_set` attribute input
-  --> $DIR/malformed-attrs.rs:106:1
+  --> $DIR/malformed-attrs.rs:107:1
    |
 LL | #[instruction_set]
    | ^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[instruction_set(set)]`
 
 error: malformed `patchable_function_entry` attribute input
-  --> $DIR/malformed-attrs.rs:108:1
+  --> $DIR/malformed-attrs.rs:109:1
    |
 LL | #[patchable_function_entry]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[patchable_function_entry(prefix_nops = m, entry_nops = n)]`
 
 error: malformed `coroutine` attribute input
-  --> $DIR/malformed-attrs.rs:111:5
+  --> $DIR/malformed-attrs.rs:112:5
    |
 LL |     #[coroutine = 63] || {}
    |     ^^^^^^^^^^^^^^^^^ help: must be of the form: `#[coroutine]`
 
 error: malformed `proc_macro_attribute` attribute input
-  --> $DIR/malformed-attrs.rs:116:1
+  --> $DIR/malformed-attrs.rs:117:1
    |
 LL | #[proc_macro_attribute = 19]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[proc_macro_attribute]`
 
 error: malformed `proc_macro_derive` attribute input
-  --> $DIR/malformed-attrs.rs:123:1
+  --> $DIR/malformed-attrs.rs:124:1
    |
 LL | #[proc_macro_derive]
    | ^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[proc_macro_derive(TraitName, /*opt*/ attributes(name1, name2, ...))]`
 
 error: malformed `must_not_suspend` attribute input
-  --> $DIR/malformed-attrs.rs:132:1
+  --> $DIR/malformed-attrs.rs:133:1
    |
 LL | #[must_not_suspend()]
    | ^^^^^^^^^^^^^^^^^^^^^
@@ -95,82 +95,67 @@ LL + #[must_not_suspend]
    |
 
 error: malformed `cfi_encoding` attribute input
-  --> $DIR/malformed-attrs.rs:134:1
+  --> $DIR/malformed-attrs.rs:135:1
    |
 LL | #[cfi_encoding]
    | ^^^^^^^^^^^^^^^ help: must be of the form: `#[cfi_encoding = "encoding"]`
 
 error: malformed `linkage` attribute input
-  --> $DIR/malformed-attrs.rs:173:5
+  --> $DIR/malformed-attrs.rs:174:5
    |
 LL |     #[linkage]
    |     ^^^^^^^^^^ help: must be of the form: `#[linkage = "external|internal|..."]`
 
 error: malformed `allow` attribute input
-  --> $DIR/malformed-attrs.rs:178:1
+  --> $DIR/malformed-attrs.rs:179:1
    |
 LL | #[allow]
    | ^^^^^^^^ help: must be of the form: `#[allow(lint1, lint2, ..., /*opt*/ reason = "...")]`
 
 error: malformed `expect` attribute input
-  --> $DIR/malformed-attrs.rs:180:1
+  --> $DIR/malformed-attrs.rs:181:1
    |
 LL | #[expect]
    | ^^^^^^^^^ help: must be of the form: `#[expect(lint1, lint2, ..., /*opt*/ reason = "...")]`
 
 error: malformed `warn` attribute input
-  --> $DIR/malformed-attrs.rs:182:1
+  --> $DIR/malformed-attrs.rs:183:1
    |
 LL | #[warn]
    | ^^^^^^^ help: must be of the form: `#[warn(lint1, lint2, ..., /*opt*/ reason = "...")]`
 
 error: malformed `deny` attribute input
-  --> $DIR/malformed-attrs.rs:184:1
+  --> $DIR/malformed-attrs.rs:185:1
    |
 LL | #[deny]
    | ^^^^^^^ help: must be of the form: `#[deny(lint1, lint2, ..., /*opt*/ reason = "...")]`
 
 error: malformed `forbid` attribute input
-  --> $DIR/malformed-attrs.rs:186:1
+  --> $DIR/malformed-attrs.rs:187:1
    |
 LL | #[forbid]
    | ^^^^^^^^^ help: must be of the form: `#[forbid(lint1, lint2, ..., /*opt*/ reason = "...")]`
 
 error: malformed `debugger_visualizer` attribute input
-  --> $DIR/malformed-attrs.rs:188:1
+  --> $DIR/malformed-attrs.rs:189:1
    |
 LL | #[debugger_visualizer]
    | ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[debugger_visualizer(natvis_file = "...", gdb_script_file = "...")]`
 
 error: malformed `thread_local` attribute input
-  --> $DIR/malformed-attrs.rs:203:1
+  --> $DIR/malformed-attrs.rs:204:1
    |
 LL | #[thread_local()]
    | ^^^^^^^^^^^^^^^^^ help: must be of the form: `#[thread_local]`
 
 error: malformed `no_link` attribute input
-  --> $DIR/malformed-attrs.rs:207:1
+  --> $DIR/malformed-attrs.rs:208:1
    |
 LL | #[no_link()]
    | ^^^^^^^^^^^^ help: must be of the form: `#[no_link]`
 
-error: malformed `macro_use` attribute input
-  --> $DIR/malformed-attrs.rs:209:1
-   |
-LL | #[macro_use = 1]
-   | ^^^^^^^^^^^^^^^^
-   |
-help: the following are the possible correct uses
-   |
-LL - #[macro_use = 1]
-LL + #[macro_use(name1, name2, ...)]
-   |
-LL - #[macro_use = 1]
-LL + #[macro_use]
-   |
-
 error: malformed `macro_export` attribute input
-  --> $DIR/malformed-attrs.rs:214:1
+  --> $DIR/malformed-attrs.rs:215:1
    |
 LL | #[macro_export = 18]
    | ^^^^^^^^^^^^^^^^^^^^
@@ -185,31 +170,31 @@ LL + #[macro_export]
    |
 
 error: malformed `allow_internal_unsafe` attribute input
-  --> $DIR/malformed-attrs.rs:216:1
+  --> $DIR/malformed-attrs.rs:217:1
    |
 LL | #[allow_internal_unsafe = 1]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[allow_internal_unsafe]`
 
 error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type
-  --> $DIR/malformed-attrs.rs:99:1
+  --> $DIR/malformed-attrs.rs:100:1
    |
 LL | #[proc_macro = 18]
    | ^^^^^^^^^^^^^^^^^^
 
 error: the `#[proc_macro_attribute]` attribute is only usable with crates of the `proc-macro` crate type
-  --> $DIR/malformed-attrs.rs:116:1
+  --> $DIR/malformed-attrs.rs:117:1
    |
 LL | #[proc_macro_attribute = 19]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type
-  --> $DIR/malformed-attrs.rs:123:1
+  --> $DIR/malformed-attrs.rs:124:1
    |
 LL | #[proc_macro_derive]
    | ^^^^^^^^^^^^^^^^^^^^
 
 error[E0658]: allow_internal_unsafe side-steps the unsafe_code lint
-  --> $DIR/malformed-attrs.rs:216:1
+  --> $DIR/malformed-attrs.rs:217:1
    |
 LL | #[allow_internal_unsafe = 1]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -218,7 +203,7 @@ LL | #[allow_internal_unsafe = 1]
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
 error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
-  --> $DIR/malformed-attrs.rs:43:1
+  --> $DIR/malformed-attrs.rs:44:1
    |
 LL | #[doc]
    | ^^^^^^
@@ -228,7 +213,7 @@ LL | #[doc]
    = note: `#[deny(ill_formed_attribute_input)]` on by default
 
 error: valid forms for the attribute are `#[doc(hidden|inline|...)]` and `#[doc = "string"]`
-  --> $DIR/malformed-attrs.rs:76:1
+  --> $DIR/malformed-attrs.rs:77:1
    |
 LL | #[doc]
    | ^^^^^^
@@ -237,7 +222,7 @@ LL | #[doc]
    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
 
 error: attribute must be of the form `#[link(name = "...", /*opt*/ kind = "dylib|static|...", /*opt*/ wasm_import_module = "...", /*opt*/ import_name_type = "decorated|noprefix|undecorated")]`
-  --> $DIR/malformed-attrs.rs:83:1
+  --> $DIR/malformed-attrs.rs:84:1
    |
 LL | #[link]
    | ^^^^^^^
@@ -246,7 +231,7 @@ LL | #[link]
    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
 
 error: invalid argument
-  --> $DIR/malformed-attrs.rs:188:1
+  --> $DIR/malformed-attrs.rs:189:1
    |
 LL | #[debugger_visualizer]
    | ^^^^^^^^^^^^^^^^^^^^^^
@@ -256,7 +241,7 @@ LL | #[debugger_visualizer]
    = note: expected: `gdb_script_file = "..."`
 
 error[E0565]: malformed `omit_gdb_pretty_printer_section` attribute input
-  --> $DIR/malformed-attrs.rs:26:1
+  --> $DIR/malformed-attrs.rs:27:1
    |
 LL | #![omit_gdb_pretty_printer_section = 1]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^
@@ -265,25 +250,25 @@ LL | #![omit_gdb_pretty_printer_section = 1]
    | help: must be of the form: `#[omit_gdb_pretty_printer_section]`
 
 error[E0539]: malformed `export_name` attribute input
-  --> $DIR/malformed-attrs.rs:32:1
+  --> $DIR/malformed-attrs.rs:33:1
    |
 LL | #[unsafe(export_name)]
    | ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]`
 
 error: `rustc_allow_const_fn_unstable` expects a list of feature names
-  --> $DIR/malformed-attrs.rs:34:1
+  --> $DIR/malformed-attrs.rs:35:1
    |
 LL | #[rustc_allow_const_fn_unstable]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: `allow_internal_unstable` expects a list of feature names
-  --> $DIR/malformed-attrs.rs:37:1
+  --> $DIR/malformed-attrs.rs:38:1
    |
 LL | #[allow_internal_unstable]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0539]: malformed `rustc_confusables` attribute input
-  --> $DIR/malformed-attrs.rs:39:1
+  --> $DIR/malformed-attrs.rs:40:1
    |
 LL | #[rustc_confusables]
    | ^^^^^^^^^^^^^^^^^^^^
@@ -292,7 +277,7 @@ LL | #[rustc_confusables]
    | help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]`
 
 error[E0539]: malformed `deprecated` attribute input
-  --> $DIR/malformed-attrs.rs:41:1
+  --> $DIR/malformed-attrs.rs:42:1
    |
 LL | #[deprecated = 5]
    | ^^^^^^^^^^^^^^^-^
@@ -312,13 +297,13 @@ LL + #[deprecated]
    |
 
 error[E0539]: malformed `rustc_macro_transparency` attribute input
-  --> $DIR/malformed-attrs.rs:46:1
+  --> $DIR/malformed-attrs.rs:47:1
    |
 LL | #[rustc_macro_transparency]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[rustc_macro_transparency = "transparent|semitransparent|opaque"]`
 
 error[E0539]: malformed `repr` attribute input
-  --> $DIR/malformed-attrs.rs:48:1
+  --> $DIR/malformed-attrs.rs:49:1
    |
 LL | #[repr]
    | ^^^^^^^
@@ -327,7 +312,7 @@ LL | #[repr]
    | help: must be of the form: `#[repr(C | Rust | align(...) | packed(...) | <integer type> | transparent)]`
 
 error[E0565]: malformed `rustc_as_ptr` attribute input
-  --> $DIR/malformed-attrs.rs:51:1
+  --> $DIR/malformed-attrs.rs:52:1
    |
 LL | #[rustc_as_ptr = 5]
    | ^^^^^^^^^^^^^^^---^
@@ -335,17 +320,17 @@ LL | #[rustc_as_ptr = 5]
    | |              didn't expect any arguments here
    | help: must be of the form: `#[rustc_as_ptr]`
 
-error[E0539]: malformed `align` attribute input
-  --> $DIR/malformed-attrs.rs:56:1
+error[E0539]: malformed `rustc_align` attribute input
+  --> $DIR/malformed-attrs.rs:57:1
    |
-LL | #[align]
-   | ^^^^^^^^
+LL | #[rustc_align]
+   | ^^^^^^^^^^^^^^
    | |
    | expected this to be a list
-   | help: must be of the form: `#[align(<alignment in bytes>)]`
+   | help: must be of the form: `#[rustc_align(<alignment in bytes>)]`
 
 error[E0539]: malformed `optimize` attribute input
-  --> $DIR/malformed-attrs.rs:58:1
+  --> $DIR/malformed-attrs.rs:59:1
    |
 LL | #[optimize]
    | ^^^^^^^^^^^
@@ -354,7 +339,7 @@ LL | #[optimize]
    | help: must be of the form: `#[optimize(size|speed|none)]`
 
 error[E0565]: malformed `cold` attribute input
-  --> $DIR/malformed-attrs.rs:60:1
+  --> $DIR/malformed-attrs.rs:61:1
    |
 LL | #[cold = 1]
    | ^^^^^^^---^
@@ -363,13 +348,13 @@ LL | #[cold = 1]
    | help: must be of the form: `#[cold]`
 
 error: valid forms for the attribute are `#[must_use = "reason"]` and `#[must_use]`
-  --> $DIR/malformed-attrs.rs:62:1
+  --> $DIR/malformed-attrs.rs:63:1
    |
 LL | #[must_use()]
    | ^^^^^^^^^^^^^
 
 error[E0565]: malformed `no_mangle` attribute input
-  --> $DIR/malformed-attrs.rs:64:1
+  --> $DIR/malformed-attrs.rs:65:1
    |
 LL | #[no_mangle = 1]
    | ^^^^^^^^^^^^---^
@@ -378,7 +363,7 @@ LL | #[no_mangle = 1]
    | help: must be of the form: `#[no_mangle]`
 
 error[E0565]: malformed `naked` attribute input
-  --> $DIR/malformed-attrs.rs:66:1
+  --> $DIR/malformed-attrs.rs:67:1
    |
 LL | #[unsafe(naked())]
    | ^^^^^^^^^^^^^^--^^
@@ -387,7 +372,7 @@ LL | #[unsafe(naked())]
    | help: must be of the form: `#[naked]`
 
 error[E0565]: malformed `track_caller` attribute input
-  --> $DIR/malformed-attrs.rs:68:1
+  --> $DIR/malformed-attrs.rs:69:1
    |
 LL | #[track_caller()]
    | ^^^^^^^^^^^^^^--^
@@ -396,13 +381,13 @@ LL | #[track_caller()]
    | help: must be of the form: `#[track_caller]`
 
 error[E0539]: malformed `export_name` attribute input
-  --> $DIR/malformed-attrs.rs:70:1
+  --> $DIR/malformed-attrs.rs:71:1
    |
 LL | #[export_name()]
    | ^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]`
 
 error[E0805]: malformed `used` attribute input
-  --> $DIR/malformed-attrs.rs:72:1
+  --> $DIR/malformed-attrs.rs:73:1
    |
 LL | #[used()]
    | ^^^^^^--^
@@ -418,7 +403,7 @@ LL + #[used]
    |
 
 error[E0539]: malformed `target_feature` attribute input
-  --> $DIR/malformed-attrs.rs:79:1
+  --> $DIR/malformed-attrs.rs:80:1
    |
 LL | #[target_feature]
    | ^^^^^^^^^^^^^^^^^
@@ -427,7 +412,7 @@ LL | #[target_feature]
    | help: must be of the form: `#[target_feature(enable = "feat1, feat2")]`
 
 error[E0565]: malformed `export_stable` attribute input
-  --> $DIR/malformed-attrs.rs:81:1
+  --> $DIR/malformed-attrs.rs:82:1
    |
 LL | #[export_stable = 1]
    | ^^^^^^^^^^^^^^^^---^
@@ -436,19 +421,19 @@ LL | #[export_stable = 1]
    | help: must be of the form: `#[export_stable]`
 
 error[E0539]: malformed `link_name` attribute input
-  --> $DIR/malformed-attrs.rs:86:1
+  --> $DIR/malformed-attrs.rs:87:1
    |
 LL | #[link_name]
    | ^^^^^^^^^^^^ help: must be of the form: `#[link_name = "name"]`
 
 error[E0539]: malformed `link_section` attribute input
-  --> $DIR/malformed-attrs.rs:88:1
+  --> $DIR/malformed-attrs.rs:89:1
    |
 LL | #[link_section]
    | ^^^^^^^^^^^^^^^ help: must be of the form: `#[link_section = "name"]`
 
 error[E0539]: malformed `coverage` attribute input
-  --> $DIR/malformed-attrs.rs:90:1
+  --> $DIR/malformed-attrs.rs:91:1
    |
 LL | #[coverage]
    | ^^^^^^^^^^^ this attribute is only valid with either `on` or `off` as an argument
@@ -461,7 +446,7 @@ LL | #[coverage(on)]
    |           ++++
 
 error[E0565]: malformed `no_implicit_prelude` attribute input
-  --> $DIR/malformed-attrs.rs:97:1
+  --> $DIR/malformed-attrs.rs:98:1
    |
 LL | #[no_implicit_prelude = 23]
    | ^^^^^^^^^^^^^^^^^^^^^^----^
@@ -470,7 +455,7 @@ LL | #[no_implicit_prelude = 23]
    | help: must be of the form: `#[no_implicit_prelude]`
 
 error[E0539]: malformed `must_use` attribute input
-  --> $DIR/malformed-attrs.rs:119:1
+  --> $DIR/malformed-attrs.rs:120:1
    |
 LL | #[must_use = 1]
    | ^^^^^^^^^^^^^-^
@@ -487,7 +472,7 @@ LL + #[must_use]
    |
 
 error[E0539]: malformed `rustc_layout_scalar_valid_range_start` attribute input
-  --> $DIR/malformed-attrs.rs:128:1
+  --> $DIR/malformed-attrs.rs:129:1
    |
 LL | #[rustc_layout_scalar_valid_range_start]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -496,7 +481,7 @@ LL | #[rustc_layout_scalar_valid_range_start]
    | help: must be of the form: `#[rustc_layout_scalar_valid_range_start(start)]`
 
 error[E0539]: malformed `rustc_layout_scalar_valid_range_end` attribute input
-  --> $DIR/malformed-attrs.rs:130:1
+  --> $DIR/malformed-attrs.rs:131:1
    |
 LL | #[rustc_layout_scalar_valid_range_end]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -505,7 +490,7 @@ LL | #[rustc_layout_scalar_valid_range_end]
    | help: must be of the form: `#[rustc_layout_scalar_valid_range_end(end)]`
 
 error[E0565]: malformed `marker` attribute input
-  --> $DIR/malformed-attrs.rs:155:1
+  --> $DIR/malformed-attrs.rs:156:1
    |
 LL | #[marker = 3]
    | ^^^^^^^^^---^
@@ -514,7 +499,7 @@ LL | #[marker = 3]
    | help: must be of the form: `#[marker]`
 
 error[E0565]: malformed `fundamental` attribute input
-  --> $DIR/malformed-attrs.rs:157:1
+  --> $DIR/malformed-attrs.rs:158:1
    |
 LL | #[fundamental()]
    | ^^^^^^^^^^^^^--^
@@ -523,7 +508,7 @@ LL | #[fundamental()]
    | help: must be of the form: `#[fundamental]`
 
 error[E0565]: malformed `ffi_pure` attribute input
-  --> $DIR/malformed-attrs.rs:165:5
+  --> $DIR/malformed-attrs.rs:166:5
    |
 LL |     #[unsafe(ffi_pure = 1)]
    |     ^^^^^^^^^^^^^^^^^^---^^
@@ -532,7 +517,7 @@ LL |     #[unsafe(ffi_pure = 1)]
    |     help: must be of the form: `#[ffi_pure]`
 
 error[E0539]: malformed `link_ordinal` attribute input
-  --> $DIR/malformed-attrs.rs:167:5
+  --> $DIR/malformed-attrs.rs:168:5
    |
 LL |     #[link_ordinal]
    |     ^^^^^^^^^^^^^^^
@@ -541,7 +526,7 @@ LL |     #[link_ordinal]
    |     help: must be of the form: `#[link_ordinal(ordinal)]`
 
 error[E0565]: malformed `ffi_const` attribute input
-  --> $DIR/malformed-attrs.rs:171:5
+  --> $DIR/malformed-attrs.rs:172:5
    |
 LL |     #[unsafe(ffi_const = 1)]
    |     ^^^^^^^^^^^^^^^^^^^---^^
@@ -550,7 +535,7 @@ LL |     #[unsafe(ffi_const = 1)]
    |     help: must be of the form: `#[ffi_const]`
 
 error[E0565]: malformed `automatically_derived` attribute input
-  --> $DIR/malformed-attrs.rs:191:1
+  --> $DIR/malformed-attrs.rs:192:1
    |
 LL | #[automatically_derived = 18]
    | ^^^^^^^^^^^^^^^^^^^^^^^^----^
@@ -559,7 +544,7 @@ LL | #[automatically_derived = 18]
    | help: must be of the form: `#[automatically_derived]`
 
 error[E0565]: malformed `non_exhaustive` attribute input
-  --> $DIR/malformed-attrs.rs:197:1
+  --> $DIR/malformed-attrs.rs:198:1
    |
 LL | #[non_exhaustive = 1]
    | ^^^^^^^^^^^^^^^^^---^
@@ -567,8 +552,14 @@ LL | #[non_exhaustive = 1]
    | |                didn't expect any arguments here
    | help: must be of the form: `#[non_exhaustive]`
 
+error: valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
+  --> $DIR/malformed-attrs.rs:210:1
+   |
+LL | #[macro_use = 1]
+   | ^^^^^^^^^^^^^^^^
+
 error[E0565]: malformed `type_const` attribute input
-  --> $DIR/malformed-attrs.rs:143:5
+  --> $DIR/malformed-attrs.rs:144:5
    |
 LL |     #[type_const = 1]
    |     ^^^^^^^^^^^^^---^
@@ -577,7 +568,7 @@ LL |     #[type_const = 1]
    |     help: must be of the form: `#[type_const]`
 
 error: attribute should be applied to `const fn`
-  --> $DIR/malformed-attrs.rs:34:1
+  --> $DIR/malformed-attrs.rs:35:1
    |
 LL |   #[rustc_allow_const_fn_unstable]
    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -589,19 +580,19 @@ LL | | }
    | |_- not a `const fn`
 
 error: `#[repr(align(...))]` is not supported on function items
-  --> $DIR/malformed-attrs.rs:48:1
+  --> $DIR/malformed-attrs.rs:49:1
    |
 LL | #[repr]
    | ^^^^^^^
    |
-help: use `#[align(...)]` instead
-  --> $DIR/malformed-attrs.rs:48:1
+help: use `#[rustc_align(...)]` instead
+  --> $DIR/malformed-attrs.rs:49:1
    |
 LL | #[repr]
    | ^^^^^^^
 
 warning: `#[diagnostic::do_not_recommend]` does not expect any arguments
-  --> $DIR/malformed-attrs.rs:149:1
+  --> $DIR/malformed-attrs.rs:150:1
    |
 LL | #[diagnostic::do_not_recommend()]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -609,7 +600,7 @@ LL | #[diagnostic::do_not_recommend()]
    = note: `#[warn(malformed_diagnostic_attributes)]` on by default
 
 warning: missing options for `on_unimplemented` attribute
-  --> $DIR/malformed-attrs.rs:138:1
+  --> $DIR/malformed-attrs.rs:139:1
    |
 LL | #[diagnostic::on_unimplemented]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -617,7 +608,7 @@ LL | #[diagnostic::on_unimplemented]
    = help: at least one of the `message`, `note` and `label` options are expected
 
 warning: malformed `on_unimplemented` attribute
-  --> $DIR/malformed-attrs.rs:140:1
+  --> $DIR/malformed-attrs.rs:141:1
    |
 LL | #[diagnostic::on_unimplemented = 1]
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid option found here
@@ -625,7 +616,7 @@ LL | #[diagnostic::on_unimplemented = 1]
    = help: only `message`, `note` and `label` are allowed as options
 
 error: valid forms for the attribute are `#[inline(always|never)]` and `#[inline]`
-  --> $DIR/malformed-attrs.rs:53:1
+  --> $DIR/malformed-attrs.rs:54:1
    |
 LL | #[inline = 5]
    | ^^^^^^^^^^^^^
@@ -634,7 +625,7 @@ LL | #[inline = 5]
    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
 
 error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
-  --> $DIR/malformed-attrs.rs:94:1
+  --> $DIR/malformed-attrs.rs:95:1
    |
 LL | #[ignore()]
    | ^^^^^^^^^^^
@@ -643,7 +634,7 @@ LL | #[ignore()]
    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
 
 error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
-  --> $DIR/malformed-attrs.rs:223:1
+  --> $DIR/malformed-attrs.rs:224:1
    |
 LL | #[ignore = 1]
    | ^^^^^^^^^^^^^
@@ -652,7 +643,7 @@ LL | #[ignore = 1]
    = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
 
 error[E0308]: mismatched types
-  --> $DIR/malformed-attrs.rs:111:23
+  --> $DIR/malformed-attrs.rs:112:23
    |
 LL | fn test() {
    |          - help: a return type might be missing here: `-> _`
@@ -660,7 +651,7 @@ LL |     #[coroutine = 63] || {}
    |                       ^^^^^ expected `()`, found coroutine
    |
    = note: expected unit type `()`
-              found coroutine `{coroutine@$DIR/malformed-attrs.rs:111:23: 111:25}`
+              found coroutine `{coroutine@$DIR/malformed-attrs.rs:112:23: 112:25}`
 
 error: aborting due to 75 previous errors; 3 warnings emitted
 
diff --git a/tests/ui/attributes/malformed-fn-align.rs b/tests/ui/attributes/malformed-fn-align.rs
index e06e6116842..cf143b28e54 100644
--- a/tests/ui/attributes/malformed-fn-align.rs
+++ b/tests/ui/attributes/malformed-fn-align.rs
@@ -1,49 +1,54 @@
+// ignore-tidy-linelength
+
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+#![feature(rustc_attrs)]
 #![feature(fn_align)]
+
 #![crate_type = "lib"]
 
 trait MyTrait {
-    #[align] //~ ERROR malformed `align` attribute input
+    #[rustc_align] //~ ERROR malformed `rustc_align` attribute input
     fn myfun1();
 
-    #[align(1, 2)] //~ ERROR malformed `align` attribute input
+    #[rustc_align(1, 2)] //~ ERROR malformed `rustc_align` attribute input
     fn myfun2();
 }
 
-#[align = 16] //~ ERROR malformed `align` attribute input
+#[rustc_align = 16] //~ ERROR malformed `rustc_align` attribute input
 fn f1() {}
 
-#[align("hello")] //~ ERROR invalid alignment value: not an unsuffixed integer
+#[rustc_align("hello")] //~ ERROR invalid alignment value: not an unsuffixed integer
 fn f2() {}
 
-#[align(0)] //~ ERROR invalid alignment value: not a power of two
+#[rustc_align(0)] //~ ERROR invalid alignment value: not a power of two
 fn f3() {}
 
 #[repr(align(16))] //~ ERROR `#[repr(align(...))]` is not supported on function items
 fn f4() {}
 
-#[align(-1)] //~ ERROR expected unsuffixed literal, found `-`
+#[rustc_align(-1)] //~ ERROR expected unsuffixed literal, found `-`
 fn f5() {}
 
-#[align(3)] //~ ERROR invalid alignment value: not a power of two
+#[rustc_align(3)] //~ ERROR invalid alignment value: not a power of two
 fn f6() {}
 
-#[align(4usize)] //~ ERROR invalid alignment value: not an unsuffixed integer [E0589]
+#[rustc_align(4usize)] //~ ERROR invalid alignment value: not an unsuffixed integer [E0589]
 //~^ ERROR suffixed literals are not allowed in attributes
 fn f7() {}
 
-#[align(16)]
-#[align(3)] //~ ERROR invalid alignment value: not a power of two
-#[align(16)]
+#[rustc_align(16)]
+#[rustc_align(3)] //~ ERROR invalid alignment value: not a power of two
+#[rustc_align(16)]
 fn f8() {}
 
-#[align(16)] //~ ERROR `#[align(...)]` is not supported on struct items
+#[rustc_align(16)] //~ ERROR `#[rustc_align(...)]` is not supported on struct items
 struct S1;
 
-#[align(32)] //~ ERROR `#[align(...)]` should be applied to a function item
+#[rustc_align(32)] //~ ERROR `#[rustc_align(...)]` should be applied to a function item
 const FOO: i32 = 42;
 
-#[align(32)] //~ ERROR `#[align(...)]` should be applied to a function item
+#[rustc_align(32)] //~ ERROR `#[rustc_align(...)]` should be applied to a function item
 mod test {}
 
-#[align(32)] //~ ERROR `#[align(...)]` should be applied to a function item
+#[rustc_align(32)] //~ ERROR `#[rustc_align(...)]` should be applied to a function item
 use ::std::iter;
diff --git a/tests/ui/attributes/malformed-fn-align.stderr b/tests/ui/attributes/malformed-fn-align.stderr
index af3625b1f3b..d995a7bf070 100644
--- a/tests/ui/attributes/malformed-fn-align.stderr
+++ b/tests/ui/attributes/malformed-fn-align.stderr
@@ -1,119 +1,119 @@
 error: expected unsuffixed literal, found `-`
-  --> $DIR/malformed-fn-align.rs:24:9
+  --> $DIR/malformed-fn-align.rs:29:15
    |
-LL | #[align(-1)]
-   |         ^
+LL | #[rustc_align(-1)]
+   |               ^
 
 error: suffixed literals are not allowed in attributes
-  --> $DIR/malformed-fn-align.rs:30:9
+  --> $DIR/malformed-fn-align.rs:35:15
    |
-LL | #[align(4usize)]
-   |         ^^^^^^
+LL | #[rustc_align(4usize)]
+   |               ^^^^^^
    |
    = help: instead of using a suffixed literal (`1u8`, `1.0f32`, etc.), use an unsuffixed version (`1`, `1.0`, etc.)
 
-error[E0539]: malformed `align` attribute input
-  --> $DIR/malformed-fn-align.rs:5:5
+error[E0539]: malformed `rustc_align` attribute input
+  --> $DIR/malformed-fn-align.rs:10:5
    |
-LL |     #[align]
-   |     ^^^^^^^^
+LL |     #[rustc_align]
+   |     ^^^^^^^^^^^^^^
    |     |
    |     expected this to be a list
-   |     help: must be of the form: `#[align(<alignment in bytes>)]`
+   |     help: must be of the form: `#[rustc_align(<alignment in bytes>)]`
 
-error[E0805]: malformed `align` attribute input
-  --> $DIR/malformed-fn-align.rs:8:5
+error[E0805]: malformed `rustc_align` attribute input
+  --> $DIR/malformed-fn-align.rs:13:5
    |
-LL |     #[align(1, 2)]
-   |     ^^^^^^^------^
-   |     |      |
-   |     |      expected a single argument here
-   |     help: must be of the form: `#[align(<alignment in bytes>)]`
+LL |     #[rustc_align(1, 2)]
+   |     ^^^^^^^^^^^^^------^
+   |     |            |
+   |     |            expected a single argument here
+   |     help: must be of the form: `#[rustc_align(<alignment in bytes>)]`
 
-error[E0539]: malformed `align` attribute input
-  --> $DIR/malformed-fn-align.rs:12:1
+error[E0539]: malformed `rustc_align` attribute input
+  --> $DIR/malformed-fn-align.rs:17:1
    |
-LL | #[align = 16]
-   | ^^^^^^^^^^^^^
+LL | #[rustc_align = 16]
+   | ^^^^^^^^^^^^^^^^^^^
    | |
    | expected this to be a list
-   | help: must be of the form: `#[align(<alignment in bytes>)]`
+   | help: must be of the form: `#[rustc_align(<alignment in bytes>)]`
 
 error[E0589]: invalid alignment value: not an unsuffixed integer
-  --> $DIR/malformed-fn-align.rs:15:9
+  --> $DIR/malformed-fn-align.rs:20:15
    |
-LL | #[align("hello")]
-   |         ^^^^^^^
+LL | #[rustc_align("hello")]
+   |               ^^^^^^^
 
 error[E0589]: invalid alignment value: not a power of two
-  --> $DIR/malformed-fn-align.rs:18:9
+  --> $DIR/malformed-fn-align.rs:23:15
    |
-LL | #[align(0)]
-   |         ^
+LL | #[rustc_align(0)]
+   |               ^
 
 error[E0589]: invalid alignment value: not a power of two
-  --> $DIR/malformed-fn-align.rs:27:9
+  --> $DIR/malformed-fn-align.rs:32:15
    |
-LL | #[align(3)]
-   |         ^
+LL | #[rustc_align(3)]
+   |               ^
 
 error[E0589]: invalid alignment value: not an unsuffixed integer
-  --> $DIR/malformed-fn-align.rs:30:9
+  --> $DIR/malformed-fn-align.rs:35:15
    |
-LL | #[align(4usize)]
-   |         ^^^^^^
+LL | #[rustc_align(4usize)]
+   |               ^^^^^^
 
 error[E0589]: invalid alignment value: not a power of two
-  --> $DIR/malformed-fn-align.rs:35:9
+  --> $DIR/malformed-fn-align.rs:40:15
    |
-LL | #[align(3)]
-   |         ^
+LL | #[rustc_align(3)]
+   |               ^
 
 error: `#[repr(align(...))]` is not supported on function items
-  --> $DIR/malformed-fn-align.rs:21:8
+  --> $DIR/malformed-fn-align.rs:26:8
    |
 LL | #[repr(align(16))]
    |        ^^^^^^^^^
    |
-help: use `#[align(...)]` instead
-  --> $DIR/malformed-fn-align.rs:21:8
+help: use `#[rustc_align(...)]` instead
+  --> $DIR/malformed-fn-align.rs:26:8
    |
 LL | #[repr(align(16))]
    |        ^^^^^^^^^
 
-error: `#[align(...)]` is not supported on struct items
-  --> $DIR/malformed-fn-align.rs:39:1
+error: `#[rustc_align(...)]` is not supported on struct items
+  --> $DIR/malformed-fn-align.rs:44:1
    |
-LL | #[align(16)]
-   | ^^^^^^^^^^^^
+LL | #[rustc_align(16)]
+   | ^^^^^^^^^^^^^^^^^^
    |
 help: use `#[repr(align(...))]` instead
    |
-LL - #[align(16)]
+LL - #[rustc_align(16)]
 LL + #[repr(align(16))]
    |
 
-error: `#[align(...)]` should be applied to a function item
-  --> $DIR/malformed-fn-align.rs:42:1
+error: `#[rustc_align(...)]` should be applied to a function item
+  --> $DIR/malformed-fn-align.rs:47:1
    |
-LL | #[align(32)]
-   | ^^^^^^^^^^^^
+LL | #[rustc_align(32)]
+   | ^^^^^^^^^^^^^^^^^^
 LL | const FOO: i32 = 42;
    | -------------------- not a function item
 
-error: `#[align(...)]` should be applied to a function item
-  --> $DIR/malformed-fn-align.rs:45:1
+error: `#[rustc_align(...)]` should be applied to a function item
+  --> $DIR/malformed-fn-align.rs:50:1
    |
-LL | #[align(32)]
-   | ^^^^^^^^^^^^
+LL | #[rustc_align(32)]
+   | ^^^^^^^^^^^^^^^^^^
 LL | mod test {}
    | ----------- not a function item
 
-error: `#[align(...)]` should be applied to a function item
-  --> $DIR/malformed-fn-align.rs:48:1
+error: `#[rustc_align(...)]` should be applied to a function item
+  --> $DIR/malformed-fn-align.rs:53:1
    |
-LL | #[align(32)]
-   | ^^^^^^^^^^^^
+LL | #[rustc_align(32)]
+   | ^^^^^^^^^^^^^^^^^^
 LL | use ::std::iter;
    | ---------------- not a function item
 
diff --git a/tests/ui/backtrace/std-backtrace.rs b/tests/ui/backtrace/std-backtrace.rs
index 7ccbd46152b..b81bdee44e4 100644
--- a/tests/ui/backtrace/std-backtrace.rs
+++ b/tests/ui/backtrace/std-backtrace.rs
@@ -13,9 +13,9 @@ use std::str;
 fn main() {
     let args: Vec<String> = env::args().collect();
     if args.len() >= 2 && args[1] == "force" {
-        println!("stack backtrace:\n{}", std::backtrace::Backtrace::force_capture());
+        println!("{}", std::backtrace::Backtrace::force_capture());
     } else if args.len() >= 2 {
-        println!("stack backtrace:\n{}", std::backtrace::Backtrace::capture());
+        println!("{}", std::backtrace::Backtrace::capture());
     } else {
         runtest(&args[0]);
         println!("test ok");
@@ -28,7 +28,6 @@ fn runtest(me: &str) {
 
     let p = Command::new(me).arg("a").env("RUST_BACKTRACE", "1").output().unwrap();
     assert!(p.status.success());
-    assert!(String::from_utf8_lossy(&p.stdout).contains("stack backtrace:\n"));
     assert!(String::from_utf8_lossy(&p.stdout).contains("backtrace::main"));
 
     let p = Command::new(me).arg("a").env("RUST_BACKTRACE", "0").output().unwrap();
@@ -46,7 +45,6 @@ fn runtest(me: &str) {
         .output()
         .unwrap();
     assert!(p.status.success());
-    assert!(String::from_utf8_lossy(&p.stdout).contains("stack backtrace:\n"));
 
     let p = Command::new(me)
         .arg("a")
@@ -64,9 +62,7 @@ fn runtest(me: &str) {
         .output()
         .unwrap();
     assert!(p.status.success());
-    assert!(String::from_utf8_lossy(&p.stdout).contains("stack backtrace:\n"));
 
     let p = Command::new(me).arg("force").output().unwrap();
     assert!(p.status.success());
-    assert!(String::from_utf8_lossy(&p.stdout).contains("stack backtrace:\n"));
 }
diff --git a/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr b/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
index 4e19fd81735..c55923097fc 100644
--- a/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
+++ b/tests/ui/borrowck/borrowck-unsafe-static-mutable-borrows.stderr
@@ -4,7 +4,7 @@ warning: creating a mutable reference to mutable static
 LL |         let sfoo: *mut Foo = &mut SFOO;
    |                              ^^^^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
diff --git a/tests/ui/borrowck/copy-overflow.rs b/tests/ui/borrowck/copy-overflow.rs
new file mode 100644
index 00000000000..5aa1afdee68
--- /dev/null
+++ b/tests/ui/borrowck/copy-overflow.rs
@@ -0,0 +1,16 @@
+// Regression test for <https://github.com/rust-lang/rust/issues/144165>.
+
+// We were previously suppressing the copy error in the `Clone` impl because we assumed
+// that the only way we get `Copy` ambiguity errors was due to incoherent impls. This is
+// not true, since ambiguities can be encountered due to overflows (among other ways).
+
+struct S<T: 'static>(Option<&'static T>);
+
+impl<T: 'static> Copy for S<T> where S<T>: Copy + Clone {}
+impl<T: 'static> Clone for S<T> {
+    fn clone(&self) -> Self {
+        *self
+        //~^ ERROR cannot move out of `*self` which is behind a shared reference
+    }
+}
+fn main() {}
diff --git a/tests/ui/borrowck/copy-overflow.stderr b/tests/ui/borrowck/copy-overflow.stderr
new file mode 100644
index 00000000000..3f601276f8f
--- /dev/null
+++ b/tests/ui/borrowck/copy-overflow.stderr
@@ -0,0 +1,15 @@
+error[E0507]: cannot move out of `*self` which is behind a shared reference
+  --> $DIR/copy-overflow.rs:12:9
+   |
+LL |         *self
+   |         ^^^^^ move occurs because `*self` has type `S<T>`, which does not implement the `Copy` trait
+   |
+help: consider cloning the value if the performance cost is acceptable
+   |
+LL -         *self
+LL +         self.clone()
+   |
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0507`.
diff --git a/tests/ui/cfg/conditional-compile-arch.rs b/tests/ui/cfg/conditional-compile-arch.rs
index 594d9344561..f1680547407 100644
--- a/tests/ui/cfg/conditional-compile-arch.rs
+++ b/tests/ui/cfg/conditional-compile-arch.rs
@@ -38,3 +38,6 @@ pub fn main() { }
 
 #[cfg(target_arch = "loongarch64")]
 pub fn main() { }
+
+#[cfg(target_arch = "arm64ec")]
+pub fn main() { }
diff --git a/tests/ui/cfg/crt-static-with-target-features-works.rs b/tests/ui/cfg/crt-static-with-target-features-works.rs
new file mode 100644
index 00000000000..bce02229624
--- /dev/null
+++ b/tests/ui/cfg/crt-static-with-target-features-works.rs
@@ -0,0 +1,24 @@
+// Test to ensure that specifying a value for crt-static in target features
+// does not result in skipping the features following it.
+// This is a regression test for #144143
+
+//@ add-core-stubs
+//@ needs-llvm-components: x86
+//@ compile-flags: --target=x86_64-unknown-linux-gnu
+//@ compile-flags: -Ctarget-feature=+crt-static,+avx2
+
+#![crate_type = "rlib"]
+#![feature(no_core, rustc_attrs, lang_items)]
+#![no_core]
+
+extern crate minicore;
+use minicore::*;
+
+#[rustc_builtin_macro]
+macro_rules! compile_error {
+    () => {};
+}
+
+#[cfg(target_feature = "avx2")]
+compile_error!("+avx2");
+//~^ ERROR: +avx2
diff --git a/tests/ui/cfg/crt-static-with-target-features-works.stderr b/tests/ui/cfg/crt-static-with-target-features-works.stderr
new file mode 100644
index 00000000000..6f265c685bb
--- /dev/null
+++ b/tests/ui/cfg/crt-static-with-target-features-works.stderr
@@ -0,0 +1,8 @@
+error: +avx2
+  --> $DIR/crt-static-with-target-features-works.rs:23:1
+   |
+LL | compile_error!("+avx2");
+   | ^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/check-cfg/my-awesome-platform.json b/tests/ui/check-cfg/my-awesome-platform.json
index 03b08b727bd..4c16d06c7b7 100644
--- a/tests/ui/check-cfg/my-awesome-platform.json
+++ b/tests/ui/check-cfg/my-awesome-platform.json
@@ -4,7 +4,6 @@
     "arch": "x86_64",
     "target-endian": "little",
     "target-pointer-width": "64",
-    "target-c-int-width": "32",
     "os": "ericos",
     "linker-flavor": "ld.lld",
     "linker": "rust-lld",
diff --git a/tests/ui/closures/2229_closure_analysis/issue-90465.stderr b/tests/ui/closures/2229_closure_analysis/issue-90465.stderr
index ccca24764e4..94bbd79cbb4 100644
--- a/tests/ui/closures/2229_closure_analysis/issue-90465.stderr
+++ b/tests/ui/closures/2229_closure_analysis/issue-90465.stderr
@@ -10,7 +10,7 @@ LL |         let _ = f0;
 LL | }
    | - in Rust 2018, `f0` is dropped here along with the closure, but in Rust 2021 `f0` is not part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/issue-90465.rs:3:9
    |
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr b/tests/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr
index fdcada468e0..b981ef69b4f 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/auto_traits.stderr
@@ -7,7 +7,7 @@ LL |     thread::spawn(move || unsafe {
 LL |         *fptr.0 = 20;
    |         ------- in Rust 2018, this closure captures all of `fptr`, but in Rust 2021, it will only capture `fptr.0`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/auto_traits.rs:2:9
    |
@@ -34,7 +34,7 @@ LL |     thread::spawn(move || unsafe {
 LL |         *fptr.0.0 = 20;
    |         --------- in Rust 2018, this closure captures all of `fptr`, but in Rust 2021, it will only capture `fptr.0.0`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `fptr` to be fully captured
    |
 LL ~     thread::spawn(move || { let _ = &fptr; unsafe {
@@ -56,7 +56,7 @@ LL |         let f_1 = f.1;
 LL | }
    | - in Rust 2018, `f` is dropped here, but in Rust 2021, only `f.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `f` to be fully captured
    |
 LL ~     let c = || {
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.stderr b/tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.stderr
index bb17e3a34af..c49b1d2d0e0 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/closure-body-macro-fragment.stderr
@@ -15,7 +15,7 @@ LL | |         println!("{:?}", x);
 LL | |     });
    | |______- in this macro invocation
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/closure-body-macro-fragment.rs:4:9
    |
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr b/tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr
index a0795c12928..3381b9e334b 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/insignificant_drop_attr_migrations.stderr
@@ -10,7 +10,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/insignificant_drop_attr_migrations.rs:3:9
    |
@@ -34,7 +34,7 @@ LL |         let _t = t.1;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL ~     let c = move || {
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/macro.stderr b/tests/ui/closures/2229_closure_analysis/migrations/macro.stderr
index 7ea5136d119..7d90b7bf72b 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/macro.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/macro.stderr
@@ -7,7 +7,7 @@ LL |     let _ = || dbg!(a.0);
 LL | }
    | - in Rust 2018, `a` is dropped here, but in Rust 2021, only `a.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/macro.rs:5:9
    |
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr b/tests/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr
index 94526487e67..7d937f51249 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/migrations_rustfix.stderr
@@ -10,7 +10,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/migrations_rustfix.rs:2:9
    |
@@ -31,7 +31,7 @@ LL |     let c = || t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL |     let c = || { let _ = &t; t.0 };
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr b/tests/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr
index 2b76deca377..6a9266ecc54 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/mir_calls_to_shims.stderr
@@ -10,7 +10,7 @@ LL |     let result = panic::catch_unwind(move || {
 LL |         f.0()
    |         --- in Rust 2018, this closure captures all of `f`, but in Rust 2021, it will only capture `f.0`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/mir_calls_to_shims.rs:4:9
    |
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr b/tests/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr
index 138778ff5d7..81ffe866c83 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/multi_diagnostics.stderr
@@ -13,7 +13,7 @@ LL |         let _f_2 = f2.1;
 LL | }
    | - in Rust 2018, `f2` is dropped here, but in Rust 2021, only `f2.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/multi_diagnostics.rs:2:9
    |
@@ -34,7 +34,7 @@ LL |     let c = || {
 LL |         let _f_1 = f1.0;
    |                    ---- in Rust 2018, this closure captures all of `f1`, but in Rust 2021, it will only capture `f1.0`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `f1` to be fully captured
    |
 LL ~     let c = || {
@@ -56,7 +56,7 @@ LL |
 LL |         let _f_2 = f1.2;
    |                    ---- in Rust 2018, this closure captures all of `f1`, but in Rust 2021, it will only capture `f1.2`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `f1` to be fully captured
    |
 LL ~     let c = || {
@@ -81,7 +81,7 @@ LL | }
    | in Rust 2018, `f1` is dropped here, but in Rust 2021, only `f1.0` will be dropped here as part of the closure
    | in Rust 2018, `f1` is dropped here, but in Rust 2021, only `f1.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `f1` to be fully captured
    |
 LL ~     let c = || {
@@ -104,7 +104,7 @@ LL |
 LL |         *fptr2.0 = 20;
    |         -------- in Rust 2018, this closure captures all of `fptr2`, but in Rust 2021, it will only capture `fptr2.0`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `fptr1`, `fptr2` to be fully captured
    |
 LL ~     thread::spawn(move || { let _ = (&fptr1, &fptr2); unsafe {
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/precise.stderr b/tests/ui/closures/2229_closure_analysis/migrations/precise.stderr
index eff26a4d6f5..5fb7675207f 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/precise.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/precise.stderr
@@ -10,7 +10,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/precise.rs:3:9
    |
@@ -44,7 +44,7 @@ LL | }
    | in Rust 2018, `u` is dropped here, but in Rust 2021, only `u.0.1` will be dropped here as part of the closure
    | in Rust 2018, `u` is dropped here, but in Rust 2021, only `u.1.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `u` to be fully captured
    |
 LL ~     let c = || {
diff --git a/tests/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr b/tests/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr
index 54ad20f8983..3f4d38aefe7 100644
--- a/tests/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr
+++ b/tests/ui/closures/2229_closure_analysis/migrations/significant_drop.stderr
@@ -20,7 +20,7 @@ LL | }
    | in Rust 2018, `t1` is dropped here, but in Rust 2021, only `t1.0` will be dropped here as part of the closure
    | in Rust 2018, `t2` is dropped here, but in Rust 2021, only `t2.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/significant_drop.rs:2:9
    |
@@ -50,7 +50,7 @@ LL | }
    | in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    | in Rust 2018, `t1` is dropped here, but in Rust 2021, only `t1.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t`, `t1` to be fully captured
    |
 LL ~     let c = || {
@@ -69,7 +69,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL ~     let c = || {
@@ -88,7 +88,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL ~     let c = || {
@@ -107,7 +107,7 @@ LL |         let _t = t.0;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL ~     let c = || {
@@ -126,7 +126,7 @@ LL |         let _t = t.1;
 LL | }
    | - in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t` to be fully captured
    |
 LL ~     let c = || {
@@ -150,7 +150,7 @@ LL | }
    | in Rust 2018, `t1` is dropped here, but in Rust 2021, only `t1.1` will be dropped here as part of the closure
    | in Rust 2018, `t` is dropped here, but in Rust 2021, only `t.1` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `t1`, `t` to be fully captured
    |
 LL ~     let c = move || {
@@ -169,7 +169,7 @@ LL |                 tuple.0;
 LL |         }
    |         - in Rust 2018, `tuple` is dropped here, but in Rust 2021, only `tuple.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `tuple` to be fully captured
    |
 LL ~             let c = || {
@@ -188,7 +188,7 @@ LL |             tuple.0;
 LL |     };
    |     - in Rust 2018, `tuple` is dropped here, but in Rust 2021, only `tuple.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `tuple` to be fully captured
    |
 LL ~         let c = || {
@@ -204,7 +204,7 @@ LL |         let _c = || tup.0;
 LL | }
    | - in Rust 2018, `tup` is dropped here, but in Rust 2021, only `tup.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 help: add a dummy let to cause `tup` to be fully captured
    |
 LL |         let _c = || { let _ = &tup; tup.0 };
diff --git a/tests/ui/codegen/mismatched-data-layout.json b/tests/ui/codegen/mismatched-data-layout.json
index 7adc8832524..f8c510c1863 100644
--- a/tests/ui/codegen/mismatched-data-layout.json
+++ b/tests/ui/codegen/mismatched-data-layout.json
@@ -4,7 +4,6 @@
     "arch": "x86_64",
     "target-endian": "little",
     "target-pointer-width": "64",
-    "target-c-int-width": "32",
     "os": "none",
     "linker-flavor": "ld.lld",
     "linker": "rust-lld",
diff --git a/tests/ui/codegen/mismatched-data-layouts.rs b/tests/ui/codegen/mismatched-data-layouts.rs
index 6428b8c5247..ea1457148a5 100644
--- a/tests/ui/codegen/mismatched-data-layouts.rs
+++ b/tests/ui/codegen/mismatched-data-layouts.rs
@@ -5,6 +5,7 @@
 //@ compile-flags: --crate-type=lib --target={{src-base}}/codegen/mismatched-data-layout.json -Z unstable-options
 //@ normalize-stderr: "`, `[A-Za-z0-9-:]*`" -> "`, `normalized data layout`"
 //@ normalize-stderr: "layout, `[A-Za-z0-9-:]*`" -> "layout, `normalized data layout`"
+//@ normalize-stderr: "`mismatched-data-layout-\d+`" -> "`mismatched-data-layout-<hash>`"
 
 #![feature(lang_items, no_core, auto_traits)]
 #![no_core]
diff --git a/tests/ui/codegen/mismatched-data-layouts.stderr b/tests/ui/codegen/mismatched-data-layouts.stderr
index b7d5d82bee0..d1117564d5b 100644
--- a/tests/ui/codegen/mismatched-data-layouts.stderr
+++ b/tests/ui/codegen/mismatched-data-layouts.stderr
@@ -1,4 +1,4 @@
-error: data-layout for target `mismatched-data-layout-7193370089426056427`, `normalized data layout`, differs from LLVM target's `x86_64-unknown-none-gnu` default layout, `normalized data layout`
+error: data-layout for target `mismatched-data-layout-<hash>`, `normalized data layout`, differs from LLVM target's `x86_64-unknown-none-gnu` default layout, `normalized data layout`
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.neg.stderr b/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.neg.stderr
index fa12dd14753..364fecb96ea 100644
--- a/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.neg.stderr
+++ b/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.neg.stderr
@@ -10,8 +10,14 @@ note: required by a bound in `ct_unused_0::AliasConstUnused`
 LL |     type AliasConstUnused<T: Copy> = (T, I32<{ DATA }>);
    |                              ^^^^ required by this bound in `AliasConstUnused`
 
+error[E0080]: entering unreachable code
+  --> $DIR/type-alias-bounds.rs:29:52
+   |
+LL |     type AliasConstUnused where String: Copy = I32<{ 0; 0 }>;
+   |                                                    ^^^^^^^^ evaluation of `ct_unused_1::AliasConstUnused::{constant#0}` failed here
+
 error[E0277]: the trait bound `String: Copy` is not satisfied
-  --> $DIR/type-alias-bounds.rs:31:12
+  --> $DIR/type-alias-bounds.rs:32:12
    |
 LL |     let _: AliasConstUnused;
    |            ^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `String`
@@ -23,41 +29,42 @@ LL |     type AliasConstUnused where String: Copy = I32<{ 0; 0 }>;
    |                                         ^^^^ required by this bound in `AliasConstUnused`
 
 error[E0277]: the trait bound `String: Copy` is not satisfied
-  --> $DIR/type-alias-bounds.rs:39:12
+  --> $DIR/type-alias-bounds.rs:40:12
    |
 LL |     let _: AliasFnUnused<String>;
    |            ^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `String`
    |
 note: required by a bound in `AliasFnUnused`
-  --> $DIR/type-alias-bounds.rs:36:27
+  --> $DIR/type-alias-bounds.rs:37:27
    |
 LL |     type AliasFnUnused<T: Copy> = (T, I32<{ code() }>);
    |                           ^^^^ required by this bound in `AliasFnUnused`
 
 error[E0277]: the trait bound `String: Copy` is not satisfied
-  --> $DIR/type-alias-bounds.rs:57:12
+  --> $DIR/type-alias-bounds.rs:58:12
    |
 LL |     let _: AliasAssocConstUsed<String>;
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `String`
    |
 note: required by a bound in `AliasAssocConstUsed`
-  --> $DIR/type-alias-bounds.rs:55:41
+  --> $DIR/type-alias-bounds.rs:56:41
    |
 LL |     type AliasAssocConstUsed<T: Trait + Copy> = I32<{ T::DATA }>;
    |                                         ^^^^ required by this bound in `AliasAssocConstUsed`
 
 error[E0277]: the trait bound `String: Copy` is not satisfied
-  --> $DIR/type-alias-bounds.rs:65:12
+  --> $DIR/type-alias-bounds.rs:66:12
    |
 LL |     let _: AliasFnUsed<String>;
    |            ^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `String`
    |
 note: required by a bound in `AliasFnUsed`
-  --> $DIR/type-alias-bounds.rs:62:33
+  --> $DIR/type-alias-bounds.rs:63:33
    |
 LL |     type AliasFnUsed<T: Trait + Copy> = I32<{ code::<T>() }>;
    |                                 ^^^^ required by this bound in `AliasFnUsed`
 
-error: aborting due to 5 previous errors
+error: aborting due to 6 previous errors
 
-For more information about this error, try `rustc --explain E0277`.
+Some errors have detailed explanations: E0080, E0277.
+For more information about an error, try `rustc --explain E0080`.
diff --git a/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.rs b/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.rs
index f16e646129c..775b28f8c73 100644
--- a/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.rs
+++ b/tests/ui/const-generics/generic_const_exprs/type-alias-bounds.rs
@@ -27,6 +27,7 @@ fn ct_unused_0() {
 fn ct_unused_1() {
     #[allow(trivial_bounds)]
     type AliasConstUnused where String: Copy = I32<{ 0; 0 }>;
+    //[neg]~^ ERROR entering unreachable code
     #[cfg(neg)]
     let _: AliasConstUnused;
     //[neg]~^ ERROR the trait bound `String: Copy` is not satisfied
diff --git a/tests/ui/consts/const-eval/const_panic_stability.e2018.stderr b/tests/ui/consts/const-eval/const_panic_stability.e2018.stderr
index 3553a18d388..b3ccd2459aa 100644
--- a/tests/ui/consts/const-eval/const_panic_stability.e2018.stderr
+++ b/tests/ui/consts/const-eval/const_panic_stability.e2018.stderr
@@ -5,7 +5,7 @@ LL |     panic!({ "foo" });
    |            ^^^^^^^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
    = note: `#[warn(non_fmt_panics)]` on by default
 help: add a "{}" format string to `Display` the message
    |
diff --git a/tests/ui/consts/const-try-feature-gate.rs b/tests/ui/consts/const-try-feature-gate.rs
index 09985079e8e..4a98185a18a 100644
--- a/tests/ui/consts/const-try-feature-gate.rs
+++ b/tests/ui/consts/const-try-feature-gate.rs
@@ -4,6 +4,8 @@ const fn t() -> Option<()> {
     Some(())?;
     //~^ ERROR `?` is not allowed
     //~| ERROR `?` is not allowed
+    //~| ERROR `Try` is not yet stable as a const trait
+    //~| ERROR `FromResidual` is not yet stable as a const trait
     None
 }
 
diff --git a/tests/ui/consts/const-try-feature-gate.stderr b/tests/ui/consts/const-try-feature-gate.stderr
index 0ad19d05b38..62a4a5fba4f 100644
--- a/tests/ui/consts/const-try-feature-gate.stderr
+++ b/tests/ui/consts/const-try-feature-gate.stderr
@@ -1,19 +1,47 @@
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
+error[E0658]: `?` is not allowed on `Option<()>` in constant functions
   --> $DIR/const-try-feature-gate.rs:4:5
    |
 LL |     Some(())?;
    |     ^^^^^^^^^
    |
    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
+   = note: see issue #143874 <https://github.com/rust-lang/rust/issues/143874> for more information
+   = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
+   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
+error: `Try` is not yet stable as a const trait
+  --> $DIR/const-try-feature-gate.rs:4:5
+   |
+LL |     Some(())?;
+   |     ^^^^^^^^^
+   |
+help: add `#![feature(const_try)]` to the crate attributes to enable
+   |
+LL + #![feature(const_try)]
+   |
+
+error[E0658]: `?` is not allowed on `Option<()>` in constant functions
   --> $DIR/const-try-feature-gate.rs:4:5
    |
 LL |     Some(())?;
    |     ^^^^^^^^^
    |
    = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
+   = note: see issue #143874 <https://github.com/rust-lang/rust/issues/143874> for more information
+   = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
+   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error: `FromResidual` is not yet stable as a const trait
+  --> $DIR/const-try-feature-gate.rs:4:5
+   |
+LL |     Some(())?;
+   |     ^^^^^^^^^
+   |
+help: add `#![feature(const_try)]` to the crate attributes to enable
+   |
+LL + #![feature(const_try)]
+   |
 
-error: aborting due to 2 previous errors
+error: aborting due to 4 previous errors
 
-For more information about this error, try `rustc --explain E0015`.
+For more information about this error, try `rustc --explain E0658`.
diff --git a/tests/ui/consts/const-try.rs b/tests/ui/consts/const-try.rs
index e13fad78441..152400d702e 100644
--- a/tests/ui/consts/const-try.rs
+++ b/tests/ui/consts/const-try.rs
@@ -1,4 +1,6 @@
-//@ compile-flags: -Znext-solver
+//@ check-pass
+//@ revisions: current next
+//@[next] compile-flags: -Znext-solver
 
 // Demonstrates what's needed to make use of `?` in const contexts.
 
@@ -13,14 +15,12 @@ struct TryMe;
 struct Error;
 
 impl const FromResidual<Error> for TryMe {
-    //~^ ERROR const `impl` for trait `FromResidual` which is not `const`
     fn from_residual(residual: Error) -> Self {
         TryMe
     }
 }
 
 impl const Try for TryMe {
-    //~^ ERROR const `impl` for trait `Try` which is not `const`
     type Output = ();
     type Residual = Error;
     fn from_output(output: Self::Output) -> Self {
@@ -33,8 +33,6 @@ impl const Try for TryMe {
 
 const fn t() -> TryMe {
     TryMe?;
-    //~^ ERROR `?` is not allowed on
-    //~| ERROR `?` is not allowed on
     TryMe
 }
 
diff --git a/tests/ui/consts/const-try.stderr b/tests/ui/consts/const-try.stderr
deleted file mode 100644
index 7004ea3e6db..00000000000
--- a/tests/ui/consts/const-try.stderr
+++ /dev/null
@@ -1,37 +0,0 @@
-error: const `impl` for trait `FromResidual` which is not `const`
-  --> $DIR/const-try.rs:15:12
-   |
-LL | impl const FromResidual<Error> for TryMe {
-   |            ^^^^^^^^^^^^^^^^^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `Try` which is not `const`
-  --> $DIR/const-try.rs:22:12
-   |
-LL | impl const Try for TryMe {
-   |            ^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
-error[E0015]: `?` is not allowed on `TryMe` in constant functions
-  --> $DIR/const-try.rs:35:5
-   |
-LL |     TryMe?;
-   |     ^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `TryMe` in constant functions
-  --> $DIR/const-try.rs:35:5
-   |
-LL |     TryMe?;
-   |     ^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/consts/const_let_assign2.stderr b/tests/ui/consts/const_let_assign2.stderr
index 1bb560437b6..e8bed6d0724 100644
--- a/tests/ui/consts/const_let_assign2.stderr
+++ b/tests/ui/consts/const_let_assign2.stderr
@@ -4,7 +4,7 @@ warning: creating a mutable reference to mutable static
 LL |     let ptr = unsafe { &mut BB };
    |                        ^^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
diff --git a/tests/ui/consts/const_refs_to_static-ice-121413.stderr b/tests/ui/consts/const_refs_to_static-ice-121413.stderr
index 1263deebf76..e354110f293 100644
--- a/tests/ui/consts/const_refs_to_static-ice-121413.stderr
+++ b/tests/ui/consts/const_refs_to_static-ice-121413.stderr
@@ -16,7 +16,7 @@ LL |     static FOO: Sync = AtomicUsize::new(0);
    |                 ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/consts/const_transmute_type_id6.rs b/tests/ui/consts/const_transmute_type_id6.rs
new file mode 100644
index 00000000000..668eb0bb2b0
--- /dev/null
+++ b/tests/ui/consts/const_transmute_type_id6.rs
@@ -0,0 +1,16 @@
+//! Test that we do not ICE and that we do report an error
+//! when placing non-TypeId provenance into a TypeId.
+
+#![feature(const_trait_impl, const_cmp)]
+
+use std::any::TypeId;
+use std::mem::transmute;
+
+const X: bool = {
+    let a = ();
+    let id: TypeId = unsafe { transmute([&raw const a; 16 / size_of::<*const ()>()]) };
+    id == id
+    //~^ ERROR: invalid `TypeId` value: not all bytes carry type id metadata
+};
+
+fn main() {}
diff --git a/tests/ui/consts/const_transmute_type_id6.stderr b/tests/ui/consts/const_transmute_type_id6.stderr
new file mode 100644
index 00000000000..f5d90256e7c
--- /dev/null
+++ b/tests/ui/consts/const_transmute_type_id6.stderr
@@ -0,0 +1,15 @@
+error[E0080]: invalid `TypeId` value: not all bytes carry type id metadata
+  --> $DIR/const_transmute_type_id6.rs:12:5
+   |
+LL |     id == id
+   |     ^^^^^^^^ evaluation of `X` failed inside this call
+   |
+note: inside `<TypeId as PartialEq>::eq`
+  --> $SRC_DIR/core/src/any.rs:LL:COL
+note: inside `<TypeId as PartialEq>::eq::compiletime`
+  --> $SRC_DIR/core/src/any.rs:LL:COL
+   = note: this error originates in the macro `$crate::intrinsics::const_eval_select` which comes from the expansion of the macro `crate::intrinsics::const_eval_select` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0080`.
diff --git a/tests/ui/consts/control-flow/try.rs b/tests/ui/consts/control-flow/try.rs
index 67083e1a39b..6d762f9194e 100644
--- a/tests/ui/consts/control-flow/try.rs
+++ b/tests/ui/consts/control-flow/try.rs
@@ -1,11 +1,12 @@
-// The `?` operator is still not const-evaluatable because it calls `From::from` on the error
-// variant.
+//@ check-pass
+
+#![allow(dead_code)]
+#![feature(const_trait_impl)]
+#![feature(const_try)]
 
 const fn opt() -> Option<i32> {
     let x = Some(2);
     x?;
-    //~^ ERROR: `?` is not allowed
-    //~| ERROR: `?` is not allowed
     None
 }
 
diff --git a/tests/ui/consts/control-flow/try.stderr b/tests/ui/consts/control-flow/try.stderr
deleted file mode 100644
index 62a3e3ce6bc..00000000000
--- a/tests/ui/consts/control-flow/try.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0015]: `?` is not allowed on `Option<i32>` in constant functions
-  --> $DIR/try.rs:6:5
-   |
-LL |     x?;
-   |     ^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `Option<i32>` in constant functions
-  --> $DIR/try.rs:6:5
-   |
-LL |     x?;
-   |     ^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/consts/try-operator.rs b/tests/ui/consts/try-operator.rs
index 352dbeefa8a..59d9fcb1cbd 100644
--- a/tests/ui/consts/try-operator.rs
+++ b/tests/ui/consts/try-operator.rs
@@ -1,9 +1,8 @@
-//@ known-bug: #110395
+//@ run-pass
 
 #![feature(try_trait_v2)]
 #![feature(const_trait_impl)]
 #![feature(const_try)]
-#![feature(const_convert)]
 
 fn main() {
     const fn result() -> Result<bool, ()> {
diff --git a/tests/ui/consts/try-operator.stderr b/tests/ui/consts/try-operator.stderr
deleted file mode 100644
index fc37039d260..00000000000
--- a/tests/ui/consts/try-operator.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-error[E0635]: unknown feature `const_convert`
-  --> $DIR/try-operator.rs:6:12
-   |
-LL | #![feature(const_convert)]
-   |            ^^^^^^^^^^^^^
-
-error[E0015]: `?` is not allowed on `Result<(), ()>` in constant functions
-  --> $DIR/try-operator.rs:10:9
-   |
-LL |         Err(())?;
-   |         ^^^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `Result<bool, ()>` in constant functions
-  --> $DIR/try-operator.rs:10:9
-   |
-LL |         Err(())?;
-   |         ^^^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
-  --> $DIR/try-operator.rs:18:9
-   |
-LL |         None?;
-   |         ^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
-  --> $DIR/try-operator.rs:18:9
-   |
-LL |         None?;
-   |         ^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 5 previous errors
-
-Some errors have detailed explanations: E0015, E0635.
-For more information about an error, try `rustc --explain E0015`.
diff --git a/tests/ui/contracts/contract-attributes-generics.rs b/tests/ui/contracts/contract-attributes-generics.rs
index fd79c6abedd..3763ce116f8 100644
--- a/tests/ui/contracts/contract-attributes-generics.rs
+++ b/tests/ui/contracts/contract-attributes-generics.rs
@@ -5,9 +5,9 @@
 //@ [unchk_pass] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_pre] run-fail
-//@ [chk_fail_post] run-fail
-//@ [chk_const_fail] run-fail
+//@ [chk_fail_pre] run-crash
+//@ [chk_fail_post] run-crash
+//@ [chk_const_fail] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //
diff --git a/tests/ui/contracts/contract-attributes-nest.rs b/tests/ui/contracts/contract-attributes-nest.rs
index e1e61b88f28..d367687b84e 100644
--- a/tests/ui/contracts/contract-attributes-nest.rs
+++ b/tests/ui/contracts/contract-attributes-nest.rs
@@ -5,8 +5,8 @@
 //@ [unchk_fail_post] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_pre] run-fail
-//@ [chk_fail_post] run-fail
+//@ [chk_fail_pre] run-crash
+//@ [chk_fail_post] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [unchk_fail_pre] compile-flags: -Zcontract-checks=no
diff --git a/tests/ui/contracts/contract-attributes-tail.rs b/tests/ui/contracts/contract-attributes-tail.rs
index ce4a6be5b82..43edfe5e803 100644
--- a/tests/ui/contracts/contract-attributes-tail.rs
+++ b/tests/ui/contracts/contract-attributes-tail.rs
@@ -5,8 +5,8 @@
 //@ [unchk_fail_post] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_pre] run-fail
-//@ [chk_fail_post] run-fail
+//@ [chk_fail_pre] run-crash
+//@ [chk_fail_post] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [unchk_fail_pre] compile-flags: -Zcontract-checks=no
diff --git a/tests/ui/contracts/contract-captures-via-closure-copy.rs b/tests/ui/contracts/contract-captures-via-closure-copy.rs
index 32c6d2bf4fe..bc7e5b9b6f1 100644
--- a/tests/ui/contracts/contract-captures-via-closure-copy.rs
+++ b/tests/ui/contracts/contract-captures-via-closure-copy.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Zcontract-checks=yes
 
 #![feature(contracts)]
diff --git a/tests/ui/contracts/contract-const-fn.rs b/tests/ui/contracts/contract-const-fn.rs
index 733a06ae570..fe8dd37b1f5 100644
--- a/tests/ui/contracts/contract-const-fn.rs
+++ b/tests/ui/contracts/contract-const-fn.rs
@@ -8,8 +8,8 @@
 //
 //@ [all_pass] run-pass
 //
-//@ [runtime_fail_pre] run-fail
-//@ [runtime_fail_post] run-fail
+//@ [runtime_fail_pre] run-crash
+//@ [runtime_fail_post] run-crash
 //
 //@ [all_pass] compile-flags: -Zcontract-checks=yes
 //@ [runtime_fail_pre] compile-flags: -Zcontract-checks=yes
diff --git a/tests/ui/contracts/contracts-ensures-early-fn-exit.rs b/tests/ui/contracts/contracts-ensures-early-fn-exit.rs
index 034cead3b4e..44ae07d8c95 100644
--- a/tests/ui/contracts/contracts-ensures-early-fn-exit.rs
+++ b/tests/ui/contracts/contracts-ensures-early-fn-exit.rs
@@ -2,9 +2,9 @@
 //
 //@ [unchk_pass] run-pass
 //@ [chk_pass] run-pass
-//@ [chk_fail_try] run-fail
-//@ [chk_fail_ret] run-fail
-//@ [chk_fail_yeet] run-fail
+//@ [chk_fail_try] run-crash
+//@ [chk_fail_ret] run-crash
+//@ [chk_fail_yeet] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [chk_pass] compile-flags: -Zcontract-checks=yes
diff --git a/tests/ui/contracts/internal_machinery/contract-ast-extensions-nest.rs b/tests/ui/contracts/internal_machinery/contract-ast-extensions-nest.rs
index 6d8cd3949ee..4da0480f8bc 100644
--- a/tests/ui/contracts/internal_machinery/contract-ast-extensions-nest.rs
+++ b/tests/ui/contracts/internal_machinery/contract-ast-extensions-nest.rs
@@ -5,8 +5,8 @@
 //@ [unchk_fail_post] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_pre] run-fail
-//@ [chk_fail_post] run-fail
+//@ [chk_fail_pre] run-crash
+//@ [chk_fail_post] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [unchk_fail_pre] compile-flags: -Zcontract-checks=no
diff --git a/tests/ui/contracts/internal_machinery/contract-ast-extensions-tail.rs b/tests/ui/contracts/internal_machinery/contract-ast-extensions-tail.rs
index 07ec26f921b..f3cf5ce082c 100644
--- a/tests/ui/contracts/internal_machinery/contract-ast-extensions-tail.rs
+++ b/tests/ui/contracts/internal_machinery/contract-ast-extensions-tail.rs
@@ -5,8 +5,8 @@
 //@ [unchk_fail_post] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_pre] run-fail
-//@ [chk_fail_post] run-fail
+//@ [chk_fail_pre] run-crash
+//@ [chk_fail_post] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [unchk_fail_pre] compile-flags: -Zcontract-checks=no
diff --git a/tests/ui/contracts/internal_machinery/contract-intrinsics.rs b/tests/ui/contracts/internal_machinery/contract-intrinsics.rs
index c62b8cca75a..6e613b53fc9 100644
--- a/tests/ui/contracts/internal_machinery/contract-intrinsics.rs
+++ b/tests/ui/contracts/internal_machinery/contract-intrinsics.rs
@@ -3,8 +3,8 @@
 //@ [default] run-pass
 //@ [unchk_pass] run-pass
 //@ [chk_pass] run-pass
-//@ [chk_fail_requires] run-fail
-//@ [chk_fail_ensures] run-fail
+//@ [chk_fail_requires] run-crash
+//@ [chk_fail_ensures] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [chk_pass] compile-flags: -Zcontract-checks=yes
diff --git a/tests/ui/contracts/internal_machinery/contract-lang-items.rs b/tests/ui/contracts/internal_machinery/contract-lang-items.rs
index 73c59194531..ac72d233bf6 100644
--- a/tests/ui/contracts/internal_machinery/contract-lang-items.rs
+++ b/tests/ui/contracts/internal_machinery/contract-lang-items.rs
@@ -4,7 +4,7 @@
 //@ [unchk_fail_post] run-pass
 //@ [chk_pass] run-pass
 //
-//@ [chk_fail_post] run-fail
+//@ [chk_fail_post] run-crash
 //
 //@ [unchk_pass] compile-flags: -Zcontract-checks=no
 //@ [unchk_fail_post] compile-flags: -Zcontract-checks=no
diff --git a/tests/ui/did_you_mean/bad-assoc-ty.edition2015.stderr b/tests/ui/did_you_mean/bad-assoc-ty.edition2015.stderr
index ed6e5c3e0c0..416ff358d53 100644
--- a/tests/ui/did_you_mean/bad-assoc-ty.edition2015.stderr
+++ b/tests/ui/did_you_mean/bad-assoc-ty.edition2015.stderr
@@ -186,7 +186,7 @@ LL | type H = Fn(u8) -> (u8)::Output;
    |          ^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/drop/drop-order-comparisons.e2021.stderr b/tests/ui/drop/drop-order-comparisons.e2021.stderr
index 15a3f274514..d928403d2e3 100644
--- a/tests/ui/drop/drop-order-comparisons.e2021.stderr
+++ b/tests/ui/drop/drop-order-comparisons.e2021.stderr
@@ -27,7 +27,7 @@ LL | |     }, e.mark(3), e.ok(4));
    |                            `#1` will be dropped later as of Edition 2024
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#3` invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -75,7 +75,7 @@ LL | |     }, e.mark(1), e.ok(4));
    |                            `#1` will be dropped later as of Edition 2024
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#2` invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -107,7 +107,7 @@ LL | |     }, e.mark(1), e.ok(4));
    |                            `#1` will be dropped later as of Edition 2024
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#2` invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -139,7 +139,7 @@ LL | |     }, e.mark(2), e.ok(3));
    |                            `#1` will be dropped later as of Edition 2024
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#2` invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -171,7 +171,7 @@ LL | |     }, e.mark(2), e.ok(3));
    |                            `#1` will be dropped later as of Edition 2024
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#2` invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -193,7 +193,7 @@ LL |     _ = (if let Ok(_) = e.ok(4).as_ref() {
    |                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -223,7 +223,7 @@ LL |     _ = (if let Ok(_) = e.err(4).as_ref() {} else {
    |                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -252,7 +252,7 @@ LL |         if let Ok(_) = e.err(4).as_ref() {} else {
    |                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -281,7 +281,7 @@ LL |         if let true = e.err(9).is_ok() {} else {
    |                       this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -310,7 +310,7 @@ LL |         if let Ok(_v) = e.err(8) {} else {
    |                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -339,7 +339,7 @@ LL |         if let Ok(_) = e.err(7) {} else {
    |                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -368,7 +368,7 @@ LL |         if let Ok(_) = e.err(6).as_ref() {} else {
    |                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -397,7 +397,7 @@ LL |         if let Ok(_v) = e.err(5) {} else {
    |                         this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -426,7 +426,7 @@ LL |         if let Ok(_) = e.err(4) {} else {
    |                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
@@ -455,7 +455,7 @@ LL |         if let Ok(_) = e.err(4).as_ref() {} else {
    |                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/drop-order-comparisons.rs:504:1
    |
diff --git a/tests/ui/drop/lint-if-let-rescope-gated.edition2021.stderr b/tests/ui/drop/lint-if-let-rescope-gated.edition2021.stderr
index 0d6974d516b..5f04273d336 100644
--- a/tests/ui/drop/lint-if-let-rescope-gated.edition2021.stderr
+++ b/tests/ui/drop/lint-if-let-rescope-gated.edition2021.stderr
@@ -7,7 +7,7 @@ LL |     if let Some(_value) = Droppy.get() {
    |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope-gated.rs:14:1
    |
diff --git a/tests/ui/drop/lint-if-let-rescope-with-macro.stderr b/tests/ui/drop/lint-if-let-rescope-with-macro.stderr
index a0afb8eddb5..63e30f1ab92 100644
--- a/tests/ui/drop/lint-if-let-rescope-with-macro.stderr
+++ b/tests/ui/drop/lint-if-let-rescope-with-macro.stderr
@@ -14,7 +14,7 @@ LL | |     };
    | |_____- in this macro invocation
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope-with-macro.rs:22:1
    |
diff --git a/tests/ui/drop/lint-if-let-rescope.stderr b/tests/ui/drop/lint-if-let-rescope.stderr
index ca2416efcb1..7cab7339fe1 100644
--- a/tests/ui/drop/lint-if-let-rescope.stderr
+++ b/tests/ui/drop/lint-if-let-rescope.stderr
@@ -7,7 +7,7 @@ LL |     if let Some(_value) = droppy().get() {
    |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -47,7 +47,7 @@ LL |     } else if let Some(_value) = droppy().get() {
    |                                  -------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -89,7 +89,7 @@ LL |     } else if let Some(_value) = droppy().get() {
    |                                  this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -120,7 +120,7 @@ LL |     if let Some(1) = { if let Some(_value) = Droppy.get() { Some(1) } else
    |                                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -146,7 +146,7 @@ LL |     if (if let Some(_value) = droppy().get() { true } else { false }) {
    |                               this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -172,7 +172,7 @@ LL |     } else if (((if let Some(_value) = droppy().get() { true } else { false
    |                                        this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -198,7 +198,7 @@ LL |     while (if let Some(_value) = droppy().get() { false } else { true }) {
    |                                  this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 note: value invokes this custom destructor
   --> $DIR/lint-if-let-rescope.rs:11:1
    |
@@ -224,7 +224,7 @@ LL |     if let Some(_value) = Some((droppy(), ()).1) {} else {}
    |                                this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-if-let-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
 help: the value is now dropped here in Edition 2024
   --> $DIR/lint-if-let-rescope.rs:97:51
    |
diff --git a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr
index a55e366dd0b..2eeda8ac387 100644
--- a/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr
+++ b/tests/ui/drop/lint-tail-expr-drop-order-borrowck.stderr
@@ -7,7 +7,7 @@ LL |     let _ = { String::new().as_str() }.len();
    |               this temporary value will be dropped at the end of the block
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: the lint level is defined here
   --> $DIR/lint-tail-expr-drop-order-borrowck.rs:6:9
    |
@@ -23,7 +23,7 @@ LL |     f(unsafe { String::new().as_str() }.len());
    |                this temporary value will be dropped at the end of the block
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 
 error: relative drop order changing in Rust 2024
   --> $DIR/lint-tail-expr-drop-order-borrowck.rs:31:9
@@ -35,7 +35,7 @@ LL |         &mut || 0
    |         borrow later used here
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 
 error: relative drop order changing in Rust 2024
   --> $DIR/lint-tail-expr-drop-order-borrowck.rs:43:9
@@ -46,7 +46,7 @@ LL |     g({ &f() });
    |     borrow later used by call
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/drop/lint-tail-expr-drop-order.stderr b/tests/ui/drop/lint-tail-expr-drop-order.stderr
index e124e9874d0..c69c58aa1ab 100644
--- a/tests/ui/drop/lint-tail-expr-drop-order.stderr
+++ b/tests/ui/drop/lint-tail-expr-drop-order.stderr
@@ -17,7 +17,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
@@ -54,7 +54,7 @@ LL |     }
    |     - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
@@ -86,7 +86,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
@@ -118,7 +118,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
@@ -145,7 +145,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
 
 error: relative drop order changing in Rust 2024
@@ -167,7 +167,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
@@ -199,7 +199,7 @@ LL | }
    | - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:193:5
    |
@@ -231,7 +231,7 @@ LL |     ));
    |       - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#1` invokes this custom destructor
   --> $DIR/lint-tail-expr-drop-order.rs:10:1
    |
diff --git a/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr b/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr
index 7bf452e2496..94977185ced 100644
--- a/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr
+++ b/tests/ui/drop/tail_expr_drop_order-on-coroutine-unwind.stderr
@@ -23,7 +23,7 @@ LL |     }
    |     - now the temporary value is dropped here, before the local variables in the block or statement
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/temporary-tail-expr-scope.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
 note: `#2` invokes this custom destructor
   --> $DIR/tail_expr_drop_order-on-coroutine-unwind.rs:9:1
    |
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.old.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.old.stderr
index b811ef40c26..687799c6688 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.old.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning-2.old.stderr
@@ -5,7 +5,7 @@ LL | fn id<F>(f: Copy) -> usize {
    |             ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL | fn id<F>(f: Copy) -> usize {
    |             ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.old.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.old.stderr
index 8b4f3f52ee9..4cfac943375 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.old.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning-3.old.stderr
@@ -5,7 +5,7 @@ LL | trait B { fn f(a: A) -> A; }
    |                   ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL | trait B { fn f(a: A) -> A; }
    |                         ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | trait B { fn f(a: A) -> dyn A; }
@@ -32,7 +32,7 @@ LL | trait A { fn g(b: B) -> B; }
    |                   ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | trait A { fn g(b: dyn B) -> B; }
@@ -45,7 +45,7 @@ LL | trait A { fn g(b: B) -> B; }
    |                         ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | trait A { fn g(b: B) -> dyn B; }
@@ -58,7 +58,7 @@ LL | trait B { fn f(a: A) -> A; }
    |                   ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -100,7 +100,7 @@ LL | trait A { fn g(b: B) -> B; }
    |                   ^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr b/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
index dbfe91e1811..4645b35f8f1 100644
--- a/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
+++ b/tests/ui/dyn-compatibility/avoid-ice-on-warning.old.stderr
@@ -23,7 +23,7 @@ LL | fn call_this<F>(f: F) : Fn(&str) + call_that {}
    |                         ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/dyn-compatibility/bare-trait-dont-suggest-dyn.old.stderr b/tests/ui/dyn-compatibility/bare-trait-dont-suggest-dyn.old.stderr
index 7be6cb0d03b..3cbdd19111d 100644
--- a/tests/ui/dyn-compatibility/bare-trait-dont-suggest-dyn.old.stderr
+++ b/tests/ui/dyn-compatibility/bare-trait-dont-suggest-dyn.old.stderr
@@ -5,7 +5,7 @@ LL | fn ord_prefer_dot(s: String) -> Ord {
    |                                 ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/bare-trait-dont-suggest-dyn.rs:5:9
    |
diff --git a/tests/ui/dyn-keyword/dyn-2018-edition-lint.stderr b/tests/ui/dyn-keyword/dyn-2018-edition-lint.stderr
index b930815d13b..b034c5dac16 100644
--- a/tests/ui/dyn-keyword/dyn-2018-edition-lint.stderr
+++ b/tests/ui/dyn-keyword/dyn-2018-edition-lint.stderr
@@ -5,7 +5,7 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
    |                 ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/dyn-2018-edition-lint.rs:2:8
    |
@@ -23,7 +23,7 @@ LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) {
    |                                   ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
@@ -36,7 +36,7 @@ LL |     let _x: &SomeTrait = todo!();
    |              ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let _x: &dyn SomeTrait = todo!();
diff --git a/tests/ui/dyn-keyword/dyn-angle-brackets.stderr b/tests/ui/dyn-keyword/dyn-angle-brackets.stderr
index 6a29dab0486..30069633cf5 100644
--- a/tests/ui/dyn-keyword/dyn-angle-brackets.stderr
+++ b/tests/ui/dyn-keyword/dyn-angle-brackets.stderr
@@ -5,7 +5,7 @@ LL |         <fmt::Debug>::fmt(self, f)
    |          ^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/dyn-angle-brackets.rs:4:9
    |
diff --git a/tests/ui/editions/never-type-fallback-breaking.e2021.stderr b/tests/ui/editions/never-type-fallback-breaking.e2021.stderr
index 6b84a64fffe..e30c0adb79d 100644
--- a/tests/ui/editions/never-type-fallback-breaking.e2021.stderr
+++ b/tests/ui/editions/never-type-fallback-breaking.e2021.stderr
@@ -5,7 +5,7 @@ LL | fn m() {
    | ^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:22:17
@@ -25,7 +25,7 @@ LL | fn q() -> Option<()> {
    | ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:37:5
@@ -44,7 +44,7 @@ LL | fn meow() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `(): From<!>` will fail
   --> $DIR/never-type-fallback-breaking.rs:50:5
@@ -63,7 +63,7 @@ LL | pub fn fallback_return() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:62:19
@@ -82,7 +82,7 @@ LL | fn fully_apit() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:76:17
@@ -104,7 +104,7 @@ LL | fn m() {
    | ^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:22:17
@@ -125,7 +125,7 @@ LL | fn q() -> Option<()> {
    | ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:37:5
@@ -146,7 +146,7 @@ LL | fn meow() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `(): From<!>` will fail
   --> $DIR/never-type-fallback-breaking.rs:50:5
@@ -167,7 +167,7 @@ LL | pub fn fallback_return() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:62:19
@@ -188,7 +188,7 @@ LL | fn fully_apit() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/never-type-fallback-breaking.rs:76:17
diff --git a/tests/ui/entry-point/auxiliary/main_functions.rs b/tests/ui/entry-point/auxiliary/main_functions.rs
index cc7992a42c1..ab4a09b6331 100644
--- a/tests/ui/entry-point/auxiliary/main_functions.rs
+++ b/tests/ui/entry-point/auxiliary/main_functions.rs
@@ -1 +1,4 @@
 pub fn boilerplate() {}
+
+#[inline]
+pub fn local_codegen() {}
diff --git a/tests/ui/entry-point/imported_main_local_codegen.rs b/tests/ui/entry-point/imported_main_local_codegen.rs
new file mode 100644
index 00000000000..1e46c109373
--- /dev/null
+++ b/tests/ui/entry-point/imported_main_local_codegen.rs
@@ -0,0 +1,11 @@
+//@ run-pass
+//@ aux-build:main_functions.rs
+//@ compile-flags: -Ccodegen-units=1024
+
+// This is a regression test for https://github.com/rust-lang/rust/issues/144052.
+// Entrypoint functions call each other in ways that CGU partitioning doesn't know about. So there
+// is a special check to not internalize any of them. But internalizing them can be okay if there
+// are few enough CGUs, so we use a lot of CGUs in this test to hit the bad case.
+
+extern crate main_functions;
+pub use main_functions::local_codegen as main;
diff --git a/tests/ui/ergonomic-clones/closure/rfc2229-migration.stderr b/tests/ui/ergonomic-clones/closure/rfc2229-migration.stderr
index b980be6cb86..f4f3e518014 100644
--- a/tests/ui/ergonomic-clones/closure/rfc2229-migration.stderr
+++ b/tests/ui/ergonomic-clones/closure/rfc2229-migration.stderr
@@ -10,7 +10,7 @@ LL |         let x = a.0;
 LL | }
    | - in Rust 2018, `a` is dropped here, but in Rust 2021, only `a.0` will be dropped here as part of the closure
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/disjoint-capture-in-closures.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/disjoint-capture-in-closures.html>
 note: the lint level is defined here
   --> $DIR/rfc2229-migration.rs:5:9
    |
diff --git a/tests/ui/errors/dynless-turbofish-e0191-issue-91997.stderr b/tests/ui/errors/dynless-turbofish-e0191-issue-91997.stderr
index 7f3022c2923..0004ea82fac 100644
--- a/tests/ui/errors/dynless-turbofish-e0191-issue-91997.stderr
+++ b/tests/ui/errors/dynless-turbofish-e0191-issue-91997.stderr
@@ -5,7 +5,7 @@ LL |     let _ = MyIterator::next;
    |             ^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/extern/extern-types-field-offset.rs b/tests/ui/extern/extern-types-field-offset.rs
index 75f3eab3e27..035f063cd50 100644
--- a/tests/ui/extern/extern-types-field-offset.rs
+++ b/tests/ui/extern/extern-types-field-offset.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ check-run-results
 //@ exec-env:RUST_BACKTRACE=0
 //@ normalize-stderr: "(core/src/panicking\.rs):[0-9]+:[0-9]+" -> "$1:$$LINE:$$COL"
diff --git a/tests/ui/feature-gates/feature-gate-fn_align.rs b/tests/ui/feature-gates/feature-gate-fn_align.rs
index b6c300e5cbe..36e17c4a8dd 100644
--- a/tests/ui/feature-gates/feature-gate-fn_align.rs
+++ b/tests/ui/feature-gates/feature-gate-fn_align.rs
@@ -1,12 +1,16 @@
 #![crate_type = "lib"]
 
-#[align(16)]
-//~^ ERROR the `#[align]` attribute is an experimental feature
+// ignore-tidy-linelength
+
+// FIXME(#82232, #143834): temporarily renamed to mitigate `#[align]` nameres ambiguity
+
+#[rustc_align(16)]
+//~^ ERROR the `#[rustc_align]` attribute is an experimental feature
 fn requires_alignment() {}
 
 trait MyTrait {
-    #[align]
-    //~^ ERROR the `#[align]` attribute is an experimental feature
-    //~| ERROR malformed `align` attribute input
+    #[rustc_align]
+    //~^ ERROR the `#[rustc_align]` attribute is an experimental feature
+    //~| ERROR malformed `rustc_align` attribute input
     fn myfun();
 }
diff --git a/tests/ui/feature-gates/feature-gate-fn_align.stderr b/tests/ui/feature-gates/feature-gate-fn_align.stderr
index 921cf08435c..6196f4f298f 100644
--- a/tests/ui/feature-gates/feature-gate-fn_align.stderr
+++ b/tests/ui/feature-gates/feature-gate-fn_align.stderr
@@ -1,31 +1,31 @@
-error[E0658]: the `#[align]` attribute is an experimental feature
-  --> $DIR/feature-gate-fn_align.rs:3:1
+error[E0658]: the `#[rustc_align]` attribute is an experimental feature
+  --> $DIR/feature-gate-fn_align.rs:7:1
    |
-LL | #[align(16)]
-   | ^^^^^^^^^^^^
+LL | #[rustc_align(16)]
+   | ^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #82232 <https://github.com/rust-lang/rust/issues/82232> for more information
    = help: add `#![feature(fn_align)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0658]: the `#[align]` attribute is an experimental feature
-  --> $DIR/feature-gate-fn_align.rs:8:5
+error[E0658]: the `#[rustc_align]` attribute is an experimental feature
+  --> $DIR/feature-gate-fn_align.rs:12:5
    |
-LL |     #[align]
-   |     ^^^^^^^^
+LL |     #[rustc_align]
+   |     ^^^^^^^^^^^^^^
    |
    = note: see issue #82232 <https://github.com/rust-lang/rust/issues/82232> for more information
    = help: add `#![feature(fn_align)]` to the crate attributes to enable
    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
 
-error[E0539]: malformed `align` attribute input
-  --> $DIR/feature-gate-fn_align.rs:8:5
+error[E0539]: malformed `rustc_align` attribute input
+  --> $DIR/feature-gate-fn_align.rs:12:5
    |
-LL |     #[align]
-   |     ^^^^^^^^
+LL |     #[rustc_align]
+   |     ^^^^^^^^^^^^^^
    |     |
    |     expected this to be a list
-   |     help: must be of the form: `#[align(<alignment in bytes>)]`
+   |     help: must be of the form: `#[rustc_align(<alignment in bytes>)]`
 
 error: aborting due to 3 previous errors
 
diff --git a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.rs b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.rs
index 6a7ef793924..0438152ff35 100644
--- a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.rs
+++ b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.rs
@@ -13,7 +13,7 @@ mod macro_escape {
     //~^ ERROR arguments to `macro_use` are not allowed here
 
     #[macro_use = "2700"] struct S;
-    //~^ ERROR malformed `macro_use` attribute
+    //~^ ERROR valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
 
     #[macro_use] fn f() { }
 
diff --git a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
index 8987b87f84e..4da71766837 100644
--- a/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
+++ b/tests/ui/feature-gates/issue-43106-gating-of-macro_use.stderr
@@ -16,20 +16,11 @@ error: arguments to `macro_use` are not allowed here
 LL | #![macro_use(my_macro)]
    | ^^^^^^^^^^^^^^^^^^^^^^^
 
-error: malformed `macro_use` attribute input
+error: valid forms for the attribute are `#[macro_use(name1, name2, ...)]` and `#[macro_use]`
   --> $DIR/issue-43106-gating-of-macro_use.rs:15:5
    |
 LL |     #[macro_use = "2700"] struct S;
    |     ^^^^^^^^^^^^^^^^^^^^^
-   |
-help: the following are the possible correct uses
-   |
-LL -     #[macro_use = "2700"] struct S;
-LL +     #[macro_use(name1, name2, ...)] struct S;
-   |
-LL -     #[macro_use = "2700"] struct S;
-LL +     #[macro_use] struct S;
-   |
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/impl-trait/fresh-lifetime-from-bare-trait-obj-114664.stderr b/tests/ui/impl-trait/fresh-lifetime-from-bare-trait-obj-114664.stderr
index 418f9acf589..46b677202ef 100644
--- a/tests/ui/impl-trait/fresh-lifetime-from-bare-trait-obj-114664.stderr
+++ b/tests/ui/impl-trait/fresh-lifetime-from-bare-trait-obj-114664.stderr
@@ -5,7 +5,7 @@ LL | fn ice() -> impl AsRef<Fn(&())> {
    |                        ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL | fn ice() -> impl AsRef<Fn(&())> {
    |                        ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/impl-trait/in-bindings/implicit-sized.rs b/tests/ui/impl-trait/in-bindings/implicit-sized.rs
new file mode 100644
index 00000000000..2f16db94189
--- /dev/null
+++ b/tests/ui/impl-trait/in-bindings/implicit-sized.rs
@@ -0,0 +1,19 @@
+#![feature(impl_trait_in_bindings)]
+
+trait Trait {}
+impl<T: ?Sized> Trait for T {}
+
+fn doesnt_work() {
+    let x: &impl Trait = "hi";
+    //~^ ERROR the size for values of type `str` cannot be known at compilation time
+}
+
+fn works() {
+    let x: &(impl Trait + ?Sized) = "hi";
+    // No implicit sized.
+
+    let x: &impl Trait = &();
+    // Is actually sized.
+}
+
+fn main() {}
diff --git a/tests/ui/impl-trait/in-bindings/implicit-sized.stderr b/tests/ui/impl-trait/in-bindings/implicit-sized.stderr
new file mode 100644
index 00000000000..465a928cf86
--- /dev/null
+++ b/tests/ui/impl-trait/in-bindings/implicit-sized.stderr
@@ -0,0 +1,11 @@
+error[E0277]: the size for values of type `str` cannot be known at compilation time
+  --> $DIR/implicit-sized.rs:7:13
+   |
+LL |     let x: &impl Trait = "hi";
+   |             ^^^^^^^^^^ doesn't have a size known at compile-time
+   |
+   = help: the trait `Sized` is not implemented for `str`
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/impl-trait/precise-capturing/overcaptures-2024-machine-applicable.stderr b/tests/ui/impl-trait/precise-capturing/overcaptures-2024-machine-applicable.stderr
index 35fff9ef170..980ddedc255 100644
--- a/tests/ui/impl-trait/precise-capturing/overcaptures-2024-machine-applicable.stderr
+++ b/tests/ui/impl-trait/precise-capturing/overcaptures-2024-machine-applicable.stderr
@@ -5,7 +5,7 @@ LL | fn named<'a>(x: &'a i32) -> impl Sized { *x }
    |                             ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024-machine-applicable.rs:9:10
    |
diff --git a/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr b/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
index 3f8511a21a0..dc9f1c218d9 100644
--- a/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
+++ b/tests/ui/impl-trait/precise-capturing/overcaptures-2024.stderr
@@ -5,7 +5,7 @@ LL | fn named<'a>(x: &'a i32) -> impl Sized { *x }
    |                             ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:7:10
    |
@@ -29,7 +29,7 @@ LL | fn implicit(x: &i32) -> impl Sized { *x }
    |                         ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:11:16
    |
@@ -48,7 +48,7 @@ LL |     fn hello(&self, x: &i32) -> impl Sized + '_ { self }
    |                                 ^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:17:24
    |
@@ -67,7 +67,7 @@ LL | fn hrtb() -> impl for<'a> Higher<'a, Output = impl Sized> {}
    |                                               ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:29:23
    |
@@ -86,7 +86,7 @@ LL | fn apit(_: &impl Sized) -> impl Sized {}
    |                            ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:33:12
    |
@@ -111,7 +111,7 @@ LL | fn apit2<U>(_: &impl Sized, _: U) -> impl Sized {}
    |                                      ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:37:16
    |
@@ -136,7 +136,7 @@ LL | async fn async_fn<'a>(x: &'a ()) -> impl Sized {}
    |                                     ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:41:19
    |
@@ -155,7 +155,7 @@ LL | pub fn parens(x: &i32) -> &impl Clone { x }
    |                            ^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/rpit-lifetime-capture.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
 note: specifically, this lifetime is in scope but not mentioned in the type's bounds
   --> $DIR/overcaptures-2024.rs:45:18
    |
diff --git a/tests/ui/issues/issue-28344.stderr b/tests/ui/issues/issue-28344.stderr
index 7bc965536e9..dfd4951f172 100644
--- a/tests/ui/issues/issue-28344.stderr
+++ b/tests/ui/issues/issue-28344.stderr
@@ -5,7 +5,7 @@ LL |     let x: u8 = BitXor::bitor(0 as u8, 0 as u8);
    |                 ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -25,7 +25,7 @@ LL |     let g = BitXor::bitor;
    |             ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let g = <dyn BitXor>::bitor;
diff --git a/tests/ui/issues/issue-39367.stderr b/tests/ui/issues/issue-39367.stderr
index df21c09983e..65076375e96 100644
--- a/tests/ui/issues/issue-39367.stderr
+++ b/tests/ui/issues/issue-39367.stderr
@@ -9,7 +9,7 @@ LL | |                     (Box::new(__static_ref_initialize()));
 LL | |             });
    | |______________^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 
diff --git a/tests/ui/issues/issue-58734.stderr b/tests/ui/issues/issue-58734.stderr
index e5dad000b51..c246d1fc111 100644
--- a/tests/ui/issues/issue-58734.stderr
+++ b/tests/ui/issues/issue-58734.stderr
@@ -5,7 +5,7 @@ LL |     Trait::nonexistent(());
    |     ^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/issues/issue-86756.stderr b/tests/ui/issues/issue-86756.stderr
index 0f68b764850..b650b32c2a3 100644
--- a/tests/ui/issues/issue-86756.stderr
+++ b/tests/ui/issues/issue-86756.stderr
@@ -19,7 +19,7 @@ LL |     eq::<dyn, Foo>
    |               ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/iterators/into-iter-on-arrays-2018.stderr b/tests/ui/iterators/into-iter-on-arrays-2018.stderr
index d4055c74f7c..8818ef80f76 100644
--- a/tests/ui/iterators/into-iter-on-arrays-2018.stderr
+++ b/tests/ui/iterators/into-iter-on-arrays-2018.stderr
@@ -5,7 +5,7 @@ LL |     let _: Iter<'_, i32> = array.into_iter();
    |                                  ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
    = note: `#[warn(array_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
@@ -25,7 +25,7 @@ LL |     let _: Iter<'_, i32> = Box::new(array).into_iter();
    |                                            ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-2018.rs:22:43
@@ -34,7 +34,7 @@ LL |     let _: Iter<'_, i32> = Rc::new(array).into_iter();
    |                                           ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-2018.rs:25:41
@@ -43,7 +43,7 @@ LL |     let _: Iter<'_, i32> = Array(array).into_iter();
    |                                         ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-2018.rs:32:24
@@ -52,7 +52,7 @@ LL |     for _ in [1, 2, 3].into_iter() {}
    |                        ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
 LL -     for _ in [1, 2, 3].into_iter() {}
diff --git a/tests/ui/iterators/into-iter-on-arrays-lint.stderr b/tests/ui/iterators/into-iter-on-arrays-lint.stderr
index fb8fe79c7c9..a9dfa5819c1 100644
--- a/tests/ui/iterators/into-iter-on-arrays-lint.stderr
+++ b/tests/ui/iterators/into-iter-on-arrays-lint.stderr
@@ -5,7 +5,7 @@ LL |     small.into_iter();
    |           ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
    = note: `#[warn(array_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
@@ -25,7 +25,7 @@ LL |     [1, 2].into_iter();
    |            ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
 LL -     [1, 2].into_iter();
@@ -44,7 +44,7 @@ LL |     big.into_iter();
    |         ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
 LL -     big.into_iter();
@@ -63,7 +63,7 @@ LL |     [0u8; 33].into_iter();
    |               ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
 LL -     [0u8; 33].into_iter();
@@ -82,7 +82,7 @@ LL |     Box::new(small).into_iter();
    |                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:27:22
@@ -91,7 +91,7 @@ LL |     Box::new([1, 2]).into_iter();
    |                      ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:30:19
@@ -100,7 +100,7 @@ LL |     Box::new(big).into_iter();
    |                   ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:33:25
@@ -109,7 +109,7 @@ LL |     Box::new([0u8; 33]).into_iter();
    |                         ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:37:31
@@ -118,7 +118,7 @@ LL |     Box::new(Box::new(small)).into_iter();
    |                               ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:40:32
@@ -127,7 +127,7 @@ LL |     Box::new(Box::new([1, 2])).into_iter();
    |                                ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:43:29
@@ -136,7 +136,7 @@ LL |     Box::new(Box::new(big)).into_iter();
    |                             ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
   --> $DIR/into-iter-on-arrays-lint.rs:46:35
@@ -145,7 +145,7 @@ LL |     Box::new(Box::new([0u8; 33])).into_iter();
    |                                   ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 
 warning: 12 warnings emitted
 
diff --git a/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr b/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
index 7a5a2be5ef0..a0c1432756d 100644
--- a/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
+++ b/tests/ui/iterators/into-iter-on-boxed-slices-2021.stderr
@@ -5,7 +5,7 @@ LL |     let _: Iter<'_, i32> = boxed_slice.into_iter();
    |                                        ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
    = note: `#[warn(boxed_slice_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
@@ -25,7 +25,7 @@ LL |     let _: Iter<'_, i32> = Box::new(boxed_slice.clone()).into_iter();
    |                                                          ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-2021.rs:22:57
@@ -34,7 +34,7 @@ LL |     let _: Iter<'_, i32> = Rc::new(boxed_slice.clone()).into_iter();
    |                                                         ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-2021.rs:25:55
@@ -43,7 +43,7 @@ LL |     let _: Iter<'_, i32> = Array(boxed_slice.clone()).into_iter();
    |                                                       ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-2021.rs:32:48
@@ -52,7 +52,7 @@ LL |     for _ in (Box::new([1, 2, 3]) as Box<[_]>).into_iter() {}
    |                                                ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
 LL -     for _ in (Box::new([1, 2, 3]) as Box<[_]>).into_iter() {}
diff --git a/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr b/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
index 6762ed28d36..377455d6a26 100644
--- a/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
+++ b/tests/ui/iterators/into-iter-on-boxed-slices-lint.stderr
@@ -5,7 +5,7 @@ LL |     boxed.into_iter();
    |           ^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
    = note: `#[warn(boxed_slice_into_iter)]` on by default
 help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
    |
@@ -25,7 +25,7 @@ LL |     Box::new(boxed.clone()).into_iter();
    |                             ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 
 warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
   --> $DIR/into-iter-on-boxed-slices-lint.rs:16:39
@@ -34,7 +34,7 @@ LL |     Box::new(Box::new(boxed.clone())).into_iter();
    |                                       ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 
 warning: 3 warnings emitted
 
diff --git a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
index 4423b83e24d..8015a2fe081 100644
--- a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
+++ b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.rs
@@ -5,7 +5,8 @@ where
     str: Sized,
 {
     [(); { let _a: Option<str> = None; 0 }];
-    //~^ ERROR the type `Option<str>` has an unknown layout
+    //~^ ERROR entering unreachable code
+    //~| NOTE evaluation of `return_str::{constant#0}` failed here
 }
 
 fn main() {}
diff --git a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
index 43fe9e3a7a7..cad73b603c1 100644
--- a/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
+++ b/tests/ui/layout/uncomputable-due-to-trivial-bounds-ice-135138.stderr
@@ -1,8 +1,8 @@
-error[E0080]: the type `Option<str>` has an unknown layout
-  --> $DIR/uncomputable-due-to-trivial-bounds-ice-135138.rs:7:16
+error[E0080]: entering unreachable code
+  --> $DIR/uncomputable-due-to-trivial-bounds-ice-135138.rs:7:10
    |
 LL |     [(); { let _a: Option<str> = None; 0 }];
-   |                ^^ evaluation of `return_str::{constant#0}` failed here
+   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `return_str::{constant#0}` failed here
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/layout/unknown-when-no-type-parameter.rs b/tests/ui/layout/unknown-when-no-type-parameter.rs
index f787998868d..8579593c65c 100644
--- a/tests/ui/layout/unknown-when-no-type-parameter.rs
+++ b/tests/ui/layout/unknown-when-no-type-parameter.rs
@@ -9,9 +9,8 @@ where
     (): Project,
 {
     [(); size_of::<<() as Project>::Assoc>()];
-    //~^ ERROR the type `<() as Project>::Assoc` has an unknown layout
-    //~| NOTE inside `std::mem::size_of::<<() as Project>::Assoc>`
-    //~| NOTE failed inside this call
+    //~^ ERROR entering unreachable code
+    //~| NOTE evaluation of `foo::{constant#0}` failed here
 }
 
 fn main() {}
diff --git a/tests/ui/layout/unknown-when-no-type-parameter.stderr b/tests/ui/layout/unknown-when-no-type-parameter.stderr
index 9bb42c46ec3..7c382c7a855 100644
--- a/tests/ui/layout/unknown-when-no-type-parameter.stderr
+++ b/tests/ui/layout/unknown-when-no-type-parameter.stderr
@@ -1,11 +1,8 @@
-error[E0080]: the type `<() as Project>::Assoc` has an unknown layout
+error[E0080]: entering unreachable code
   --> $DIR/unknown-when-no-type-parameter.rs:11:10
    |
 LL |     [(); size_of::<<() as Project>::Assoc>()];
-   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `foo::{constant#0}` failed inside this call
-   |
-note: inside `std::mem::size_of::<<() as Project>::Assoc>`
-  --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
+   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `foo::{constant#0}` failed here
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
index 54f339711d5..da11804c226 100644
--- a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
+++ b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.rs
@@ -6,7 +6,8 @@ where
     str: std::ptr::Pointee<Metadata = str>,
 {
     [(); { let _a: Option<&str> = None; 0 }];
-    //~^ ERROR the type `str` has an unknown layout
+    //~^ ERROR entering unreachable code
+    //~| NOTE evaluation of `return_str::{constant#0}` failed here
 }
 
 fn main() {}
diff --git a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
index fd9eedc9267..888e2574119 100644
--- a/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
+++ b/tests/ui/layout/unknown-when-ptr-metadata-is-DST.stderr
@@ -1,8 +1,8 @@
-error[E0080]: the type `str` has an unknown layout
-  --> $DIR/unknown-when-ptr-metadata-is-DST.rs:8:16
+error[E0080]: entering unreachable code
+  --> $DIR/unknown-when-ptr-metadata-is-DST.rs:8:10
    |
 LL |     [(); { let _a: Option<&str> = None; 0 }];
-   |                ^^ evaluation of `return_str::{constant#0}` failed here
+   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `return_str::{constant#0}` failed here
 
 error: aborting due to 1 previous error
 
diff --git a/tests/ui/lifetimes/elided-lifetime-in-const-param-type.rs b/tests/ui/lifetimes/elided-lifetime-in-const-param-type.rs
new file mode 100644
index 00000000000..cdfd1327eae
--- /dev/null
+++ b/tests/ui/lifetimes/elided-lifetime-in-const-param-type.rs
@@ -0,0 +1,12 @@
+//! Regression test for <https://github.com/rust-lang/rust/issues/143413>
+//! The anonymous lifetime in `c(&())` is desugared by the resolver as an extra lifetime parameter
+//! at the end of the `for` binder. Verify that lowering creates the definition for that extra
+//! lifetime parameter before lowering `c(&())`.
+
+trait D {}
+
+type A = dyn for<const B: c(&())> D;
+//~^ ERROR cannot find type `c` in this scope
+//~| ERROR only lifetime parameters can be used in this context
+
+fn main() {}
diff --git a/tests/ui/lifetimes/elided-lifetime-in-const-param-type.stderr b/tests/ui/lifetimes/elided-lifetime-in-const-param-type.stderr
new file mode 100644
index 00000000000..c7f3c0cc0cd
--- /dev/null
+++ b/tests/ui/lifetimes/elided-lifetime-in-const-param-type.stderr
@@ -0,0 +1,20 @@
+error[E0412]: cannot find type `c` in this scope
+  --> $DIR/elided-lifetime-in-const-param-type.rs:8:27
+   |
+LL | type A = dyn for<const B: c(&())> D;
+   |                           ^ not found in this scope
+
+error[E0658]: only lifetime parameters can be used in this context
+  --> $DIR/elided-lifetime-in-const-param-type.rs:8:24
+   |
+LL | type A = dyn for<const B: c(&())> D;
+   |                        ^
+   |
+   = note: see issue #108185 <https://github.com/rust-lang/rust/issues/108185> for more information
+   = help: add `#![feature(non_lifetime_binders)]` to the crate attributes to enable
+   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0412, E0658.
+For more information about an error, try `rustc --explain E0412`.
diff --git a/tests/ui/linkage-attr/incompatible-flavor.rs b/tests/ui/linkage-attr/incompatible-flavor.rs
index 7f583f47e2f..4711343f9c9 100644
--- a/tests/ui/linkage-attr/incompatible-flavor.rs
+++ b/tests/ui/linkage-attr/incompatible-flavor.rs
@@ -1,5 +1,5 @@
 //@ compile-flags: --target=x86_64-unknown-linux-gnu -C linker-flavor=msvc --crate-type=rlib
-//@ needs-llvm-components:
+//@ needs-llvm-components: x86
 
 #![feature(no_core)]
 #![no_core]
diff --git a/tests/ui/linkage-attr/raw-dylib/elf/empty.rs b/tests/ui/linkage-attr/raw-dylib/elf/empty.rs
new file mode 100644
index 00000000000..2e48a5f0526
--- /dev/null
+++ b/tests/ui/linkage-attr/raw-dylib/elf/empty.rs
@@ -0,0 +1,11 @@
+//@ only-x86_64-unknown-linux-gnu
+//@ needs-dynamic-linking
+//@ build-pass
+
+#![allow(incomplete_features)]
+#![feature(raw_dylib_elf)]
+
+#[link(name = "hack", kind = "raw-dylib")]
+unsafe extern "C" {}
+
+fn main() {}
diff --git a/tests/ui/linkage-attr/raw-dylib/elf/glibc-x86_64.rs b/tests/ui/linkage-attr/raw-dylib/elf/glibc-x86_64.rs
new file mode 100644
index 00000000000..57492ed2d0e
--- /dev/null
+++ b/tests/ui/linkage-attr/raw-dylib/elf/glibc-x86_64.rs
@@ -0,0 +1,80 @@
+//@ only-x86_64-unknown-linux-gnu
+//@ needs-dynamic-linking
+//@ run-pass
+//@ compile-flags: -Cpanic=abort
+//@ edition: 2024
+
+#![allow(incomplete_features)]
+#![feature(raw_dylib_elf)]
+#![no_std]
+#![no_main]
+
+use core::ffi::{c_char, c_int};
+
+extern "C" fn callback(
+    _fpath: *const c_char,
+    _sb: *const (),
+    _tflag: c_int,
+    _ftwbuf: *const (),
+) -> c_int {
+    0
+}
+
+// `libc.so` is a linker script that provides the paths to `libc.so.6` and `libc_nonshared.a`.
+// In earlier versions of glibc, `libc_nonshared.a` provides the symbols `__libc_csu_init` and
+// `__libc_csu_fini` required by `Scrt1.o`.
+#[link(name = "c_nonshared", kind = "static")]
+unsafe extern "C" {}
+
+#[link(name = "libc.so.6", kind = "raw-dylib", modifiers = "+verbatim")]
+unsafe extern "C" {
+    #[link_name = "nftw@GLIBC_2.2.5"]
+    unsafe fn nftw_2_2_5(
+        dirpath: *const c_char,
+        f: extern "C" fn(*const c_char, *const (), c_int, *const ()) -> c_int,
+        nopenfd: c_int,
+        flags: c_int,
+    ) -> c_int;
+    #[link_name = "nftw@GLIBC_2.3.3"]
+    unsafe fn nftw_2_3_3(
+        dirpath: *const c_char,
+        f: extern "C" fn(*const c_char, *const (), c_int, *const ()) -> c_int,
+        nopenfd: c_int,
+        flags: c_int,
+    ) -> c_int;
+    #[link_name = "exit@GLIBC_2.2.5"]
+    safe fn exit(status: i32) -> !;
+    unsafe fn __libc_start_main() -> c_int;
+}
+
+#[unsafe(no_mangle)]
+extern "C" fn main() -> ! {
+    unsafe {
+        // The old `nftw` does not check whether unknown flags are set.
+        let res = nftw_2_2_5(c".".as_ptr(), callback, 20, 1 << 30);
+        assert_eq!(res, 0);
+    }
+    unsafe {
+        // The new `nftw` does.
+        let res = nftw_2_3_3(c".".as_ptr(), callback, 20, 1 << 30);
+        assert_eq!(res, -1);
+    }
+    exit(0);
+}
+
+#[cfg(not(test))]
+#[panic_handler]
+fn panic_handler(_: &core::panic::PanicInfo<'_>) -> ! {
+    exit(1);
+}
+
+#[unsafe(no_mangle)]
+extern "C" fn rust_eh_personality(
+    _version: i32,
+    _actions: i32,
+    _exception_class: u64,
+    _exception_object: *mut (),
+    _context: *mut (),
+) -> i32 {
+    exit(1);
+}
diff --git a/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.rs b/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.rs
new file mode 100644
index 00000000000..46e3798284b
--- /dev/null
+++ b/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.rs
@@ -0,0 +1,20 @@
+//@ only-elf
+//@ needs-dynamic-linking
+//@ check-fail
+
+#![feature(raw_dylib_elf)]
+#![allow(incomplete_features)]
+
+#[link(name = "libc.so.6", kind = "raw-dylib", modifiers = "+verbatim")]
+unsafe extern "C" {
+    #[link_name = "exit@"]
+    pub safe fn exit_0(status: i32) -> !; //~ ERROR link name must be well-formed if link kind is `raw-dylib`
+    #[link_name = "@GLIBC_2.2.5"]
+    pub safe fn exit_1(status: i32) -> !; //~ ERROR link name must be well-formed if link kind is `raw-dylib`
+    #[link_name = "ex\0it@GLIBC_2.2.5"]
+    pub safe fn exit_2(status: i32) -> !; //~ ERROR link name must be well-formed if link kind is `raw-dylib`
+    #[link_name = "exit@@GLIBC_2.2.5"]
+    pub safe fn exit_3(status: i32) -> !; //~ ERROR link name must be well-formed if link kind is `raw-dylib`
+}
+
+fn main() {}
diff --git a/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.stderr b/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.stderr
new file mode 100644
index 00000000000..5a979e7a3b1
--- /dev/null
+++ b/tests/ui/linkage-attr/raw-dylib/elf/malformed-link-name.stderr
@@ -0,0 +1,26 @@
+error: link name must be well-formed if link kind is `raw-dylib`
+  --> $DIR/malformed-link-name.rs:11:5
+   |
+LL |     pub safe fn exit_0(status: i32) -> !;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: link name must be well-formed if link kind is `raw-dylib`
+  --> $DIR/malformed-link-name.rs:13:5
+   |
+LL |     pub safe fn exit_1(status: i32) -> !;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: link name must be well-formed if link kind is `raw-dylib`
+  --> $DIR/malformed-link-name.rs:15:5
+   |
+LL |     pub safe fn exit_2(status: i32) -> !;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: link name must be well-formed if link kind is `raw-dylib`
+  --> $DIR/malformed-link-name.rs:17:5
+   |
+LL |     pub safe fn exit_3(status: i32) -> !;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 4 previous errors
+
diff --git a/tests/ui/lint/bare-trait-objects-path.stderr b/tests/ui/lint/bare-trait-objects-path.stderr
index 25f3e857806..8da63a9c546 100644
--- a/tests/ui/lint/bare-trait-objects-path.stderr
+++ b/tests/ui/lint/bare-trait-objects-path.stderr
@@ -5,7 +5,7 @@ LL |     Dyn::func();
    |     ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL |     ::Dyn::func();
    |     ^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     <dyn (::Dyn)>::func();
@@ -32,7 +32,7 @@ LL |     Dyn::CONST;
    |     ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     <dyn Dyn>::CONST;
@@ -45,7 +45,7 @@ LL |     let _: Dyn::Ty;
    |            ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let _: <dyn Dyn>::Ty;
diff --git a/tests/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr b/tests/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr
index a1aa29dd697..2be7416711e 100644
--- a/tests/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr
+++ b/tests/ui/lint/force-warn/allowed-group-warn-by-default-lint.stderr
@@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
    |                         ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: requested on the command line with `--force-warn bare-trait-objects`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/lint/force-warn/cap-lints-allow.stderr b/tests/ui/lint/force-warn/cap-lints-allow.stderr
index 0d10a43a14d..92bcde11415 100644
--- a/tests/ui/lint/force-warn/cap-lints-allow.stderr
+++ b/tests/ui/lint/force-warn/cap-lints-allow.stderr
@@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
    |                         ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: requested on the command line with `--force-warn bare-trait-objects`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr b/tests/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr
index d1b764b3414..74b34de90f1 100644
--- a/tests/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr
+++ b/tests/ui/lint/force-warn/cap-lints-warn-allowed-warn-by-default-lint.stderr
@@ -5,7 +5,7 @@ LL |         0...100 => true,
    |          ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `--force-warn ellipsis-inclusive-range-patterns` implied by `--force-warn rust-2021-compatibility`
 
 warning: 1 warning emitted
diff --git a/tests/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr b/tests/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr
index d52bd67e36a..5bfbc9599bc 100644
--- a/tests/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr
+++ b/tests/ui/lint/force-warn/lint-group-allowed-cli-warn-by-default-lint.stderr
@@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
    |                         ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/lint/force-warn/lint-group-allowed-lint-group.stderr b/tests/ui/lint/force-warn/lint-group-allowed-lint-group.stderr
index 22483a3d874..dabf12be5ff 100644
--- a/tests/ui/lint/force-warn/lint-group-allowed-lint-group.stderr
+++ b/tests/ui/lint/force-warn/lint-group-allowed-lint-group.stderr
@@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
    |                         ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr b/tests/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr
index aa183b9ba54..23a3a9107a1 100644
--- a/tests/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr
+++ b/tests/ui/lint/force-warn/lint-group-allowed-warn-by-default-lint.stderr
@@ -5,7 +5,7 @@ LL | pub fn function(_x: Box<SomeTrait>) {}
    |                         ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2018-idioms`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/lint/inclusive-range-pattern-syntax.stderr b/tests/ui/lint/inclusive-range-pattern-syntax.stderr
index ed9fa0d4101..a41082bb13b 100644
--- a/tests/ui/lint/inclusive-range-pattern-syntax.stderr
+++ b/tests/ui/lint/inclusive-range-pattern-syntax.stderr
@@ -5,7 +5,7 @@ LL |         1...2 => {}
    |          ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/inclusive-range-pattern-syntax.rs:4:9
    |
@@ -19,7 +19,7 @@ LL |         &1...2 => {}
    |         ^^^^^^ help: use `..=` for an inclusive range: `&(1..=2)`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/lint/invalid_null_args.rs b/tests/ui/lint/invalid_null_args.rs
index f40f06a0d36..ee29d622ad7 100644
--- a/tests/ui/lint/invalid_null_args.rs
+++ b/tests/ui/lint/invalid_null_args.rs
@@ -58,10 +58,9 @@ unsafe fn null_ptr() {
     let _a: A = ptr::read_unaligned(ptr::null_mut());
     //~^ ERROR calling this function with a null pointer is undefined behavior
 
+    // These two should *not* fire the lint.
     let _a: A = ptr::read_volatile(ptr::null());
-    //~^ ERROR calling this function with a null pointer is undefined behavior
     let _a: A = ptr::read_volatile(ptr::null_mut());
-    //~^ ERROR calling this function with a null pointer is undefined behavior
 
     let _a: A = ptr::replace(ptr::null_mut(), v);
     //~^ ERROR calling this function with a null pointer is undefined behavior
@@ -82,8 +81,8 @@ unsafe fn null_ptr() {
     ptr::write_unaligned(ptr::null_mut(), v);
     //~^ ERROR calling this function with a null pointer is undefined behavior
 
+    // This one should *not* fire the lint.
     ptr::write_volatile(ptr::null_mut(), v);
-    //~^ ERROR calling this function with a null pointer is undefined behavior
 
     ptr::write_bytes::<usize>(ptr::null_mut(), 42, 0);
     //~^ ERROR calling this function with a null pointer is undefined behavior
diff --git a/tests/ui/lint/invalid_null_args.stderr b/tests/ui/lint/invalid_null_args.stderr
index 11c6270cfb7..028bd7051dc 100644
--- a/tests/ui/lint/invalid_null_args.stderr
+++ b/tests/ui/lint/invalid_null_args.stderr
@@ -164,27 +164,7 @@ LL |     let _a: A = ptr::read_unaligned(ptr::null_mut());
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:61:17
-   |
-LL |     let _a: A = ptr::read_volatile(ptr::null());
-   |                 ^^^^^^^^^^^^^^^^^^^-----------^
-   |                                    |
-   |                                    null pointer originates from here
-   |
-   = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
-
-error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:63:17
-   |
-LL |     let _a: A = ptr::read_volatile(ptr::null_mut());
-   |                 ^^^^^^^^^^^^^^^^^^^---------------^
-   |                                    |
-   |                                    null pointer originates from here
-   |
-   = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
-
-error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:66:17
+  --> $DIR/invalid_null_args.rs:65:17
    |
 LL |     let _a: A = ptr::replace(ptr::null_mut(), v);
    |                 ^^^^^^^^^^^^^---------------^^^^
@@ -194,7 +174,7 @@ LL |     let _a: A = ptr::replace(ptr::null_mut(), v);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:69:5
+  --> $DIR/invalid_null_args.rs:68:5
    |
 LL |     ptr::swap::<A>(ptr::null_mut(), &mut v);
    |     ^^^^^^^^^^^^^^^---------------^^^^^^^^^
@@ -204,7 +184,7 @@ LL |     ptr::swap::<A>(ptr::null_mut(), &mut v);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:71:5
+  --> $DIR/invalid_null_args.rs:70:5
    |
 LL |     ptr::swap::<A>(&mut v, ptr::null_mut());
    |     ^^^^^^^^^^^^^^^^^^^^^^^---------------^
@@ -214,7 +194,7 @@ LL |     ptr::swap::<A>(&mut v, ptr::null_mut());
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:74:5
+  --> $DIR/invalid_null_args.rs:73:5
    |
 LL |     ptr::swap_nonoverlapping::<A>(ptr::null_mut(), &mut v, 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^
@@ -224,7 +204,7 @@ LL |     ptr::swap_nonoverlapping::<A>(ptr::null_mut(), &mut v, 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:76:5
+  --> $DIR/invalid_null_args.rs:75:5
    |
 LL |     ptr::swap_nonoverlapping::<A>(&mut v, ptr::null_mut(), 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^
@@ -234,7 +214,7 @@ LL |     ptr::swap_nonoverlapping::<A>(&mut v, ptr::null_mut(), 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:79:5
+  --> $DIR/invalid_null_args.rs:78:5
    |
 LL |     ptr::write(ptr::null_mut(), v);
    |     ^^^^^^^^^^^---------------^^^^
@@ -244,7 +224,7 @@ LL |     ptr::write(ptr::null_mut(), v);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:82:5
+  --> $DIR/invalid_null_args.rs:81:5
    |
 LL |     ptr::write_unaligned(ptr::null_mut(), v);
    |     ^^^^^^^^^^^^^^^^^^^^^---------------^^^^
@@ -254,17 +234,7 @@ LL |     ptr::write_unaligned(ptr::null_mut(), v);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:85:5
-   |
-LL |     ptr::write_volatile(ptr::null_mut(), v);
-   |     ^^^^^^^^^^^^^^^^^^^^---------------^^^^
-   |                         |
-   |                         null pointer originates from here
-   |
-   = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
-
-error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:88:5
+  --> $DIR/invalid_null_args.rs:87:5
    |
 LL |     ptr::write_bytes::<usize>(ptr::null_mut(), 42, 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^
@@ -274,7 +244,7 @@ LL |     ptr::write_bytes::<usize>(ptr::null_mut(), 42, 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:93:18
+  --> $DIR/invalid_null_args.rs:92:18
    |
 LL |     let _a: u8 = ptr::read(const_ptr);
    |                  ^^^^^^^^^^^^^^^^^^^^
@@ -287,7 +257,7 @@ LL |     let null_ptr = ptr::null_mut();
    |                    ^^^^^^^^^^^^^^^
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:100:5
+  --> $DIR/invalid_null_args.rs:99:5
    |
 LL |     std::slice::from_raw_parts::<()>(ptr::null(), 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^
@@ -297,7 +267,7 @@ LL |     std::slice::from_raw_parts::<()>(ptr::null(), 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:102:5
+  --> $DIR/invalid_null_args.rs:101:5
    |
 LL |     std::slice::from_raw_parts::<Zst>(ptr::null(), 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^
@@ -307,7 +277,7 @@ LL |     std::slice::from_raw_parts::<Zst>(ptr::null(), 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:104:5
+  --> $DIR/invalid_null_args.rs:103:5
    |
 LL |     std::slice::from_raw_parts_mut::<()>(ptr::null_mut(), 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^
@@ -317,7 +287,7 @@ LL |     std::slice::from_raw_parts_mut::<()>(ptr::null_mut(), 0);
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
 error: calling this function with a null pointer is undefined behavior, even if the result of the function is unused
-  --> $DIR/invalid_null_args.rs:106:5
+  --> $DIR/invalid_null_args.rs:105:5
    |
 LL |     std::slice::from_raw_parts_mut::<Zst>(ptr::null_mut(), 0);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^
@@ -326,5 +296,5 @@ LL |     std::slice::from_raw_parts_mut::<Zst>(ptr::null_mut(), 0);
    |
    = help: for more information, visit <https://doc.rust-lang.org/std/ptr/index.html> and <https://doc.rust-lang.org/reference/behavior-considered-undefined.html>
 
-error: aborting due to 31 previous errors
+error: aborting due to 28 previous errors
 
diff --git a/tests/ui/lint/lint-attr-everywhere-early.stderr b/tests/ui/lint/lint-attr-everywhere-early.stderr
index fac0eb4faff..2389b698c83 100644
--- a/tests/ui/lint/lint-attr-everywhere-early.stderr
+++ b/tests/ui/lint/lint-attr-everywhere-early.stderr
@@ -391,7 +391,7 @@ LL |         Match{f1: 0...100} => {}
    |                    ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/lint-attr-everywhere-early.rs:138:16
    |
@@ -489,7 +489,7 @@ LL |             f1: 0...100,
    |                  ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/lint-attr-everywhere-early.rs:174:20
    |
diff --git a/tests/ui/lint/static-mut-refs.e2021.stderr b/tests/ui/lint/static-mut-refs.e2021.stderr
index 320e0cee8e8..75a7e60690c 100644
--- a/tests/ui/lint/static-mut-refs.e2021.stderr
+++ b/tests/ui/lint/static-mut-refs.e2021.stderr
@@ -4,7 +4,7 @@ warning: creating a shared reference to mutable static
 LL |         let _y = &X;
    |                  ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
@@ -18,7 +18,7 @@ warning: creating a mutable reference to mutable static
 LL |         let _y = &mut X;
    |                  ^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
@@ -31,7 +31,7 @@ warning: creating a shared reference to mutable static
 LL |         let ref _a = X;
    |                      ^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -40,7 +40,7 @@ warning: creating a shared reference to mutable static
 LL |         let (_b, _c) = (&X, &Y);
    |                         ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -53,7 +53,7 @@ warning: creating a shared reference to mutable static
 LL |         let (_b, _c) = (&X, &Y);
    |                             ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -66,7 +66,7 @@ warning: creating a shared reference to mutable static
 LL |         foo(&X);
    |             ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -79,7 +79,7 @@ warning: creating a shared reference to mutable static
 LL |         let _ = Z.len();
    |                 ^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -88,7 +88,7 @@ warning: creating a shared reference to mutable static
 LL |         let _ = format!("{:?}", Z);
    |                                 ^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -97,7 +97,7 @@ warning: creating a shared reference to mutable static
 LL |         let _v = &A.value;
    |                  ^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -110,7 +110,7 @@ warning: creating a shared reference to mutable static
 LL |         let _s = &A.s.value;
    |                  ^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -123,7 +123,7 @@ warning: creating a shared reference to mutable static
 LL |         let ref _v = A.value;
    |                      ^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a mutable reference to mutable static
@@ -135,7 +135,7 @@ LL |         &mut ($x.0)
 LL |         let _x = bar!(FOO);
    |                  --------- in this macro invocation
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
    = note: this warning originates in the macro `bar` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/tests/ui/lint/static-mut-refs.e2024.stderr b/tests/ui/lint/static-mut-refs.e2024.stderr
index bf7ffc62ce1..42a96bafc88 100644
--- a/tests/ui/lint/static-mut-refs.e2024.stderr
+++ b/tests/ui/lint/static-mut-refs.e2024.stderr
@@ -4,7 +4,7 @@ error: creating a shared reference to mutable static
 LL |         let _y = &X;
    |                  ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[deny(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
@@ -18,7 +18,7 @@ error: creating a mutable reference to mutable static
 LL |         let _y = &mut X;
    |                  ^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
@@ -31,7 +31,7 @@ error: creating a shared reference to mutable static
 LL |         let ref _a = X;
    |                      ^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 error: creating a shared reference to mutable static
@@ -40,7 +40,7 @@ error: creating a shared reference to mutable static
 LL |         let (_b, _c) = (&X, &Y);
    |                         ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -53,7 +53,7 @@ error: creating a shared reference to mutable static
 LL |         let (_b, _c) = (&X, &Y);
    |                             ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -66,7 +66,7 @@ error: creating a shared reference to mutable static
 LL |         foo(&X);
    |             ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -79,7 +79,7 @@ error: creating a shared reference to mutable static
 LL |         let _ = Z.len();
    |                 ^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 error: creating a shared reference to mutable static
@@ -88,7 +88,7 @@ error: creating a shared reference to mutable static
 LL |         let _ = format!("{:?}", Z);
    |                                 ^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 error: creating a shared reference to mutable static
@@ -97,7 +97,7 @@ error: creating a shared reference to mutable static
 LL |         let _v = &A.value;
    |                  ^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -110,7 +110,7 @@ error: creating a shared reference to mutable static
 LL |         let _s = &A.s.value;
    |                  ^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -123,7 +123,7 @@ error: creating a shared reference to mutable static
 LL |         let ref _v = A.value;
    |                      ^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 error: creating a mutable reference to mutable static
@@ -135,7 +135,7 @@ LL |         &mut ($x.0)
 LL |         let _x = bar!(FOO);
    |                  --------- in this macro invocation
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
    = note: this error originates in the macro `bar` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/tests/ui/lint/unused/unused-attr-duplicate.stderr b/tests/ui/lint/unused/unused-attr-duplicate.stderr
index ecc1b7ff5a4..e277f5203c6 100644
--- a/tests/ui/lint/unused/unused-attr-duplicate.stderr
+++ b/tests/ui/lint/unused/unused-attr-duplicate.stderr
@@ -16,18 +16,6 @@ LL | #![deny(unused_attributes)]
    |         ^^^^^^^^^^^^^^^^^
 
 error: unused attribute
-  --> $DIR/unused-attr-duplicate.rs:37:1
-   |
-LL | #[macro_use]
-   | ^^^^^^^^^^^^ help: remove this attribute
-   |
-note: attribute also specified here
-  --> $DIR/unused-attr-duplicate.rs:36:1
-   |
-LL | #[macro_use]
-   | ^^^^^^^^^^^^
-
-error: unused attribute
   --> $DIR/unused-attr-duplicate.rs:55:1
    |
 LL | #[should_panic(expected = "values don't match")]
@@ -129,6 +117,18 @@ LL |     #[macro_export]
    |     ^^^^^^^^^^^^^^^
 
 error: unused attribute
+  --> $DIR/unused-attr-duplicate.rs:37:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^ help: remove this attribute
+   |
+note: attribute also specified here
+  --> $DIR/unused-attr-duplicate.rs:36:1
+   |
+LL | #[macro_use]
+   | ^^^^^^^^^^^^
+
+error: unused attribute
   --> $DIR/unused-attr-duplicate.rs:47:1
    |
 LL | #[path = "bar.rs"]
diff --git a/tests/ui/lint/unused/unused-attr-macro-rules.stderr b/tests/ui/lint/unused/unused-attr-macro-rules.stderr
index 4698e381425..1e1211af5e2 100644
--- a/tests/ui/lint/unused/unused-attr-macro-rules.stderr
+++ b/tests/ui/lint/unused/unused-attr-macro-rules.stderr
@@ -1,8 +1,8 @@
-error: `#[macro_use]` only has an effect on `extern crate` and modules
-  --> $DIR/unused-attr-macro-rules.rs:7:1
+error: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
+  --> $DIR/unused-attr-macro-rules.rs:9:1
    |
-LL | #[macro_use]
-   | ^^^^^^^^^^^^
+LL | #[recursion_limit="1"]
+   | ^^^^^^^^^^^^^^^^^^^^^^
    |
 note: the lint level is defined here
   --> $DIR/unused-attr-macro-rules.rs:1:9
@@ -10,11 +10,11 @@ note: the lint level is defined here
 LL | #![deny(unused_attributes)]
    |         ^^^^^^^^^^^^^^^^^
 
-error: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
-  --> $DIR/unused-attr-macro-rules.rs:9:1
+error: `#[macro_use]` only has an effect on `extern crate` and modules
+  --> $DIR/unused-attr-macro-rules.rs:7:1
    |
-LL | #[recursion_limit="1"]
-   | ^^^^^^^^^^^^^^^^^^^^^^
+LL | #[macro_use]
+   | ^^^^^^^^^^^^
 
 error: `#[path]` only has an effect on modules
   --> $DIR/unused-attr-macro-rules.rs:8:1
diff --git a/tests/ui/lto/debuginfo-lto-alloc.rs b/tests/ui/lto/debuginfo-lto-alloc.rs
index 89043275329..d6855f8760d 100644
--- a/tests/ui/lto/debuginfo-lto-alloc.rs
+++ b/tests/ui/lto/debuginfo-lto-alloc.rs
@@ -8,8 +8,9 @@
 // This test reproduces the circumstances that caused the error to appear, and checks
 // that compilation is successful.
 
-//@ check-pass
+//@ build-pass
 //@ compile-flags: --test -C debuginfo=2 -C lto=fat
+//@ no-prefer-dynamic
 //@ incremental
 
 extern crate alloc;
diff --git a/tests/ui/macros/expr_2021_cargo_fix_edition.stderr b/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
index a2c281d9c0a..795d99449c2 100644
--- a/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
+++ b/tests/ui/macros/expr_2021_cargo_fix_edition.stderr
@@ -5,7 +5,7 @@ LL |     ($e:expr) => {
    |         ^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see Migration Guide <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html>
+   = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
 note: the lint level is defined here
   --> $DIR/expr_2021_cargo_fix_edition.rs:4:9
    |
@@ -23,7 +23,7 @@ LL |     ($($i:expr)*) => { };
    |           ^^^^
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see Migration Guide <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html>
+   = note: for more information, see Migration Guide <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
 help: to keep the existing behavior, use the `expr_2021` fragment specifier
    |
 LL |     ($($i:expr_2021)*) => { };
diff --git a/tests/ui/macros/genercs-in-path-with-prettry-hir.stdout b/tests/ui/macros/genercs-in-path-with-prettry-hir.stdout
index 7c41225f95e..6b0300132b5 100644
--- a/tests/ui/macros/genercs-in-path-with-prettry-hir.stdout
+++ b/tests/ui/macros/genercs-in-path-with-prettry-hir.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ edition: 2015
diff --git a/tests/ui/macros/macro-or-patterns-back-compat.stderr b/tests/ui/macros/macro-or-patterns-back-compat.stderr
index e04dfefa4e8..67794f0a8b2 100644
--- a/tests/ui/macros/macro-or-patterns-back-compat.stderr
+++ b/tests/ui/macros/macro-or-patterns-back-compat.stderr
@@ -5,7 +5,7 @@ LL | macro_rules! foo { ($x:pat | $y:pat) => {} }
    |                     ^^^^^^ help: use pat_param to preserve semantics: `$x:pat_param`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/or-patterns-macro-rules.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/or-patterns-macro-rules.html>
 note: the lint level is defined here
   --> $DIR/macro-or-patterns-back-compat.rs:4:9
    |
@@ -19,7 +19,7 @@ LL | macro_rules! bar { ($($x:pat)+ | $($y:pat)+) => {} }
    |                       ^^^^^^ help: use pat_param to preserve semantics: `$x:pat_param`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/or-patterns-macro-rules.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/or-patterns-macro-rules.html>
 
 error: the meaning of the `pat` fragment specifier is changing in Rust 2021, which may affect this macro
   --> $DIR/macro-or-patterns-back-compat.rs:19:21
@@ -28,7 +28,7 @@ LL | macro_rules! ogg { ($x:pat | $y:pat_param) => {} }
    |                     ^^^^^^ help: use pat_param to preserve semantics: `$x:pat_param`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/or-patterns-macro-rules.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/or-patterns-macro-rules.html>
 
 error: the meaning of the `pat` fragment specifier is changing in Rust 2021, which may affect this macro
   --> $DIR/macro-or-patterns-back-compat.rs:23:26
@@ -37,7 +37,7 @@ LL |     ( $expr:expr , $( $( $pat:pat )|+ => $expr_arm:expr ),+ ) => {
    |                          ^^^^^^^^ help: use pat_param to preserve semantics: `$pat:pat_param`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/or-patterns-macro-rules.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/or-patterns-macro-rules.html>
 
 error: aborting due to 4 previous errors
 
diff --git a/tests/ui/macros/macro-use-all-and-none.stderr b/tests/ui/macros/macro-use-all-and-none.stderr
index 00b10dccd00..a5efb065a21 100644
--- a/tests/ui/macros/macro-use-all-and-none.stderr
+++ b/tests/ui/macros/macro-use-all-and-none.stderr
@@ -1,10 +1,9 @@
 warning: unused attribute
-  --> $DIR/macro-use-all-and-none.rs:7:1
+  --> $DIR/macro-use-all-and-none.rs:7:12
    |
 LL | #[macro_use()]
-   | ^^^^^^^^^^^^^^ help: remove this attribute
+   |            ^^ help: remove this attribute
    |
-   = note: attribute `macro_use` with an empty list has no effect
 note: the lint level is defined here
   --> $DIR/macro-use-all-and-none.rs:4:9
    |
diff --git a/tests/ui/macros/macro-use-bad-args-1.rs b/tests/ui/macros/macro-use-bad-args-1.rs
index ec0b64a1095..bfc19981804 100644
--- a/tests/ui/macros/macro-use-bad-args-1.rs
+++ b/tests/ui/macros/macro-use-bad-args-1.rs
@@ -1,6 +1,6 @@
 #![no_std]
 
-#[macro_use(foo(bar))]  //~ ERROR bad macro import
+#[macro_use(foo(bar))]  //~ ERROR malformed `macro_use` attribute input
 extern crate std;
 
 fn main() {}
diff --git a/tests/ui/macros/macro-use-bad-args-1.stderr b/tests/ui/macros/macro-use-bad-args-1.stderr
index 6d2f159a574..2f43d0997df 100644
--- a/tests/ui/macros/macro-use-bad-args-1.stderr
+++ b/tests/ui/macros/macro-use-bad-args-1.stderr
@@ -1,9 +1,20 @@
-error[E0466]: bad macro import
-  --> $DIR/macro-use-bad-args-1.rs:3:13
+error[E0565]: malformed `macro_use` attribute input
+  --> $DIR/macro-use-bad-args-1.rs:3:1
    |
 LL | #[macro_use(foo(bar))]
-   |             ^^^^^^^^
+   | ^^^^^^^^^^^^^^^-----^^
+   |                |
+   |                didn't expect any arguments here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(foo(bar))]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(foo(bar))]
+LL + #[macro_use]
+   |
 
 error: aborting due to 1 previous error
 
-For more information about this error, try `rustc --explain E0466`.
+For more information about this error, try `rustc --explain E0565`.
diff --git a/tests/ui/macros/macro-use-bad-args-2.rs b/tests/ui/macros/macro-use-bad-args-2.rs
index c5f8f62c186..e328b6285d9 100644
--- a/tests/ui/macros/macro-use-bad-args-2.rs
+++ b/tests/ui/macros/macro-use-bad-args-2.rs
@@ -1,6 +1,6 @@
 #![no_std]
 
-#[macro_use(foo="bar")]  //~ ERROR bad macro import
+#[macro_use(foo="bar")]  //~ ERROR malformed `macro_use` attribute input
 extern crate std;
 
 fn main() {}
diff --git a/tests/ui/macros/macro-use-bad-args-2.stderr b/tests/ui/macros/macro-use-bad-args-2.stderr
index 364f3da6e15..d7b03c93588 100644
--- a/tests/ui/macros/macro-use-bad-args-2.stderr
+++ b/tests/ui/macros/macro-use-bad-args-2.stderr
@@ -1,9 +1,20 @@
-error[E0466]: bad macro import
-  --> $DIR/macro-use-bad-args-2.rs:3:13
+error[E0565]: malformed `macro_use` attribute input
+  --> $DIR/macro-use-bad-args-2.rs:3:1
    |
 LL | #[macro_use(foo="bar")]
-   |             ^^^^^^^^^
+   | ^^^^^^^^^^^^^^^------^^
+   |                |
+   |                didn't expect any arguments here
+   |
+help: try changing it to one of the following valid forms of the attribute
+   |
+LL - #[macro_use(foo="bar")]
+LL + #[macro_use(name1, name2, ...)]
+   |
+LL - #[macro_use(foo="bar")]
+LL + #[macro_use]
+   |
 
 error: aborting due to 1 previous error
 
-For more information about this error, try `rustc --explain E0466`.
+For more information about this error, try `rustc --explain E0565`.
diff --git a/tests/ui/macros/non-fmt-panic.stderr b/tests/ui/macros/non-fmt-panic.stderr
index 30b63cb46e2..83410d36586 100644
--- a/tests/ui/macros/non-fmt-panic.stderr
+++ b/tests/ui/macros/non-fmt-panic.stderr
@@ -74,7 +74,7 @@ LL |     assert!(false, S);
    |                    ^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     assert!(false, "{}", S);
@@ -87,7 +87,7 @@ LL |     assert!(false, 123);
    |                    ^^^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     assert!(false, "{}", 123);
@@ -100,7 +100,7 @@ LL |     assert!(false, Some(123));
    |                    ^^^^^^^^^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{:?}" format string to use the `Debug` implementation of `Option<i32>`
    |
 LL |     assert!(false, "{:?}", Some(123));
@@ -125,7 +125,7 @@ LL |     panic!(C);
    |            ^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!("{}", C);
@@ -138,7 +138,7 @@ LL |     panic!(S);
    |            ^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!("{}", S);
@@ -151,7 +151,7 @@ LL |     unreachable!(S);
    |                  ^
    |
    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     unreachable!("{}", S);
@@ -164,7 +164,7 @@ LL |     unreachable!(S);
    |                  ^
    |
    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     unreachable!("{}", S);
@@ -177,7 +177,7 @@ LL |     std::panic!(123);
    |                 ^^^
    |
    = note: this usage of `std::panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     std::panic!("{}", 123);
@@ -195,7 +195,7 @@ LL |     core::panic!(&*"abc");
    |                  ^^^^^^^
    |
    = note: this usage of `core::panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     core::panic!("{}", &*"abc");
@@ -208,7 +208,7 @@ LL |     panic!(Some(123));
    |            ^^^^^^^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{:?}" format string to use the `Debug` implementation of `Option<i32>`
    |
 LL |     panic!("{:?}", Some(123));
@@ -262,7 +262,7 @@ LL |     panic!(a!());
    |            ^^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!("{}", a!());
@@ -280,7 +280,7 @@ LL |     unreachable!(a!());
    |                  ^^^^
    |
    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     unreachable!("{}", a!());
@@ -293,7 +293,7 @@ LL |     panic!(format!("{}", 1));
    |            ^^^^^^^^^^^^^^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
 help: remove the `format!(..)` macro call
    |
@@ -308,7 +308,7 @@ LL |     unreachable!(format!("{}", 1));
    |                  ^^^^^^^^^^^^^^^^
    |
    = note: this usage of `unreachable!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
    = note: the `unreachable!()` macro supports formatting, so there's no need for the `format!()` macro here
 help: remove the `format!(..)` macro call
    |
@@ -323,7 +323,7 @@ LL |     assert!(false, format!("{}", 1));
    |                    ^^^^^^^^^^^^^^^^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
    = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
 help: remove the `format!(..)` macro call
    |
@@ -338,7 +338,7 @@ LL |     debug_assert!(false, format!("{}", 1));
    |                          ^^^^^^^^^^^^^^^^
    |
    = note: this usage of `debug_assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
    = note: the `debug_assert!()` macro supports formatting, so there's no need for the `format!()` macro here
 help: remove the `format!(..)` macro call
    |
@@ -353,7 +353,7 @@ LL |     panic![123];
    |            ^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!["{}", 123];
@@ -371,7 +371,7 @@ LL |     panic!{123};
    |            ^^^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!{"{}", 123};
@@ -391,7 +391,7 @@ LL |     panic!(v);
    |     help: use std::panic::panic_any instead: `std::panic::panic_any`
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:79:20
@@ -400,7 +400,7 @@ LL |     assert!(false, v);
    |                    ^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 
 warning: panic message is not a string literal
   --> $DIR/non-fmt-panic.rs:83:12
@@ -409,7 +409,7 @@ LL |     panic!(v);
    |            ^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{:?}" format string to use the `Debug` implementation of `T`
    |
 LL |     panic!("{:?}", v);
@@ -427,7 +427,7 @@ LL |     assert!(false, v);
    |                    ^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{:?}" format string to use the `Debug` implementation of `T`
    |
 LL |     assert!(false, "{:?}", v);
@@ -440,7 +440,7 @@ LL |     panic!(v);
    |            ^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!("{}", v);
@@ -458,7 +458,7 @@ LL |     assert!(false, v);
    |                    ^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     assert!(false, "{}", v);
@@ -471,7 +471,7 @@ LL |     panic!(v);
    |            ^
    |
    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     panic!("{}", v);
@@ -489,7 +489,7 @@ LL |     assert!(false, v);
    |                    ^
    |
    = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
 help: add a "{}" format string to `Display` the message
    |
 LL |     assert!(false, "{}", v);
diff --git a/tests/ui/match/issue-82392.stdout b/tests/ui/match/issue-82392.stdout
index a0d83d962e7..3efc964e053 100644
--- a/tests/ui/match/issue-82392.stdout
+++ b/tests/ui/match/issue-82392.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 // https://github.com/rust-lang/rust/issues/82329
 //@ compile-flags: -Zunpretty=hir,typed
diff --git a/tests/ui/mir/alignment/borrow_misaligned_field_projection.rs b/tests/ui/mir/alignment/borrow_misaligned_field_projection.rs
index a22965ce1d8..6ba895f172d 100644
--- a/tests/ui/mir/alignment/borrow_misaligned_field_projection.rs
+++ b/tests/ui/mir/alignment/borrow_misaligned_field_projection.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/alignment/misaligned_borrow.rs b/tests/ui/mir/alignment/misaligned_borrow.rs
index de8912c7038..60c21deaba5 100644
--- a/tests/ui/mir/alignment/misaligned_borrow.rs
+++ b/tests/ui/mir/alignment/misaligned_borrow.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/alignment/misaligned_lhs.rs b/tests/ui/mir/alignment/misaligned_lhs.rs
index b169823bc08..e8ddb10fd9c 100644
--- a/tests/ui/mir/alignment/misaligned_lhs.rs
+++ b/tests/ui/mir/alignment/misaligned_lhs.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/alignment/misaligned_mut_borrow.rs b/tests/ui/mir/alignment/misaligned_mut_borrow.rs
index bba20edecfd..c066cc0efcd 100644
--- a/tests/ui/mir/alignment/misaligned_mut_borrow.rs
+++ b/tests/ui/mir/alignment/misaligned_mut_borrow.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/alignment/misaligned_rhs.rs b/tests/ui/mir/alignment/misaligned_rhs.rs
index 55da30a2fd7..6bdc39c9d91 100644
--- a/tests/ui/mir/alignment/misaligned_rhs.rs
+++ b/tests/ui/mir/alignment/misaligned_rhs.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/alignment/two_pointers.rs b/tests/ui/mir/alignment/two_pointers.rs
index 198a1c9853d..fd8b2f543aa 100644
--- a/tests/ui/mir/alignment/two_pointers.rs
+++ b/tests/ui/mir/alignment/two_pointers.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ ignore-i686-pc-windows-msvc: #112480
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: misaligned pointer dereference: address must be a multiple of 0x4 but is
diff --git a/tests/ui/mir/enum/convert_non_integer_break.rs b/tests/ui/mir/enum/convert_non_integer_break.rs
index 29795190bf6..b0778e2024f 100644
--- a/tests/ui/mir/enum/convert_non_integer_break.rs
+++ b/tests/ui/mir/enum/convert_non_integer_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value
 
diff --git a/tests/ui/mir/enum/convert_non_integer_niche_break.rs b/tests/ui/mir/enum/convert_non_integer_niche_break.rs
index 9ff4849c5b1..d26a3aeb506 100644
--- a/tests/ui/mir/enum/convert_non_integer_niche_break.rs
+++ b/tests/ui/mir/enum/convert_non_integer_niche_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x5
 
diff --git a/tests/ui/mir/enum/negative_discr_break.rs b/tests/ui/mir/enum/negative_discr_break.rs
index fa1284f72a0..35ee8aa3fc8 100644
--- a/tests/ui/mir/enum/negative_discr_break.rs
+++ b/tests/ui/mir/enum/negative_discr_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0xfd
 
diff --git a/tests/ui/mir/enum/niche_option_tuple_break.rs b/tests/ui/mir/enum/niche_option_tuple_break.rs
index affdc4784a3..0a933afa153 100644
--- a/tests/ui/mir/enum/niche_option_tuple_break.rs
+++ b/tests/ui/mir/enum/niche_option_tuple_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value
 
diff --git a/tests/ui/mir/enum/numbered_variants_break.rs b/tests/ui/mir/enum/numbered_variants_break.rs
index e3e71dc8aec..fbe7d6627a3 100644
--- a/tests/ui/mir/enum/numbered_variants_break.rs
+++ b/tests/ui/mir/enum/numbered_variants_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x3
 
diff --git a/tests/ui/mir/enum/option_with_bigger_niche_break.rs b/tests/ui/mir/enum/option_with_bigger_niche_break.rs
index c66614b845b..675d27f0ec2 100644
--- a/tests/ui/mir/enum/option_with_bigger_niche_break.rs
+++ b/tests/ui/mir/enum/option_with_bigger_niche_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x0
 
diff --git a/tests/ui/mir/enum/plain_no_data_break.rs b/tests/ui/mir/enum/plain_no_data_break.rs
index db68e752479..966dd641873 100644
--- a/tests/ui/mir/enum/plain_no_data_break.rs
+++ b/tests/ui/mir/enum/plain_no_data_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x1
 
diff --git a/tests/ui/mir/enum/single_with_repr_break.rs b/tests/ui/mir/enum/single_with_repr_break.rs
index 5a4ec85a9b5..53e4932d5fd 100644
--- a/tests/ui/mir/enum/single_with_repr_break.rs
+++ b/tests/ui/mir/enum/single_with_repr_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x1
 
diff --git a/tests/ui/mir/enum/with_niche_int_break.rs b/tests/ui/mir/enum/with_niche_int_break.rs
index 6a97eaa8f4f..d363dc7568a 100644
--- a/tests/ui/mir/enum/with_niche_int_break.rs
+++ b/tests/ui/mir/enum/with_niche_int_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value
 
diff --git a/tests/ui/mir/enum/wrap_break.rs b/tests/ui/mir/enum/wrap_break.rs
index 4491394ca5a..5c410afa511 100644
--- a/tests/ui/mir/enum/wrap_break.rs
+++ b/tests/ui/mir/enum/wrap_break.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: trying to construct an enum from an invalid value 0x0
 #![feature(never_type)]
diff --git a/tests/ui/mir/meaningless-bound.rs b/tests/ui/mir/meaningless-bound.rs
new file mode 100644
index 00000000000..c9427e7ece5
--- /dev/null
+++ b/tests/ui/mir/meaningless-bound.rs
@@ -0,0 +1,20 @@
+//! Regression test for #140100 and #140365
+//@compile-flags: -C opt-level=1 -Zvalidate-mir
+
+fn a()
+where
+    b: Sized,
+    //~^ ERROR cannot find type `b` in this scope
+{
+    println!()
+}
+
+fn f() -> &'static str
+where
+    Self: Sized,
+    //~^ ERROR cannot find type `Self` in this scope
+{
+    ""
+}
+
+fn main() {}
diff --git a/tests/ui/mir/meaningless-bound.stderr b/tests/ui/mir/meaningless-bound.stderr
new file mode 100644
index 00000000000..dc08def83b6
--- /dev/null
+++ b/tests/ui/mir/meaningless-bound.stderr
@@ -0,0 +1,19 @@
+error[E0412]: cannot find type `b` in this scope
+  --> $DIR/meaningless-bound.rs:6:5
+   |
+LL |     b: Sized,
+   |     ^ not found in this scope
+
+error[E0411]: cannot find type `Self` in this scope
+  --> $DIR/meaningless-bound.rs:14:5
+   |
+LL | fn f() -> &'static str
+   |    - `Self` not allowed in a function
+LL | where
+LL |     Self: Sized,
+   |     ^^^^ `Self` is only available in impls, traits, and type definitions
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0411, E0412.
+For more information about an error, try `rustc --explain E0411`.
diff --git a/tests/ui/mir/null/borrowed_mut_null.rs b/tests/ui/mir/null/borrowed_mut_null.rs
index d26452b9dac..a4660f4bf57 100644
--- a/tests/ui/mir/null/borrowed_mut_null.rs
+++ b/tests/ui/mir/null/borrowed_mut_null.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/null/borrowed_null.rs b/tests/ui/mir/null/borrowed_null.rs
index fefac3a7212..2a50058a482 100644
--- a/tests/ui/mir/null/borrowed_null.rs
+++ b/tests/ui/mir/null/borrowed_null.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/null/borrowed_null_zst.rs b/tests/ui/mir/null/borrowed_null_zst.rs
index 835727c068b..106fa00b1db 100644
--- a/tests/ui/mir/null/borrowed_null_zst.rs
+++ b/tests/ui/mir/null/borrowed_null_zst.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/null/null_lhs.rs b/tests/ui/mir/null/null_lhs.rs
index 238d350d1bd..b59338588a5 100644
--- a/tests/ui/mir/null/null_lhs.rs
+++ b/tests/ui/mir/null/null_lhs.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/null/null_rhs.rs b/tests/ui/mir/null/null_rhs.rs
index 18eafb61869..18fdad759fd 100644
--- a/tests/ui/mir/null/null_rhs.rs
+++ b/tests/ui/mir/null/null_rhs.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/null/two_pointers.rs b/tests/ui/mir/null/two_pointers.rs
index 52b9510be12..b2aa7cf0384 100644
--- a/tests/ui/mir/null/two_pointers.rs
+++ b/tests/ui/mir/null/two_pointers.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -C debug-assertions
 //@ error-pattern: null pointer dereference occurred
 
diff --git a/tests/ui/mir/validate/critical-edge.rs b/tests/ui/mir/validate/critical-edge.rs
index 2a3bf6a6181..7fe3891d642 100644
--- a/tests/ui/mir/validate/critical-edge.rs
+++ b/tests/ui/mir/validate/critical-edge.rs
@@ -21,6 +21,8 @@ pub fn f(a: u32) -> u32 {
         }
         bb1 = {
             Call(RET = f(1), ReturnTo(bb2), UnwindTerminate(ReasonAbi))
+//~^ ERROR broken MIR in Item
+//~| ERROR encountered critical edge in `Call` terminator
         }
 
         bb2 = {
@@ -29,5 +31,3 @@ pub fn f(a: u32) -> u32 {
         }
     }
 }
-
-//~? RAW encountered critical edge in `Call` terminator
diff --git a/tests/ui/mir/validate/project-into-simd.rs b/tests/ui/mir/validate/project-into-simd.rs
new file mode 100644
index 00000000000..67766c8c4b0
--- /dev/null
+++ b/tests/ui/mir/validate/project-into-simd.rs
@@ -0,0 +1,18 @@
+// Optimized MIR shouldn't have critical call edges
+//
+//@ build-fail
+//@ edition: 2021
+//@ compile-flags: --crate-type=lib
+//@ failure-status: 101
+//@ dont-check-compiler-stderr
+
+#![feature(repr_simd)]
+
+#[repr(simd)]
+pub struct U32x4([u32; 4]);
+
+pub fn f(a: U32x4) -> [u32; 4] {
+    a.0
+    //~^ ERROR broken MIR in Item
+    //~| ERROR Projecting into SIMD type U32x4 is banned by MCP#838
+}
diff --git a/tests/ui/never_type/defaulted-never-note.nofallback.stderr b/tests/ui/never_type/defaulted-never-note.nofallback.stderr
index 6de323ad12c..b7df6fb7a67 100644
--- a/tests/ui/never_type/defaulted-never-note.nofallback.stderr
+++ b/tests/ui/never_type/defaulted-never-note.nofallback.stderr
@@ -5,7 +5,7 @@ LL | fn smeg() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: ImplementedForUnitButNotNever` will fail
   --> $DIR/defaulted-never-note.rs:32:9
@@ -28,7 +28,7 @@ LL | fn smeg() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: ImplementedForUnitButNotNever` will fail
   --> $DIR/defaulted-never-note.rs:32:9
diff --git a/tests/ui/never_type/dependency-on-fallback-to-unit.stderr b/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
index be8075662e0..6ee57d531fb 100644
--- a/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
+++ b/tests/ui/never_type/dependency-on-fallback-to-unit.stderr
@@ -5,7 +5,7 @@ LL | fn def() {
    | ^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dependency-on-fallback-to-unit.rs:12:19
@@ -26,7 +26,7 @@ LL | fn question_mark() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dependency-on-fallback-to-unit.rs:22:5
@@ -48,7 +48,7 @@ LL | fn def() {
    | ^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dependency-on-fallback-to-unit.rs:12:19
@@ -70,7 +70,7 @@ LL | fn question_mark() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dependency-on-fallback-to-unit.rs:22:5
diff --git a/tests/ui/never_type/diverging-fallback-control-flow.nofallback.stderr b/tests/ui/never_type/diverging-fallback-control-flow.nofallback.stderr
index 44ebdb43510..64a8ecdf546 100644
--- a/tests/ui/never_type/diverging-fallback-control-flow.nofallback.stderr
+++ b/tests/ui/never_type/diverging-fallback-control-flow.nofallback.stderr
@@ -5,7 +5,7 @@ LL | fn assignment() {
    | ^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitDefault` will fail
   --> $DIR/diverging-fallback-control-flow.rs:36:13
@@ -25,7 +25,7 @@ LL | fn assignment_rev() {
    | ^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitDefault` will fail
   --> $DIR/diverging-fallback-control-flow.rs:50:13
@@ -47,7 +47,7 @@ LL | fn assignment() {
    | ^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitDefault` will fail
   --> $DIR/diverging-fallback-control-flow.rs:36:13
@@ -68,7 +68,7 @@ LL | fn assignment_rev() {
    | ^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitDefault` will fail
   --> $DIR/diverging-fallback-control-flow.rs:50:13
diff --git a/tests/ui/never_type/diverging-fallback-no-leak.nofallback.stderr b/tests/ui/never_type/diverging-fallback-no-leak.nofallback.stderr
index 4a8dea42a4d..ec48c38b6d7 100644
--- a/tests/ui/never_type/diverging-fallback-no-leak.nofallback.stderr
+++ b/tests/ui/never_type/diverging-fallback-no-leak.nofallback.stderr
@@ -5,7 +5,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Test` will fail
   --> $DIR/diverging-fallback-no-leak.rs:20:23
@@ -28,7 +28,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Test` will fail
   --> $DIR/diverging-fallback-no-leak.rs:20:23
diff --git a/tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr b/tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr
index 803af39fd86..48debdd61c8 100644
--- a/tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr
+++ b/tests/ui/never_type/diverging-fallback-unconstrained-return.nofallback.stderr
@@ -5,7 +5,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitReturn` will fail
   --> $DIR/diverging-fallback-unconstrained-return.rs:39:23
@@ -28,7 +28,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: UnitReturn` will fail
   --> $DIR/diverging-fallback-unconstrained-return.rs:39:23
diff --git a/tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr b/tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr
index 365e8869897..d2d108edb4d 100644
--- a/tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr
+++ b/tests/ui/never_type/dont-suggest-turbofish-from-expansion.stderr
@@ -5,7 +5,7 @@ LL | fn main() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dont-suggest-turbofish-from-expansion.rs:14:23
@@ -32,7 +32,7 @@ LL | fn main() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/dont-suggest-turbofish-from-expansion.rs:14:23
diff --git a/tests/ui/never_type/fallback-closure-ret.nofallback.stderr b/tests/ui/never_type/fallback-closure-ret.nofallback.stderr
index cf19363a7d8..5651a265888 100644
--- a/tests/ui/never_type/fallback-closure-ret.nofallback.stderr
+++ b/tests/ui/never_type/fallback-closure-ret.nofallback.stderr
@@ -5,7 +5,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Bar` will fail
   --> $DIR/fallback-closure-ret.rs:24:5
@@ -28,7 +28,7 @@ LL | fn main() {
    | ^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Bar` will fail
   --> $DIR/fallback-closure-ret.rs:24:5
diff --git a/tests/ui/never_type/impl_trait_fallback.stderr b/tests/ui/never_type/impl_trait_fallback.stderr
index 7250db127cd..36d2eae1df2 100644
--- a/tests/ui/never_type/impl_trait_fallback.stderr
+++ b/tests/ui/never_type/impl_trait_fallback.stderr
@@ -5,7 +5,7 @@ LL | fn should_ret_unit() -> impl T {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: T` will fail
   --> $DIR/impl_trait_fallback.rs:8:25
@@ -24,7 +24,7 @@ LL | fn should_ret_unit() -> impl T {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: T` will fail
   --> $DIR/impl_trait_fallback.rs:8:25
diff --git a/tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr b/tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr
index 945db40782e..6a85b9923d3 100644
--- a/tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr
+++ b/tests/ui/never_type/lint-breaking-2024-assign-underscore.stderr
@@ -5,7 +5,7 @@ LL | fn test() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/lint-breaking-2024-assign-underscore.rs:13:9
@@ -32,7 +32,7 @@ LL | fn test() -> Result<(), ()> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the types explicitly
 note: in edition 2024, the requirement `!: Default` will fail
   --> $DIR/lint-breaking-2024-assign-underscore.rs:13:9
diff --git a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr b/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr
index c90efd27784..48734f3b3f8 100644
--- a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr
+++ b/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2015.stderr
@@ -5,7 +5,7 @@ LL |         unsafe { mem::zeroed() }
    |                  ^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -20,7 +20,7 @@ LL |             core::mem::transmute(Zst)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -34,7 +34,7 @@ LL |         unsafe { Union { a: () }.b }
    |                  ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 
 warning: never type fallback affects this raw pointer dereference
@@ -44,7 +44,7 @@ LL |         unsafe { *ptr::from_ref(&()).cast() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -58,7 +58,7 @@ LL |         unsafe { internally_create(x) }
    |                  ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -72,7 +72,7 @@ LL |         unsafe { zeroed() }
    |                  ^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -86,7 +86,7 @@ LL |         let zeroed = mem::zeroed;
    |                      ^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -100,7 +100,7 @@ LL |         let f = internally_create;
    |                 ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -114,7 +114,7 @@ LL |             S(marker::PhantomData).create_out_of_thin_air()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 
 warning: never type fallback affects this call to an `unsafe` function
@@ -127,7 +127,7 @@ LL |         msg_send!();
    |         ----------- in this macro invocation
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: this warning originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
 
@@ -141,7 +141,7 @@ LL |         unsafe { mem::zeroed() }
    |                  ^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -157,7 +157,7 @@ LL |             core::mem::transmute(Zst)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -173,7 +173,7 @@ LL |         unsafe { Union { a: () }.b }
    |                  ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 
@@ -185,7 +185,7 @@ LL |         unsafe { *ptr::from_ref(&()).cast() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -201,7 +201,7 @@ LL |         unsafe { internally_create(x) }
    |                  ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -217,7 +217,7 @@ LL |         unsafe { zeroed() }
    |                  ^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -233,7 +233,7 @@ LL |         let zeroed = mem::zeroed;
    |                      ^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -249,7 +249,7 @@ LL |         let f = internally_create;
    |                 ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -265,7 +265,7 @@ LL |             S(marker::PhantomData).create_out_of_thin_air()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
 
@@ -280,7 +280,7 @@ LL |         msg_send!();
    |         ----------- in this macro invocation
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[warn(never_type_fallback_flowing_into_unsafe)]` on by default
    = note: this warning originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr b/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr
index 858d7381eed..8039ef427c1 100644
--- a/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr
+++ b/tests/ui/never_type/lint-never-type-fallback-flowing-into-unsafe.e2024.stderr
@@ -5,7 +5,7 @@ LL |         unsafe { mem::zeroed() }
    |                  ^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -20,7 +20,7 @@ LL |             core::mem::transmute(Zst)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -34,7 +34,7 @@ LL |         unsafe { Union { a: () }.b }
    |                  ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 
 error: never type fallback affects this raw pointer dereference
@@ -44,7 +44,7 @@ LL |         unsafe { *ptr::from_ref(&()).cast() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -58,7 +58,7 @@ LL |         unsafe { internally_create(x) }
    |                  ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -72,7 +72,7 @@ LL |         unsafe { zeroed() }
    |                  ^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -86,7 +86,7 @@ LL |         let zeroed = mem::zeroed;
    |                      ^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -100,7 +100,7 @@ LL |         let f = internally_create;
    |                 ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 help: use `()` annotations to avoid fallback changes
    |
@@ -114,7 +114,7 @@ LL |             S(marker::PhantomData).create_out_of_thin_air()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
 
 error: never type fallback affects this call to an `unsafe` function
@@ -127,7 +127,7 @@ LL |         msg_send!();
    |         ----------- in this macro invocation
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
 
@@ -150,7 +150,7 @@ LL |         unsafe { mem::zeroed() }
    |                  ^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -166,7 +166,7 @@ LL |             core::mem::transmute(Zst)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -182,7 +182,7 @@ LL |         unsafe { Union { a: () }.b }
    |                  ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 
@@ -194,7 +194,7 @@ LL |         unsafe { *ptr::from_ref(&()).cast() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -210,7 +210,7 @@ LL |         unsafe { internally_create(x) }
    |                  ^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -226,7 +226,7 @@ LL |         unsafe { zeroed() }
    |                  ^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -242,7 +242,7 @@ LL |         let zeroed = mem::zeroed;
    |                      ^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -258,7 +258,7 @@ LL |         let f = internally_create;
    |                 ^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 help: use `()` annotations to avoid fallback changes
@@ -274,7 +274,7 @@ LL |             S(marker::PhantomData).create_out_of_thin_air()
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
 
@@ -289,7 +289,7 @@ LL |         msg_send!();
    |         ----------- in this macro invocation
    |
    = warning: this changes meaning in Rust 2024 and in a future release in all editions!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/never-type-fallback.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
    = help: specify the type explicitly
    = note: `#[deny(never_type_fallback_flowing_into_unsafe)]` on by default
    = note: this error originates in the macro `msg_send` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr b/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
index 8268f5df236..331c6510ce7 100644
--- a/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
+++ b/tests/ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.stderr
@@ -4,7 +4,7 @@ warning: creating a mutable reference to mutable static
 LL |         S1 { a: unsafe { &mut X1 } }
    |                          ^^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw mut` instead to create a raw pointer
diff --git a/tests/ui/panics/panic-in-cleanup.rs b/tests/ui/panics/panic-in-cleanup.rs
index 8cddeb37348..2e307de4393 100644
--- a/tests/ui/panics/panic-in-cleanup.rs
+++ b/tests/ui/panics/panic-in-cleanup.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ exec-env:RUST_BACKTRACE=0
 //@ check-run-results
 //@ error-pattern: panic in a destructor during cleanup
diff --git a/tests/ui/panics/panic-in-ffi.rs b/tests/ui/panics/panic-in-ffi.rs
index 6068e4fdc59..b926d0fa776 100644
--- a/tests/ui/panics/panic-in-ffi.rs
+++ b/tests/ui/panics/panic-in-ffi.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ exec-env:RUST_BACKTRACE=0
 //@ check-run-results
 //@ error-pattern: panic in a function that cannot unwind
diff --git a/tests/ui/panics/panic-in-message-fmt.rs b/tests/ui/panics/panic-in-message-fmt.rs
index 1e9bbaf45c5..4d539f17a0a 100644
--- a/tests/ui/panics/panic-in-message-fmt.rs
+++ b/tests/ui/panics/panic-in-message-fmt.rs
@@ -1,6 +1,6 @@
 // Checks what happens when formatting the panic message panics.
 
-//@ run-fail
+//@ run-crash
 //@ exec-env:RUST_BACKTRACE=0
 //@ check-run-results
 //@ error-pattern: panicked while processing panic
diff --git a/tests/ui/panics/panic-main.rs b/tests/ui/panics/panic-main.rs
index 2395f68241f..2009f69e19e 100644
--- a/tests/ui/panics/panic-main.rs
+++ b/tests/ui/panics/panic-main.rs
@@ -1,30 +1,37 @@
 //@ revisions: default abort-zero abort-one abort-full unwind-zero unwind-one unwind-full
 
+//@[default] run-fail
+
 //@[abort-zero] compile-flags: -Cpanic=abort
 //@[abort-zero] no-prefer-dynamic
 //@[abort-zero] exec-env:RUST_BACKTRACE=0
+//@[abort-zero] run-crash
 
 //@[abort-one] compile-flags: -Cpanic=abort
 //@[abort-one] no-prefer-dynamic
 //@[abort-one] exec-env:RUST_BACKTRACE=1
+//@[abort-one] run-crash
 
 //@[abort-full] compile-flags: -Cpanic=abort
 //@[abort-full] no-prefer-dynamic
 //@[abort-full] exec-env:RUST_BACKTRACE=full
+//@[abort-full] run-crash
 
 //@[unwind-zero] compile-flags: -Cpanic=unwind
 //@[unwind-zero] exec-env:RUST_BACKTRACE=0
 //@[unwind-zero] needs-unwind
+//@[unwind-zero] run-fail
 
 //@[unwind-one] compile-flags: -Cpanic=unwind
 //@[unwind-one] exec-env:RUST_BACKTRACE=1
 //@[unwind-one] needs-unwind
+//@[unwind-one] run-fail
 
 //@[unwind-full] compile-flags: -Cpanic=unwind
 //@[unwind-full] exec-env:RUST_BACKTRACE=full
 //@[unwind-full] needs-unwind
+//@[unwind-full] run-fail
 
-//@ run-fail
 //@ error-pattern:moop
 //@ needs-subprocess
 
diff --git a/tests/ui/parser/recover/recover-pat-ranges.stderr b/tests/ui/parser/recover/recover-pat-ranges.stderr
index 6c17182618b..246c704d53f 100644
--- a/tests/ui/parser/recover/recover-pat-ranges.stderr
+++ b/tests/ui/parser/recover/recover-pat-ranges.stderr
@@ -191,7 +191,7 @@ LL |         (1 + 4)...1 * 2 => (),
    |                ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
 
 error: aborting due to 13 previous errors; 1 warning emitted
diff --git a/tests/ui/parser/recover/recover-range-pats.stderr b/tests/ui/parser/recover/recover-range-pats.stderr
index a2f3ba4dd94..1570475a098 100644
--- a/tests/ui/parser/recover/recover-range-pats.stderr
+++ b/tests/ui/parser/recover/recover-range-pats.stderr
@@ -339,7 +339,7 @@ LL |     if let 0...3 = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/recover-range-pats.rs:6:9
    |
@@ -353,7 +353,7 @@ LL |     if let 0...Y = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:46:13
@@ -362,7 +362,7 @@ LL |     if let X...3 = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:49:13
@@ -371,7 +371,7 @@ LL |     if let X...Y = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:52:16
@@ -380,7 +380,7 @@ LL |     if let true...Y = 0 {}
    |                ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:55:13
@@ -389,7 +389,7 @@ LL |     if let X...true = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:58:14
@@ -398,7 +398,7 @@ LL |     if let .0...Y = 0 {}
    |              ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:62:13
@@ -407,7 +407,7 @@ LL |     if let X... .0 = 0 {}
    |             ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 
 error: `...` range patterns are deprecated
   --> $DIR/recover-range-pats.rs:137:20
@@ -419,7 +419,7 @@ LL |     mac2!(0, 1);
    |     ----------- in this macro invocation
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: this error originates in the macro `mac2` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0029]: only `char` and numeric types are allowed in range patterns
diff --git a/tests/ui/parser/trait-object-trait-parens.stderr b/tests/ui/parser/trait-object-trait-parens.stderr
index 26d388f8779..b2067547568 100644
--- a/tests/ui/parser/trait-object-trait-parens.stderr
+++ b/tests/ui/parser/trait-object-trait-parens.stderr
@@ -23,7 +23,7 @@ LL |     let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -48,7 +48,7 @@ LL |     let _: Box<?Sized + (for<'a> Trait<'a>) + (Obj)>;
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let _: Box<dyn ?Sized + (for<'a> Trait<'a>) + (Obj)>;
@@ -72,7 +72,7 @@ LL |     let _: Box<for<'a> Trait<'a> + (Obj) + (?Sized)>;
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let _: Box<dyn for<'a> Trait<'a> + (Obj) + (?Sized)>;
diff --git a/tests/ui/precondition-checks/alignment.rs b/tests/ui/precondition-checks/alignment.rs
index 92400528fa0..038a625bed7 100644
--- a/tests/ui/precondition-checks/alignment.rs
+++ b/tests/ui/precondition-checks/alignment.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: Alignment::new_unchecked requires
 
diff --git a/tests/ui/precondition-checks/ascii-char-digit_unchecked.rs b/tests/ui/precondition-checks/ascii-char-digit_unchecked.rs
index 30c6f79fb08..41ba2c5254a 100644
--- a/tests/ui/precondition-checks/ascii-char-digit_unchecked.rs
+++ b/tests/ui/precondition-checks/ascii-char-digit_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: `ascii::Char::digit_unchecked` input cannot exceed 9
 
diff --git a/tests/ui/precondition-checks/assert_unchecked.rs b/tests/ui/precondition-checks/assert_unchecked.rs
index 22b2b414550..da5383cdea0 100644
--- a/tests/ui/precondition-checks/assert_unchecked.rs
+++ b/tests/ui/precondition-checks/assert_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: hint::assert_unchecked must never be called when the condition is false
 
diff --git a/tests/ui/precondition-checks/char-from_u32_unchecked.rs b/tests/ui/precondition-checks/char-from_u32_unchecked.rs
index d950f20c772..7c34d926d3e 100644
--- a/tests/ui/precondition-checks/char-from_u32_unchecked.rs
+++ b/tests/ui/precondition-checks/char-from_u32_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: invalid value for `char`
 
diff --git a/tests/ui/precondition-checks/copy-nonoverlapping.rs b/tests/ui/precondition-checks/copy-nonoverlapping.rs
index eacaa63e543..1d584ddef4c 100644
--- a/tests/ui/precondition-checks/copy-nonoverlapping.rs
+++ b/tests/ui/precondition-checks/copy-nonoverlapping.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::copy_nonoverlapping requires
 //@ revisions: null_src null_dst misaligned_src misaligned_dst overlapping
diff --git a/tests/ui/precondition-checks/copy.rs b/tests/ui/precondition-checks/copy.rs
index 1fadd90bf70..8faa56a880e 100644
--- a/tests/ui/precondition-checks/copy.rs
+++ b/tests/ui/precondition-checks/copy.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::copy requires
 //@ revisions: null_src null_dst misaligned_src misaligned_dst
diff --git a/tests/ui/precondition-checks/layout.rs b/tests/ui/precondition-checks/layout.rs
index 4ee66cc9328..6755ebce854 100644
--- a/tests/ui/precondition-checks/layout.rs
+++ b/tests/ui/precondition-checks/layout.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: Layout::from_size_align_unchecked requires
 //@ revisions: toolarge badalign
diff --git a/tests/ui/precondition-checks/nonnull.rs b/tests/ui/precondition-checks/nonnull.rs
index 6b8edd4e582..75bbd65b486 100644
--- a/tests/ui/precondition-checks/nonnull.rs
+++ b/tests/ui/precondition-checks/nonnull.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: NonNull::new_unchecked requires
 
diff --git a/tests/ui/precondition-checks/nonzero-from_mut_unchecked.rs b/tests/ui/precondition-checks/nonzero-from_mut_unchecked.rs
index 46ce7dc356f..d55707fdd0b 100644
--- a/tests/ui/precondition-checks/nonzero-from_mut_unchecked.rs
+++ b/tests/ui/precondition-checks/nonzero-from_mut_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: NonZero::from_mut_unchecked requires
 
diff --git a/tests/ui/precondition-checks/nonzero-new_unchecked.rs b/tests/ui/precondition-checks/nonzero-new_unchecked.rs
index 7827a42844f..978f01f150f 100644
--- a/tests/ui/precondition-checks/nonzero-new_unchecked.rs
+++ b/tests/ui/precondition-checks/nonzero-new_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: NonZero::new_unchecked requires
 
diff --git a/tests/ui/precondition-checks/read_volatile.rs b/tests/ui/precondition-checks/read_volatile.rs
index ada8932c398..33350dfbc4f 100644
--- a/tests/ui/precondition-checks/read_volatile.rs
+++ b/tests/ui/precondition-checks/read_volatile.rs
@@ -1,9 +1,7 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::read_volatile requires
-//@ revisions: null misaligned
-
-#![allow(invalid_null_arguments)]
+//@ revisions: misaligned
 
 use std::ptr;
 
@@ -11,8 +9,6 @@ fn main() {
     let src = [0u16; 2];
     let src = src.as_ptr();
     unsafe {
-        #[cfg(null)]
-        ptr::read_volatile(ptr::null::<u8>());
         #[cfg(misaligned)]
         ptr::read_volatile(src.byte_add(1));
     }
diff --git a/tests/ui/precondition-checks/replace.rs b/tests/ui/precondition-checks/replace.rs
index 44afbd8174c..447a00c6572 100644
--- a/tests/ui/precondition-checks/replace.rs
+++ b/tests/ui/precondition-checks/replace.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::replace requires
 //@ revisions: null misaligned
diff --git a/tests/ui/precondition-checks/slice-from-raw-parts-mut.rs b/tests/ui/precondition-checks/slice-from-raw-parts-mut.rs
index 9b9ded69a83..b6397ab2a12 100644
--- a/tests/ui/precondition-checks/slice-from-raw-parts-mut.rs
+++ b/tests/ui/precondition-checks/slice-from-raw-parts-mut.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: slice::from_raw_parts_mut requires
 //@ revisions: null misaligned toolarge
diff --git a/tests/ui/precondition-checks/slice-from-raw-parts.rs b/tests/ui/precondition-checks/slice-from-raw-parts.rs
index 96578c1eae5..a317e3d41a0 100644
--- a/tests/ui/precondition-checks/slice-from-raw-parts.rs
+++ b/tests/ui/precondition-checks/slice-from-raw-parts.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: slice::from_raw_parts requires
 //@ revisions: null misaligned toolarge
diff --git a/tests/ui/precondition-checks/slice-get_unchecked.rs b/tests/ui/precondition-checks/slice-get_unchecked.rs
index 1d8188fb953..7bcb8442540 100644
--- a/tests/ui/precondition-checks/slice-get_unchecked.rs
+++ b/tests/ui/precondition-checks/slice-get_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: slice::get_unchecked requires
 //@ revisions: usize range range_to range_from backwards_range
diff --git a/tests/ui/precondition-checks/slice-get_unchecked_mut.rs b/tests/ui/precondition-checks/slice-get_unchecked_mut.rs
index 34c1454af43..2ba3227f39e 100644
--- a/tests/ui/precondition-checks/slice-get_unchecked_mut.rs
+++ b/tests/ui/precondition-checks/slice-get_unchecked_mut.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: slice::get_unchecked_mut requires
 //@ revisions: usize range range_to range_from backwards_range
diff --git a/tests/ui/precondition-checks/str-get_unchecked.rs b/tests/ui/precondition-checks/str-get_unchecked.rs
index 14d17f997ec..2273190e9f4 100644
--- a/tests/ui/precondition-checks/str-get_unchecked.rs
+++ b/tests/ui/precondition-checks/str-get_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: str::get_unchecked requires
 //@ revisions: range range_to range_from backwards_range
diff --git a/tests/ui/precondition-checks/str-get_unchecked_mut.rs b/tests/ui/precondition-checks/str-get_unchecked_mut.rs
index ca1b1690055..53e6ee64d47 100644
--- a/tests/ui/precondition-checks/str-get_unchecked_mut.rs
+++ b/tests/ui/precondition-checks/str-get_unchecked_mut.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: str::get_unchecked_mut requires
 //@ revisions: range range_to range_from backwards_range
diff --git a/tests/ui/precondition-checks/swap-nonoverlapping.rs b/tests/ui/precondition-checks/swap-nonoverlapping.rs
index ea1f6f36ad7..81ba72382c0 100644
--- a/tests/ui/precondition-checks/swap-nonoverlapping.rs
+++ b/tests/ui/precondition-checks/swap-nonoverlapping.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::swap_nonoverlapping requires
 //@ revisions: null_src null_dst misaligned_src misaligned_dst overlapping
diff --git a/tests/ui/precondition-checks/unchecked_add.rs b/tests/ui/precondition-checks/unchecked_add.rs
index f44a6ea32ad..b7727aeb968 100644
--- a/tests/ui/precondition-checks/unchecked_add.rs
+++ b/tests/ui/precondition-checks/unchecked_add.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: u8::unchecked_add cannot overflow
 
diff --git a/tests/ui/precondition-checks/unchecked_mul.rs b/tests/ui/precondition-checks/unchecked_mul.rs
index 66655dda136..3eea8b66abb 100644
--- a/tests/ui/precondition-checks/unchecked_mul.rs
+++ b/tests/ui/precondition-checks/unchecked_mul.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: u8::unchecked_add cannot overflow
 
diff --git a/tests/ui/precondition-checks/unchecked_shl.rs b/tests/ui/precondition-checks/unchecked_shl.rs
index 1c96db0b1ec..57c617e0845 100644
--- a/tests/ui/precondition-checks/unchecked_shl.rs
+++ b/tests/ui/precondition-checks/unchecked_shl.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: u8::unchecked_shl cannot overflow
 
diff --git a/tests/ui/precondition-checks/unchecked_shr.rs b/tests/ui/precondition-checks/unchecked_shr.rs
index 4a6d9ffb1d3..18502d2b645 100644
--- a/tests/ui/precondition-checks/unchecked_shr.rs
+++ b/tests/ui/precondition-checks/unchecked_shr.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: u8::unchecked_shr cannot overflow
 
diff --git a/tests/ui/precondition-checks/unchecked_sub.rs b/tests/ui/precondition-checks/unchecked_sub.rs
index 545dde0e278..bfe8f5849f5 100644
--- a/tests/ui/precondition-checks/unchecked_sub.rs
+++ b/tests/ui/precondition-checks/unchecked_sub.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: u8::unchecked_sub cannot overflow
 
diff --git a/tests/ui/precondition-checks/unreachable_unchecked.rs b/tests/ui/precondition-checks/unreachable_unchecked.rs
index 2435450c4b5..f2855d03a3e 100644
--- a/tests/ui/precondition-checks/unreachable_unchecked.rs
+++ b/tests/ui/precondition-checks/unreachable_unchecked.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: hint::unreachable_unchecked must never be reached
 
diff --git a/tests/ui/precondition-checks/vec-from-parts.rs b/tests/ui/precondition-checks/vec-from-parts.rs
index 0bafb5aa715..ace90770360 100644
--- a/tests/ui/precondition-checks/vec-from-parts.rs
+++ b/tests/ui/precondition-checks/vec-from-parts.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Cdebug-assertions=yes
 //@ error-pattern: unsafe precondition(s) violated: Vec::from_parts_in requires that length <= capacity
 #![feature(allocator_api)]
diff --git a/tests/ui/precondition-checks/vec-from-raw-parts.rs b/tests/ui/precondition-checks/vec-from-raw-parts.rs
index 884d34c0a56..1bc8e6ada10 100644
--- a/tests/ui/precondition-checks/vec-from-raw-parts.rs
+++ b/tests/ui/precondition-checks/vec-from-raw-parts.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Cdebug-assertions=yes
 //@ error-pattern: unsafe precondition(s) violated: Vec::from_raw_parts_in requires that length <= capacity
 //@ revisions: vec_from_raw_parts vec_from_raw_parts_in string_from_raw_parts
diff --git a/tests/ui/precondition-checks/vec-set-len.rs b/tests/ui/precondition-checks/vec-set-len.rs
index 0987e7fe028..c6bdee7dc67 100644
--- a/tests/ui/precondition-checks/vec-set-len.rs
+++ b/tests/ui/precondition-checks/vec-set-len.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Cdebug-assertions=yes
 //@ error-pattern: unsafe precondition(s) violated: Vec::set_len requires that new_len <= capacity()
 
diff --git a/tests/ui/precondition-checks/write_volatile.rs b/tests/ui/precondition-checks/write_volatile.rs
index 0d5ecb014b3..d6ad6320e41 100644
--- a/tests/ui/precondition-checks/write_volatile.rs
+++ b/tests/ui/precondition-checks/write_volatile.rs
@@ -1,9 +1,7 @@
-//@ run-fail
+//@ run-crash
 //@ compile-flags: -Copt-level=3 -Cdebug-assertions=no -Zub-checks=yes
 //@ error-pattern: unsafe precondition(s) violated: ptr::write_volatile requires
-//@ revisions: null misaligned
-
-#![allow(invalid_null_arguments)]
+//@ revisions: misaligned
 
 use std::ptr;
 
@@ -11,8 +9,6 @@ fn main() {
     let mut dst = [0u16; 2];
     let mut dst = dst.as_mut_ptr();
     unsafe {
-        #[cfg(null)]
-        ptr::write_volatile(ptr::null_mut::<u8>(), 1u8);
         #[cfg(misaligned)]
         ptr::write_volatile(dst.byte_add(1), 1u16);
     }
diff --git a/tests/ui/print-request/supported-crate-types.rs b/tests/ui/print-request/supported-crate-types.rs
index c8b4c0c1a41..50185a231ee 100644
--- a/tests/ui/print-request/supported-crate-types.rs
+++ b/tests/ui/print-request/supported-crate-types.rs
@@ -8,6 +8,11 @@
 
 //@ check-pass
 
+// FIXME: musl targets are currently statically linked, but running on a musl host
+// requires dynamic linkage, which in turn changes the supported crate types for
+// x86_64-unknown-linux-musl.
+//@ ignore-musl
+
 //@ revisions: wasm musl linux
 
 //@[wasm] compile-flags: --target=wasm32-unknown-unknown --print=supported-crate-types -Zunstable-options
diff --git a/tests/ui/privacy/associated-item-privacy-trait.stderr b/tests/ui/privacy/associated-item-privacy-trait.stderr
index f79c4cff72f..4e9dfa4a835 100644
--- a/tests/ui/privacy/associated-item-privacy-trait.stderr
+++ b/tests/ui/privacy/associated-item-privacy-trait.stderr
@@ -75,6 +75,17 @@ LL |     priv_trait::mac!();
    |
    = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
 
+error: trait `PrivTr` is private
+  --> $DIR/associated-item-privacy-trait.rs:29:14
+   |
+LL |         impl PrivTr for u8 {}
+   |              ^^^^^^ private trait
+...
+LL |     priv_trait::mac!();
+   |     ------------------ in this macro invocation
+   |
+   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
+
 error: type `priv_signature::Priv` is private
   --> $DIR/associated-item-privacy-trait.rs:46:21
    |
@@ -317,16 +328,5 @@ LL |     priv_parent_substs::mac!();
    |
    = note: this error originates in the macro `priv_parent_substs::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error: trait `PrivTr` is private
-  --> $DIR/associated-item-privacy-trait.rs:29:14
-   |
-LL |         impl PrivTr for u8 {}
-   |              ^^^^^^ private trait
-...
-LL |     priv_trait::mac!();
-   |     ------------------ in this macro invocation
-   |
-   = note: this error originates in the macro `priv_trait::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
-
 error: aborting due to 30 previous errors
 
diff --git a/tests/ui/privacy/private-in-public-warn.stderr b/tests/ui/privacy/private-in-public-warn.stderr
index c2a57e3b82c..86f6be85a07 100644
--- a/tests/ui/privacy/private-in-public-warn.stderr
+++ b/tests/ui/privacy/private-in-public-warn.stderr
@@ -84,42 +84,6 @@ note: but type `types::Priv` is only usable at visibility `pub(self)`
 LL |     struct Priv;
    |     ^^^^^^^^^^^
 
-error: type `types::Priv` is more private than the item `types::ES`
-  --> $DIR/private-in-public-warn.rs:27:9
-   |
-LL |         pub static ES: Priv;
-   |         ^^^^^^^^^^^^^^^^^^^ static `types::ES` is reachable at visibility `pub(crate)`
-   |
-note: but type `types::Priv` is only usable at visibility `pub(self)`
-  --> $DIR/private-in-public-warn.rs:9:5
-   |
-LL |     struct Priv;
-   |     ^^^^^^^^^^^
-
-error: type `types::Priv` is more private than the item `types::ef1`
-  --> $DIR/private-in-public-warn.rs:28:9
-   |
-LL |         pub fn ef1(arg: Priv);
-   |         ^^^^^^^^^^^^^^^^^^^^^^ function `types::ef1` is reachable at visibility `pub(crate)`
-   |
-note: but type `types::Priv` is only usable at visibility `pub(self)`
-  --> $DIR/private-in-public-warn.rs:9:5
-   |
-LL |     struct Priv;
-   |     ^^^^^^^^^^^
-
-error: type `types::Priv` is more private than the item `types::ef2`
-  --> $DIR/private-in-public-warn.rs:29:9
-   |
-LL |         pub fn ef2() -> Priv;
-   |         ^^^^^^^^^^^^^^^^^^^^^ function `types::ef2` is reachable at visibility `pub(crate)`
-   |
-note: but type `types::Priv` is only usable at visibility `pub(self)`
-  --> $DIR/private-in-public-warn.rs:9:5
-   |
-LL |     struct Priv;
-   |     ^^^^^^^^^^^
-
 error[E0446]: private type `types::Priv` in public interface
   --> $DIR/private-in-public-warn.rs:32:9
    |
@@ -395,6 +359,42 @@ note: but type `Priv2` is only usable at visibility `pub(self)`
 LL |     struct Priv2;
    |     ^^^^^^^^^^^^
 
+error: type `types::Priv` is more private than the item `types::ES`
+  --> $DIR/private-in-public-warn.rs:27:9
+   |
+LL |         pub static ES: Priv;
+   |         ^^^^^^^^^^^^^^^^^^^ static `types::ES` is reachable at visibility `pub(crate)`
+   |
+note: but type `types::Priv` is only usable at visibility `pub(self)`
+  --> $DIR/private-in-public-warn.rs:9:5
+   |
+LL |     struct Priv;
+   |     ^^^^^^^^^^^
+
+error: type `types::Priv` is more private than the item `types::ef1`
+  --> $DIR/private-in-public-warn.rs:28:9
+   |
+LL |         pub fn ef1(arg: Priv);
+   |         ^^^^^^^^^^^^^^^^^^^^^^ function `types::ef1` is reachable at visibility `pub(crate)`
+   |
+note: but type `types::Priv` is only usable at visibility `pub(self)`
+  --> $DIR/private-in-public-warn.rs:9:5
+   |
+LL |     struct Priv;
+   |     ^^^^^^^^^^^
+
+error: type `types::Priv` is more private than the item `types::ef2`
+  --> $DIR/private-in-public-warn.rs:29:9
+   |
+LL |         pub fn ef2() -> Priv;
+   |         ^^^^^^^^^^^^^^^^^^^^^ function `types::ef2` is reachable at visibility `pub(crate)`
+   |
+note: but type `types::Priv` is only usable at visibility `pub(self)`
+  --> $DIR/private-in-public-warn.rs:9:5
+   |
+LL |     struct Priv;
+   |     ^^^^^^^^^^^
+
 warning: bounds on generic parameters in type aliases are not enforced
   --> $DIR/private-in-public-warn.rs:42:23
    |
diff --git a/tests/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs b/tests/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
index 75640147026..d389f8c861a 100644
--- a/tests/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
+++ b/tests/ui/privacy/pub-priv-dep/auxiliary/priv_dep.rs
@@ -10,3 +10,9 @@ macro_rules! m {
 pub enum E {
     V1
 }
+
+struct PrivType;
+
+pub type Unit = ();
+pub type PubPub = OtherType;
+pub type PubPriv = PrivType;
diff --git a/tests/ui/privacy/pub-priv-dep/pub-priv1.rs b/tests/ui/privacy/pub-priv-dep/pub-priv1.rs
index b85f2754fb1..eae0f9756a1 100644
--- a/tests/ui/privacy/pub-priv-dep/pub-priv1.rs
+++ b/tests/ui/privacy/pub-priv-dep/pub-priv1.rs
@@ -32,6 +32,33 @@ pub struct PublicType {
     pub other_field: PubType, // Type from public dependency - this is fine
 }
 
+pub struct PublicTuple(
+    pub OtherType,
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface [exported_private_dependencies]
+    OtherType,
+    pub PubType,
+);
+
+pub enum PublicEnum {
+    OtherType,
+    ActualOtherType(OtherType, PubType),
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface [exported_private_dependencies]
+    ActualOtherTypeStruct {
+        field: OtherType,
+        //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface [exported_private_dependencies]
+        other_field: PubType,
+    },
+}
+
+pub struct PublicGenericType<T, U>(pub T, U);
+pub type ReexportedPublicGeneric = PublicGenericType<OtherType, ()>;
+//~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+pub type ReexportedPrivateGeneric = PublicGenericType<(), OtherType>;
+//~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+
+pub struct PublicGenericBoundedType<T: OtherTrait>(T);
+//~^ ERROR trait `OtherTrait` from private dependency 'priv_dep' in public interface
+
 impl PublicType {
     pub fn pub_fn_param(param: OtherType) {}
     //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
@@ -46,9 +73,15 @@ pub trait MyPubTrait {
     type Foo: OtherTrait;
     //~^ ERROR trait `OtherTrait` from private dependency 'priv_dep' in public interface
 
-    fn required() -> impl OtherTrait;
+    fn required_impl_trait() -> impl OtherTrait;
 
-    fn provided() -> impl OtherTrait { OtherType }
+    fn provided_impl_trait() -> impl OtherTrait { OtherType }
+
+    fn required_concrete() -> OtherType;
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+
+    fn provided_concrete() -> OtherType { OtherType }
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
 }
 
 pub trait WithSuperTrait: OtherTrait {}
@@ -67,6 +100,12 @@ impl PubLocalTraitWithAssoc for PrivateAssoc {
 pub fn in_bounds<T: OtherTrait>(x: T) { unimplemented!() }
 //~^ ERROR trait `OtherTrait` from private dependency 'priv_dep' in public interface
 
+pub fn private_return_impl_trait() -> impl OtherTrait { OtherType }
+//~^ ERROR trait `OtherTrait` from private dependency 'priv_dep' in public interface
+
+pub fn private_return() -> OtherType { OtherType }
+//~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+
 pub fn private_in_generic() -> std::num::Saturating<OtherType> { unimplemented!() }
 //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
 
@@ -79,6 +118,9 @@ pub const CONST: OtherType = OtherType;
 pub type Alias = OtherType;
 //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
 
+pub type AliasOfAlias = priv_dep::PubPub;
+//~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+
 pub struct PublicWithPrivateImpl;
 
 impl OtherTrait for PublicWithPrivateImpl {}
@@ -90,6 +132,22 @@ impl PubTraitOnPrivate for OtherType {}
 //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
 //~| ERROR type `OtherType` from private dependency 'priv_dep' in public interface
 
+pub struct PublicWithStdImpl;
+
+impl From<OtherType> for PublicWithStdImpl {
+//~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+    fn from(val: OtherType) -> Self { Self }
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+}
+
+impl From<PublicWithStdImpl> for OtherType {
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+    //~| ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+    fn from(val: PublicWithStdImpl) -> Self { Self }
+    //~^ ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+    //~| ERROR type `OtherType` from private dependency 'priv_dep' in public interface
+}
+
 pub struct AllowedPrivType {
     #[allow(exported_private_dependencies)]
     pub allowed: OtherType,
@@ -107,4 +165,13 @@ pub use pm::pm_attr;
 pub use priv_dep::E::V1;
 //~^ ERROR variant `V1` from private dependency 'priv_dep' is re-exported
 
+pub use priv_dep::Unit;
+//~^ ERROR type alias `Unit` from private dependency 'priv_dep' is re-exported
+pub use priv_dep::PubPub;
+//~^ ERROR type alias `PubPub` from private dependency 'priv_dep' is re-exported
+pub use priv_dep::PubPriv;
+//~^ ERROR type alias `PubPriv` from private dependency 'priv_dep' is re-exported
+pub use priv_dep::OtherType as Renamed;
+//~^ ERROR struct `Renamed` from private dependency 'priv_dep' is re-exported
+
 fn main() {}
diff --git a/tests/ui/privacy/pub-priv-dep/pub-priv1.stderr b/tests/ui/privacy/pub-priv-dep/pub-priv1.stderr
index 24bd071567f..e66db53f65d 100644
--- a/tests/ui/privacy/pub-priv-dep/pub-priv1.stderr
+++ b/tests/ui/privacy/pub-priv-dep/pub-priv1.stderr
@@ -11,35 +11,59 @@ LL | #![deny(exported_private_dependencies)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: macro `m` from private dependency 'priv_dep' is re-exported
-  --> $DIR/pub-priv1.rs:98:9
+  --> $DIR/pub-priv1.rs:156:9
    |
 LL | pub use priv_dep::m;
    |         ^^^^^^^^^^^
 
 error: macro `fn_like` from private dependency 'pm' is re-exported
-  --> $DIR/pub-priv1.rs:100:9
+  --> $DIR/pub-priv1.rs:158:9
    |
 LL | pub use pm::fn_like;
    |         ^^^^^^^^^^^
 
 error: derive macro `PmDerive` from private dependency 'pm' is re-exported
-  --> $DIR/pub-priv1.rs:102:9
+  --> $DIR/pub-priv1.rs:160:9
    |
 LL | pub use pm::PmDerive;
    |         ^^^^^^^^^^^^
 
 error: attribute macro `pm_attr` from private dependency 'pm' is re-exported
-  --> $DIR/pub-priv1.rs:104:9
+  --> $DIR/pub-priv1.rs:162:9
    |
 LL | pub use pm::pm_attr;
    |         ^^^^^^^^^^^
 
 error: variant `V1` from private dependency 'priv_dep' is re-exported
-  --> $DIR/pub-priv1.rs:107:9
+  --> $DIR/pub-priv1.rs:165:9
    |
 LL | pub use priv_dep::E::V1;
    |         ^^^^^^^^^^^^^^^
 
+error: type alias `Unit` from private dependency 'priv_dep' is re-exported
+  --> $DIR/pub-priv1.rs:168:9
+   |
+LL | pub use priv_dep::Unit;
+   |         ^^^^^^^^^^^^^^
+
+error: type alias `PubPub` from private dependency 'priv_dep' is re-exported
+  --> $DIR/pub-priv1.rs:170:9
+   |
+LL | pub use priv_dep::PubPub;
+   |         ^^^^^^^^^^^^^^^^
+
+error: type alias `PubPriv` from private dependency 'priv_dep' is re-exported
+  --> $DIR/pub-priv1.rs:172:9
+   |
+LL | pub use priv_dep::PubPriv;
+   |         ^^^^^^^^^^^^^^^^^
+
+error: struct `Renamed` from private dependency 'priv_dep' is re-exported
+  --> $DIR/pub-priv1.rs:174:9
+   |
+LL | pub use priv_dep::OtherType as Renamed;
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 error: type `OtherType` from private dependency 'priv_dep' in public interface
   --> $DIR/pub-priv1.rs:29:5
    |
@@ -49,82 +73,188 @@ LL |     pub field: OtherType,
 error: type `OtherType` from private dependency 'priv_dep' in public interface
   --> $DIR/pub-priv1.rs:36:5
    |
+LL |     pub OtherType,
+   |     ^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:44:21
+   |
+LL |     ActualOtherType(OtherType, PubType),
+   |                     ^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:47:9
+   |
+LL |         field: OtherType,
+   |         ^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:54:1
+   |
+LL | pub type ReexportedPublicGeneric = PublicGenericType<OtherType, ()>;
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:56:1
+   |
+LL | pub type ReexportedPrivateGeneric = PublicGenericType<(), OtherType>;
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:59:1
+   |
+LL | pub struct PublicGenericBoundedType<T: OtherTrait>(T);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:63:5
+   |
 LL |     pub fn pub_fn_param(param: OtherType) {}
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:39:5
+  --> $DIR/pub-priv1.rs:66:5
    |
 LL |     pub fn pub_fn_return() -> OtherType { OtherType }
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:46:5
+  --> $DIR/pub-priv1.rs:73:5
    |
 LL |     type Foo: OtherTrait;
    |     ^^^^^^^^^^^^^^^^^^^^
 
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:80:5
+   |
+LL |     fn required_concrete() -> OtherType;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:83:5
+   |
+LL |     fn provided_concrete() -> OtherType { OtherType }
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:54:1
+  --> $DIR/pub-priv1.rs:87:1
    |
 LL | pub trait WithSuperTrait: OtherTrait {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:63:5
+  --> $DIR/pub-priv1.rs:96:5
    |
 LL |     type X = OtherType;
    |     ^^^^^^
 
 error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:67:1
+  --> $DIR/pub-priv1.rs:100:1
    |
 LL | pub fn in_bounds<T: OtherTrait>(x: T) { unimplemented!() }
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:103:1
+   |
+LL | pub fn private_return_impl_trait() -> impl OtherTrait { OtherType }
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:106:1
+   |
+LL | pub fn private_return() -> OtherType { OtherType }
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:70:1
+  --> $DIR/pub-priv1.rs:109:1
    |
 LL | pub fn private_in_generic() -> std::num::Saturating<OtherType> { unimplemented!() }
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:73:1
+  --> $DIR/pub-priv1.rs:112:1
    |
 LL | pub static STATIC: OtherType = OtherType;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:76:1
+  --> $DIR/pub-priv1.rs:115:1
    |
 LL | pub const CONST: OtherType = OtherType;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:79:1
+  --> $DIR/pub-priv1.rs:118:1
    |
 LL | pub type Alias = OtherType;
    | ^^^^^^^^^^^^^^
 
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:121:1
+   |
+LL | pub type AliasOfAlias = priv_dep::PubPub;
+   | ^^^^^^^^^^^^^^^^^^^^^
+
 error: trait `OtherTrait` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:84:1
+  --> $DIR/pub-priv1.rs:126:1
    |
 LL | impl OtherTrait for PublicWithPrivateImpl {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:89:1
+  --> $DIR/pub-priv1.rs:131:1
    |
 LL | impl PubTraitOnPrivate for OtherType {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: type `OtherType` from private dependency 'priv_dep' in public interface
-  --> $DIR/pub-priv1.rs:89:1
+  --> $DIR/pub-priv1.rs:131:1
    |
 LL | impl PubTraitOnPrivate for OtherType {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 
-error: aborting due to 20 previous errors
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:137:1
+   |
+LL | impl From<OtherType> for PublicWithStdImpl {
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:139:5
+   |
+LL |     fn from(val: OtherType) -> Self { Self }
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:143:1
+   |
+LL | impl From<PublicWithStdImpl> for OtherType {
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:143:1
+   |
+LL | impl From<PublicWithStdImpl> for OtherType {
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:146:5
+   |
+LL |     fn from(val: PublicWithStdImpl) -> Self { Self }
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: type `OtherType` from private dependency 'priv_dep' in public interface
+  --> $DIR/pub-priv1.rs:146:5
+   |
+LL |     fn from(val: PublicWithStdImpl) -> Self { Self }
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+
+error: aborting due to 41 previous errors
 
diff --git a/tests/ui/privacy/sealed-traits/false-sealed-traits-note.rs b/tests/ui/privacy/sealed-traits/false-sealed-traits-note.rs
index 13f3065e442..d5065a6b55b 100644
--- a/tests/ui/privacy/sealed-traits/false-sealed-traits-note.rs
+++ b/tests/ui/privacy/sealed-traits/false-sealed-traits-note.rs
@@ -1,5 +1,6 @@
-// We should not emit sealed traits note, see issue #143392
+// We should not emit sealed traits note, see issue #143392 and #143121
 
+/// Reported in #143392
 mod inner {
     pub trait TraitA {}
 
@@ -10,4 +11,13 @@ struct Struct;
 
 impl inner::TraitB for Struct {} //~ ERROR the trait bound `Struct: TraitA` is not satisfied [E0277]
 
+/// Reported in #143121
+mod x {
+    pub trait A {}
+    pub trait B: A {}
+
+    pub struct C;
+    impl B for C {} //~ ERROR the trait bound `C: A` is not satisfied [E0277]
+}
+
 fn main(){}
diff --git a/tests/ui/privacy/sealed-traits/false-sealed-traits-note.stderr b/tests/ui/privacy/sealed-traits/false-sealed-traits-note.stderr
index f80d985ad6e..df8016565da 100644
--- a/tests/ui/privacy/sealed-traits/false-sealed-traits-note.stderr
+++ b/tests/ui/privacy/sealed-traits/false-sealed-traits-note.stderr
@@ -1,20 +1,37 @@
 error[E0277]: the trait bound `Struct: TraitA` is not satisfied
-  --> $DIR/false-sealed-traits-note.rs:11:24
+  --> $DIR/false-sealed-traits-note.rs:12:24
    |
 LL | impl inner::TraitB for Struct {}
    |                        ^^^^^^ the trait `TraitA` is not implemented for `Struct`
    |
 help: this trait has no implementations, consider adding one
-  --> $DIR/false-sealed-traits-note.rs:4:5
+  --> $DIR/false-sealed-traits-note.rs:5:5
    |
 LL |     pub trait TraitA {}
    |     ^^^^^^^^^^^^^^^^
 note: required by a bound in `TraitB`
-  --> $DIR/false-sealed-traits-note.rs:6:23
+  --> $DIR/false-sealed-traits-note.rs:7:23
    |
 LL |     pub trait TraitB: TraitA {}
    |                       ^^^^^^ required by this bound in `TraitB`
 
-error: aborting due to 1 previous error
+error[E0277]: the trait bound `C: A` is not satisfied
+  --> $DIR/false-sealed-traits-note.rs:20:16
+   |
+LL |     impl B for C {}
+   |                ^ the trait `A` is not implemented for `C`
+   |
+help: this trait has no implementations, consider adding one
+  --> $DIR/false-sealed-traits-note.rs:16:5
+   |
+LL |     pub trait A {}
+   |     ^^^^^^^^^^^
+note: required by a bound in `B`
+  --> $DIR/false-sealed-traits-note.rs:17:18
+   |
+LL |     pub trait B: A {}
+   |                  ^ required by this bound in `B`
+
+error: aborting due to 2 previous errors
 
 For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/range/range-inclusive-pattern-precedence.stderr b/tests/ui/range/range-inclusive-pattern-precedence.stderr
index 9df20fc4545..15237b0a499 100644
--- a/tests/ui/range/range-inclusive-pattern-precedence.stderr
+++ b/tests/ui/range/range-inclusive-pattern-precedence.stderr
@@ -16,7 +16,7 @@ LL |         &0...9 => {}
    |         ^^^^^^ help: use `..=` for an inclusive range: `&(0..=9)`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/range-inclusive-pattern-precedence.rs:7:9
    |
diff --git a/tests/ui/range/range-inclusive-pattern-precedence2.stderr b/tests/ui/range/range-inclusive-pattern-precedence2.stderr
index fd2fa78e92b..4c5016b8ae4 100644
--- a/tests/ui/range/range-inclusive-pattern-precedence2.stderr
+++ b/tests/ui/range/range-inclusive-pattern-precedence2.stderr
@@ -16,7 +16,7 @@ LL |         box 0...9 => {}
    |              ^^^ help: use `..=` for an inclusive range
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/range-inclusive-pattern-precedence2.rs:5:9
    |
diff --git a/tests/ui/resolve/underscore-bindings-disambiguators.rs b/tests/ui/resolve/underscore-bindings-disambiguators.rs
new file mode 100644
index 00000000000..8c89b39f859
--- /dev/null
+++ b/tests/ui/resolve/underscore-bindings-disambiguators.rs
@@ -0,0 +1,27 @@
+// Regression test for issue #144168 where some `_` bindings were incorrectly only allowed once per
+// module, failing with "error[E0428]: the name `_` is defined multiple times".
+
+// This weird/complex setup is reduced from `zerocopy-0.8.25` where the issue was encountered.
+
+#![crate_type = "lib"]
+
+macro_rules! impl_for_transmute_from {
+    () => {
+        const _: () = {};
+    };
+}
+
+mod impls {
+    use super::*;
+    impl_for_transmute_from!();
+    impl_for_transmute_from!();
+    const _: () = todo!(); //~ ERROR: evaluation panicked
+    const _: () = todo!(); //~ ERROR: evaluation panicked
+    const _: () = todo!(); //~ ERROR: evaluation panicked
+    const _: () = todo!(); //~ ERROR: evaluation panicked
+    const _: () = todo!(); //~ ERROR: evaluation panicked
+}
+use X as Y; //~ ERROR: unresolved import
+use Z as W; //~ ERROR: unresolved import
+
+const _: () = todo!(); //~ ERROR: evaluation panicked
diff --git a/tests/ui/resolve/underscore-bindings-disambiguators.stderr b/tests/ui/resolve/underscore-bindings-disambiguators.stderr
new file mode 100644
index 00000000000..0c8081a0c56
--- /dev/null
+++ b/tests/ui/resolve/underscore-bindings-disambiguators.stderr
@@ -0,0 +1,70 @@
+error[E0432]: unresolved import `X`
+  --> $DIR/underscore-bindings-disambiguators.rs:24:5
+   |
+LL | use X as Y;
+   |     -^^^^^
+   |     |
+   |     no `X` in the root
+   |     help: a similar name exists in the module: `_`
+
+error[E0432]: unresolved import `Z`
+  --> $DIR/underscore-bindings-disambiguators.rs:25:5
+   |
+LL | use Z as W;
+   |     -^^^^^
+   |     |
+   |     no `Z` in the root
+   |     help: a similar name exists in the module: `_`
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:18:19
+   |
+LL |     const _: () = todo!();
+   |                   ^^^^^^^ evaluation of `impls::_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:19:19
+   |
+LL |     const _: () = todo!();
+   |                   ^^^^^^^ evaluation of `impls::_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:20:19
+   |
+LL |     const _: () = todo!();
+   |                   ^^^^^^^ evaluation of `impls::_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:21:19
+   |
+LL |     const _: () = todo!();
+   |                   ^^^^^^^ evaluation of `impls::_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:22:19
+   |
+LL |     const _: () = todo!();
+   |                   ^^^^^^^ evaluation of `impls::_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0080]: evaluation panicked: not yet implemented
+  --> $DIR/underscore-bindings-disambiguators.rs:27:15
+   |
+LL | const _: () = todo!();
+   |               ^^^^^^^ evaluation of `_` failed here
+   |
+   = note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error: aborting due to 8 previous errors
+
+Some errors have detailed explanations: E0080, E0432.
+For more information about an error, try `rustc --explain E0080`.
diff --git a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
index ea462609234..e16841b369d 100644
--- a/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
+++ b/tests/ui/rfcs/rfc-2396-target_feature-11/safe-calls.stderr
@@ -79,7 +79,7 @@ error[E0133]: call to function `sse2` with `#[target_feature]` is unsafe and req
 LL |     sse2();
    |     ^^^^^^ call to function with `#[target_feature]`
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = help: in order for the call to be safe, the context requires the following additional target feature: sse2
    = note: the sse2 target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
 note: an unsafe function restricts its caller, but its body is safe by default
diff --git a/tests/ui/runtime/backtrace-debuginfo.rs b/tests/ui/runtime/backtrace-debuginfo.rs
index 37fce2788b7..5fb9943d6c3 100644
--- a/tests/ui/runtime/backtrace-debuginfo.rs
+++ b/tests/ui/runtime/backtrace-debuginfo.rs
@@ -43,12 +43,13 @@ macro_rules! dump_and_die {
         // rust-lang/rust to test it as well, but sometimes we just gotta keep
         // landing PRs.
         //
-        // aarch64-msvc is broken as its backtraces are truncated.
+        // aarch64-msvc/arm64ec-msvc is broken as its backtraces are truncated.
         // See https://github.com/rust-lang/rust/issues/140489
         if cfg!(any(target_os = "android",
                     all(target_os = "linux", target_arch = "arm"),
                     all(target_env = "msvc", target_arch = "x86"),
                     all(target_env = "msvc", target_arch = "aarch64"),
+                    all(target_env = "msvc", target_arch = "arm64ec"),
                     target_os = "freebsd",
                     target_os = "dragonfly",
                     target_os = "openbsd")) {
diff --git a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.fixed b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.fixed
index 26c1c9015da..028f86eb0a3 100644
--- a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.fixed
+++ b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.fixed
@@ -1,5 +1,5 @@
 //@ edition:2018
-//@ aux-build:../removing-extern-crate.rs
+//@ aux-build: remove-extern-crate.rs
 //@ run-rustfix
 
 #![warn(rust_2018_idioms)]
diff --git a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.rs b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.rs
index c5b629fa90b..1acf531a661 100644
--- a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.rs
+++ b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.rs
@@ -1,16 +1,16 @@
 //@ edition:2018
-//@ aux-build:../removing-extern-crate.rs
+//@ aux-build: remove-extern-crate.rs
 //@ run-rustfix
 
 #![warn(rust_2018_idioms)]
 
 #[cfg_attr(test, "macro_use")] //~ ERROR expected
-extern crate removing_extern_crate as foo; //~ WARNING unused extern crate
+extern crate remove_extern_crate as foo; //~ WARNING unused extern crate
 extern crate core; //~ WARNING unused extern crate
 
 mod another {
     #[cfg_attr(test)] //~ ERROR expected
-    extern crate removing_extern_crate as foo; //~ WARNING unused extern crate
+    extern crate remove_extern_crate as foo; //~ WARNING unused extern crate
     extern crate core; //~ WARNING unused extern crate
 }
 
diff --git a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.stderr b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.stderr
index 0e834707bf9..632ecd62322 100644
--- a/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.stderr
+++ b/tests/ui/rust-2018/removing-extern-crate-malformed-cfg.stderr
@@ -19,8 +19,8 @@ LL |     #[cfg_attr(test)]
 warning: unused extern crate
   --> $DIR/removing-extern-crate-malformed-cfg.rs:8:1
    |
-LL | extern crate removing_extern_crate as foo;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unused
+LL | extern crate remove_extern_crate as foo;
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unused
    |
 note: the lint level is defined here
   --> $DIR/removing-extern-crate-malformed-cfg.rs:5:9
@@ -31,7 +31,7 @@ LL | #![warn(rust_2018_idioms)]
 help: remove the unused `extern crate`
    |
 LL - #[cfg_attr(test, "macro_use")]
-LL - extern crate removing_extern_crate as foo;
+LL - extern crate remove_extern_crate as foo;
 LL +
    |
 
@@ -50,13 +50,13 @@ LL +
 warning: unused extern crate
   --> $DIR/removing-extern-crate-malformed-cfg.rs:13:5
    |
-LL |     extern crate removing_extern_crate as foo;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unused
+LL |     extern crate remove_extern_crate as foo;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unused
    |
 help: remove the unused `extern crate`
    |
 LL -     #[cfg_attr(test)]
-LL -     extern crate removing_extern_crate as foo;
+LL -     extern crate remove_extern_crate as foo;
 LL +
    |
 
diff --git a/tests/ui/rust-2021/array-into-iter-ambiguous.stderr b/tests/ui/rust-2021/array-into-iter-ambiguous.stderr
index 2a724bd3072..6e510df027c 100644
--- a/tests/ui/rust-2021/array-into-iter-ambiguous.stderr
+++ b/tests/ui/rust-2021/array-into-iter-ambiguous.stderr
@@ -5,7 +5,7 @@ LL |     let y = points.into_iter();
    |             ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `MyIntoIter::into_iter(points)`
    |
    = warning: this changes meaning in Rust 2021
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
 note: the lint level is defined here
   --> $DIR/array-into-iter-ambiguous.rs:5:9
    |
diff --git a/tests/ui/rust-2021/future-prelude-collision-generic-trait.stderr b/tests/ui/rust-2021/future-prelude-collision-generic-trait.stderr
index f38da132b5e..bbc85d5bf45 100644
--- a/tests/ui/rust-2021/future-prelude-collision-generic-trait.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-generic-trait.stderr
@@ -5,7 +5,7 @@ LL |         U::try_from(self)
    |         ^^^^^^^^^^^ help: disambiguate the associated function: `<U as PyTryFrom<'_, _>>::try_from`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision-generic-trait.rs:5:9
    |
diff --git a/tests/ui/rust-2021/future-prelude-collision-generic.stderr b/tests/ui/rust-2021/future-prelude-collision-generic.stderr
index 9893b3ebaa6..06ee6b40f11 100644
--- a/tests/ui/rust-2021/future-prelude-collision-generic.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-generic.stderr
@@ -5,7 +5,7 @@ LL |     Generic::from_iter(1);
    |     ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<Generic<'_, _> as MyFromIter>::from_iter`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision-generic.rs:5:9
    |
@@ -19,7 +19,7 @@ LL |     Generic::<'static, i32>::from_iter(1);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<Generic::<'static, i32> as MyFromIter>::from_iter`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait-associated function `from_iter` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision-generic.rs:34:5
@@ -28,7 +28,7 @@ LL |     Generic::<'_, _>::from_iter(1);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<Generic::<'_, _> as MyFromIter>::from_iter`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: 3 warnings emitted
 
diff --git a/tests/ui/rust-2021/future-prelude-collision-imported.stderr b/tests/ui/rust-2021/future-prelude-collision-imported.stderr
index c1d72d0df21..8f650e9ee51 100644
--- a/tests/ui/rust-2021/future-prelude-collision-imported.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-imported.stderr
@@ -5,7 +5,7 @@ LL |         let _: u32 = 3u8.try_into().unwrap();
    |                      ^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(3u8)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision-imported.rs:4:9
    |
@@ -19,7 +19,7 @@ LL |         let _: u32 = 3u8.try_into().unwrap();
    |                      ^^^^^^^^^^^^^^ help: disambiguate the associated function: `crate::m::TryIntoU32::try_into(3u8)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait method `try_into` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision-imported.rs:53:22
@@ -28,7 +28,7 @@ LL |         let _: u32 = 3u8.try_into().unwrap();
    |                      ^^^^^^^^^^^^^^ help: disambiguate the associated function: `super::m::TryIntoU32::try_into(3u8)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait method `try_into` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision-imported.rs:64:22
@@ -37,7 +37,7 @@ LL |         let _: u32 = 3u8.try_into().unwrap();
    |                      ^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(3u8)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: 4 warnings emitted
 
diff --git a/tests/ui/rust-2021/future-prelude-collision-macros.stderr b/tests/ui/rust-2021/future-prelude-collision-macros.stderr
index 4d4a0769958..c2d8c8540ad 100644
--- a/tests/ui/rust-2021/future-prelude-collision-macros.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-macros.stderr
@@ -5,7 +5,7 @@ LL |     foo!().try_into(todo!());
    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `MyTry::try_into(foo!(), todo!())`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision-macros.rs:4:9
    |
@@ -19,7 +19,7 @@ LL |     <bar!()>::try_from(0);
    |     ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<bar!() as TryFromU8>::try_from`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/rust-2021/future-prelude-collision-turbofish.stderr b/tests/ui/rust-2021/future-prelude-collision-turbofish.stderr
index c0ef80fd841..73ed238e5f7 100644
--- a/tests/ui/rust-2021/future-prelude-collision-turbofish.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision-turbofish.stderr
@@ -5,7 +5,7 @@ LL |     x.try_into::<usize>().or(Err("foo"))?.checked_sub(1);
    |     ^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `AnnotatableTryInto::try_into::<usize>(x)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision-turbofish.rs:6:9
    |
@@ -19,7 +19,7 @@ LL |     x.try_into::<usize>().or(Err("foo"))?;
    |     ^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `AnnotatableTryInto::try_into::<usize>(x)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: 2 warnings emitted
 
diff --git a/tests/ui/rust-2021/future-prelude-collision.stderr b/tests/ui/rust-2021/future-prelude-collision.stderr
index cae113ff711..0b251454756 100644
--- a/tests/ui/rust-2021/future-prelude-collision.stderr
+++ b/tests/ui/rust-2021/future-prelude-collision.stderr
@@ -5,7 +5,7 @@ LL |     let _: u32 = 3u8.try_into().unwrap();
    |                  ^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(3u8)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-prelude-collision.rs:4:9
    |
@@ -19,7 +19,7 @@ LL |     let _ = u32::try_from(3u8).unwrap();
    |             ^^^^^^^^^^^^^ help: disambiguate the associated function: `<u32 as TryFromU8>::try_from`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait-associated function `from_iter` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:66:13
@@ -28,7 +28,7 @@ LL |     let _ = <Vec<u8>>::from_iter(vec![1u8, 2, 3, 4, 5, 6].into_iter());
    |             ^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<Vec<u8> as FromByteIterator>::from_iter`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait-associated function `try_from` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:74:18
@@ -37,7 +37,7 @@ LL |     let _: u32 = <_>::try_from(3u8).unwrap();
    |                  ^^^^^^^^^^^^^ help: disambiguate the associated function: `<_ as TryFromU8>::try_from`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait method `try_into` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:79:18
@@ -46,7 +46,7 @@ LL |     let _: u32 = (&3u8).try_into().unwrap();
    |                  ^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(*(&3u8))`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait method `try_into` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:84:18
@@ -55,7 +55,7 @@ LL |     let _: u32 = 3.0.try_into().unwrap();
    |                  ^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(&3.0)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait method `try_into` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:90:18
@@ -64,7 +64,7 @@ LL |     let _: u32 = mut_ptr.try_into().unwrap();
    |                  ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `TryIntoU32::try_into(mut_ptr as *const _)`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: trait-associated function `try_from` will become ambiguous in Rust 2021
   --> $DIR/future-prelude-collision.rs:95:13
@@ -73,7 +73,7 @@ LL |     let _ = U32Alias::try_from(3u8).unwrap();
    |             ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<U32Alias as TryFromU8>::try_from`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 
 warning: 8 warnings emitted
 
diff --git a/tests/ui/rust-2021/generic-type-collision.stderr b/tests/ui/rust-2021/generic-type-collision.stderr
index 1ec61044f4a..c2d296822c0 100644
--- a/tests/ui/rust-2021/generic-type-collision.stderr
+++ b/tests/ui/rust-2021/generic-type-collision.stderr
@@ -5,7 +5,7 @@ LL |     <Vec<i32>>::from_iter(None);
    |     ^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `<Vec<i32> as MyTrait<_>>::from_iter`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/generic-type-collision.rs:4:9
    |
diff --git a/tests/ui/rust-2021/inherent-dyn-collision.stderr b/tests/ui/rust-2021/inherent-dyn-collision.stderr
index d9e720dd9af..d582e4aedcb 100644
--- a/tests/ui/rust-2021/inherent-dyn-collision.stderr
+++ b/tests/ui/rust-2021/inherent-dyn-collision.stderr
@@ -5,7 +5,7 @@ LL |         get_dyn_trait().try_into().unwrap()
    |         ^^^^^^^^^^^^^^^ help: disambiguate the method call: `(&*get_dyn_trait())`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/prelude.html>
 note: the lint level is defined here
   --> $DIR/inherent-dyn-collision.rs:8:9
    |
diff --git a/tests/ui/rust-2021/reserved-prefixes-migration.stderr b/tests/ui/rust-2021/reserved-prefixes-migration.stderr
index 20914d1b9d1..8092c636877 100644
--- a/tests/ui/rust-2021/reserved-prefixes-migration.stderr
+++ b/tests/ui/rust-2021/reserved-prefixes-migration.stderr
@@ -5,7 +5,7 @@ LL |     m2!(z"hey");
    |         ^ unknown prefix
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/reserving-syntax.html>
 note: the lint level is defined here
   --> $DIR/reserved-prefixes-migration.rs:5:9
    |
@@ -23,7 +23,7 @@ LL |     m2!(prefix"hey");
    |         ^^^^^^ unknown prefix
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/reserving-syntax.html>
 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
    |
 LL |     m2!(prefix "hey");
@@ -36,7 +36,7 @@ LL |     m3!(hey#123);
    |         ^^^ unknown prefix
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/reserving-syntax.html>
 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
    |
 LL |     m3!(hey #123);
@@ -49,7 +49,7 @@ LL |     m3!(hey#hey);
    |         ^^^ unknown prefix
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/reserving-syntax.html>
 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
    |
 LL |     m3!(hey #hey);
@@ -62,7 +62,7 @@ LL |     #name = #kind#value
    |              ^^^^ unknown prefix
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/reserving-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/reserving-syntax.html>
 help: insert whitespace here to avoid this being parsed as a prefix in Rust 2021
    |
 LL |     #name = #kind #value
diff --git a/tests/ui/rust-2024/box-slice-into-iter-ambiguous.stderr b/tests/ui/rust-2024/box-slice-into-iter-ambiguous.stderr
index 0735be26652..6da2cb97082 100644
--- a/tests/ui/rust-2024/box-slice-into-iter-ambiguous.stderr
+++ b/tests/ui/rust-2024/box-slice-into-iter-ambiguous.stderr
@@ -5,7 +5,7 @@ LL |     let y = points.into_iter();
    |             ^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `MyIntoIter::into_iter(points)`
    |
    = warning: this changes meaning in Rust 2024
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/intoiterator-box-slice.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/intoiterator-box-slice.html>
 note: the lint level is defined here
   --> $DIR/box-slice-into-iter-ambiguous.rs:5:9
    |
diff --git a/tests/ui/rust-2024/gen-kw.e2015.stderr b/tests/ui/rust-2024/gen-kw.e2015.stderr
index 3fca7b41ad2..ebb80cf2217 100644
--- a/tests/ui/rust-2024/gen-kw.e2015.stderr
+++ b/tests/ui/rust-2024/gen-kw.e2015.stderr
@@ -5,7 +5,7 @@ LL | fn gen() {}
    |    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 note: the lint level is defined here
   --> $DIR/gen-kw.rs:4:9
    |
@@ -20,7 +20,7 @@ LL |     let gen = r#gen;
    |         ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:19:27
@@ -29,7 +29,7 @@ LL |     () => { mod test { fn gen() {} } }
    |                           ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:25:9
@@ -38,7 +38,7 @@ LL | fn test<'gen>(_: &'gen i32) {}
    |         ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:25:19
@@ -47,7 +47,7 @@ LL | fn test<'gen>(_: &'gen i32) {}
    |                   ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:13
@@ -56,7 +56,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |             ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:28
@@ -65,7 +65,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |                            ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:37
@@ -74,7 +74,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |                                     ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/rust-2024/gen-kw.e2018.stderr b/tests/ui/rust-2024/gen-kw.e2018.stderr
index b7f2c887536..e491454d2a6 100644
--- a/tests/ui/rust-2024/gen-kw.e2018.stderr
+++ b/tests/ui/rust-2024/gen-kw.e2018.stderr
@@ -5,7 +5,7 @@ LL | fn gen() {}
    |    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 note: the lint level is defined here
   --> $DIR/gen-kw.rs:4:9
    |
@@ -20,7 +20,7 @@ LL |     let gen = r#gen;
    |         ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:19:27
@@ -29,7 +29,7 @@ LL |     () => { mod test { fn gen() {} } }
    |                           ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:25:9
@@ -38,7 +38,7 @@ LL | fn test<'gen>(_: &'gen i32) {}
    |         ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:25:19
@@ -47,7 +47,7 @@ LL | fn test<'gen>(_: &'gen i32) {}
    |                   ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:13
@@ -56,7 +56,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |             ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:28
@@ -65,7 +65,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |                            ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: `gen` is a keyword in the 2024 edition
   --> $DIR/gen-kw.rs:33:37
@@ -74,7 +74,7 @@ LL | struct Test<'gen>(Box<Test<'gen>>, &'gen ());
    |                                     ^^^^ help: you can use a raw identifier to stay compatible: `'r#gen`
    |
    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/gen-keyword.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
 
 error: aborting due to 8 previous errors
 
diff --git a/tests/ui/rust-2024/prelude-migration/future-poll-async-block.e2021.stderr b/tests/ui/rust-2024/prelude-migration/future-poll-async-block.e2021.stderr
index 15a3fa11414..8e5c3f4eb1d 100644
--- a/tests/ui/rust-2024/prelude-migration/future-poll-async-block.e2021.stderr
+++ b/tests/ui/rust-2024/prelude-migration/future-poll-async-block.e2021.stderr
@@ -5,7 +5,7 @@ LL |     core::pin::pin!(async {}).poll(&mut context());
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `Meow::poll(&core::pin::pin!(async {}), &mut context())`
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-poll-async-block.rs:7:9
    |
diff --git a/tests/ui/rust-2024/prelude-migration/future-poll-not-future-pinned.e2021.stderr b/tests/ui/rust-2024/prelude-migration/future-poll-not-future-pinned.e2021.stderr
index 633731c2a5a..70769524d2d 100644
--- a/tests/ui/rust-2024/prelude-migration/future-poll-not-future-pinned.e2021.stderr
+++ b/tests/ui/rust-2024/prelude-migration/future-poll-not-future-pinned.e2021.stderr
@@ -5,7 +5,7 @@ LL |     core::pin::pin!(()).poll();
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `Meow::poll(&core::pin::pin!(()))`
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/prelude.html>
 note: the lint level is defined here
   --> $DIR/future-poll-not-future-pinned.rs:7:9
    |
diff --git a/tests/ui/rust-2024/prelude-migration/in_2024_compatibility.stderr b/tests/ui/rust-2024/prelude-migration/in_2024_compatibility.stderr
index 5865029d65d..2e88751cd8a 100644
--- a/tests/ui/rust-2024/prelude-migration/in_2024_compatibility.stderr
+++ b/tests/ui/rust-2024/prelude-migration/in_2024_compatibility.stderr
@@ -5,7 +5,7 @@ LL |     core::pin::pin!(async {}).poll(&mut context());
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `Meow::poll(&core::pin::pin!(async {}), &mut context())`
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/prelude.html>
 note: the lint level is defined here
   --> $DIR/in_2024_compatibility.rs:3:9
    |
diff --git a/tests/ui/rust-2024/prelude-migration/into-future-adt.e2021.stderr b/tests/ui/rust-2024/prelude-migration/into-future-adt.e2021.stderr
index e67f07b4e46..690c58f85b9 100644
--- a/tests/ui/rust-2024/prelude-migration/into-future-adt.e2021.stderr
+++ b/tests/ui/rust-2024/prelude-migration/into-future-adt.e2021.stderr
@@ -5,7 +5,7 @@ LL |     Cat.into_future();
    |     ^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `Meow::into_future(&Cat)`
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/prelude.html>
 note: the lint level is defined here
   --> $DIR/into-future-adt.rs:7:9
    |
diff --git a/tests/ui/rust-2024/prelude-migration/into-future-not-into-future.e2021.stderr b/tests/ui/rust-2024/prelude-migration/into-future-not-into-future.e2021.stderr
index 0588f5bf3f5..4423e1272e8 100644
--- a/tests/ui/rust-2024/prelude-migration/into-future-not-into-future.e2021.stderr
+++ b/tests/ui/rust-2024/prelude-migration/into-future-not-into-future.e2021.stderr
@@ -5,7 +5,7 @@ LL |     Cat.into_future();
    |     ^^^^^^^^^^^^^^^^^ help: disambiguate the associated function: `Meow::into_future(&Cat)`
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/prelude.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/prelude.html>
 note: the lint level is defined here
   --> $DIR/into-future-not-into-future.rs:7:9
    |
diff --git a/tests/ui/rust-2024/reserved-guarded-strings-lexing.stderr b/tests/ui/rust-2024/reserved-guarded-strings-lexing.stderr
index bf74f6eff99..488f66bb01d 100644
--- a/tests/ui/rust-2024/reserved-guarded-strings-lexing.stderr
+++ b/tests/ui/rust-2024/reserved-guarded-strings-lexing.stderr
@@ -35,7 +35,7 @@ LL |     demo3!(## "foo");
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 note: the lint level is defined here
   --> $DIR/reserved-guarded-strings-lexing.rs:4:9
    |
@@ -53,7 +53,7 @@ LL |     demo4!(### "foo");
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(# ## "foo");
@@ -66,7 +66,7 @@ LL |     demo4!(### "foo");
    |             ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(## # "foo");
@@ -79,7 +79,7 @@ LL |     demo4!(## "foo"#);
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(# # "foo"#);
@@ -92,7 +92,7 @@ LL |     demo7!(### "foo"###);
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo7!(# ## "foo"###);
@@ -105,7 +105,7 @@ LL |     demo7!(### "foo"###);
    |             ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo7!(## # "foo"###);
@@ -118,7 +118,7 @@ LL |     demo7!(### "foo"###);
    |                     ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo7!(### "foo"# ##);
@@ -131,7 +131,7 @@ LL |     demo7!(### "foo"###);
    |                      ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo7!(### "foo"## #);
@@ -144,7 +144,7 @@ LL |     demo5!(###"foo"#);
    |            ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(# ##"foo"#);
@@ -157,7 +157,7 @@ LL |     demo5!(###"foo"#);
    |             ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(## #"foo"#);
@@ -170,7 +170,7 @@ LL |     demo5!(###"foo"#);
    |              ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(### "foo"#);
@@ -183,7 +183,7 @@ LL |     demo5!(#"foo"###);
    |            ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(# "foo"###);
@@ -196,7 +196,7 @@ LL |     demo5!(#"foo"###);
    |                  ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo5!(#"foo"# ##);
@@ -209,7 +209,7 @@ LL |     demo5!(#"foo"###);
    |                   ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo5!(#"foo"## #);
@@ -222,7 +222,7 @@ LL |     demo4!("foo"###);
    |                 ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!("foo"# ##);
@@ -235,7 +235,7 @@ LL |     demo4!("foo"###);
    |                  ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!("foo"## #);
@@ -248,7 +248,7 @@ LL |     demo4!(Ñ#""#);
    |             ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo4!(Ñ# ""#);
@@ -261,7 +261,7 @@ LL |     demo3!(🙃#"");
    |              ^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(🙃# "");
diff --git a/tests/ui/rust-2024/reserved-guarded-strings-migration.stderr b/tests/ui/rust-2024/reserved-guarded-strings-migration.stderr
index 59f920caa95..9e6c4554281 100644
--- a/tests/ui/rust-2024/reserved-guarded-strings-migration.stderr
+++ b/tests/ui/rust-2024/reserved-guarded-strings-migration.stderr
@@ -5,7 +5,7 @@ LL |     demo3!(## "foo");
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 note: the lint level is defined here
   --> $DIR/reserved-guarded-strings-migration.rs:5:9
    |
@@ -23,7 +23,7 @@ LL |     demo4!(### "foo");
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(# ## "foo");
@@ -36,7 +36,7 @@ LL |     demo4!(### "foo");
    |             ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(## # "foo");
@@ -49,7 +49,7 @@ LL |     demo4!(## "foo"#);
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!(# # "foo"#);
@@ -62,7 +62,7 @@ LL |     demo6!(### "foo"##);
    |            ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo6!(# ## "foo"##);
@@ -75,7 +75,7 @@ LL |     demo6!(### "foo"##);
    |             ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo6!(## # "foo"##);
@@ -88,7 +88,7 @@ LL |     demo6!(### "foo"##);
    |                     ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo6!(### "foo"# #);
@@ -101,7 +101,7 @@ LL |     demo4!("foo"###);
    |                 ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!("foo"# ##);
@@ -114,7 +114,7 @@ LL |     demo4!("foo"###);
    |                  ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo4!("foo"## #);
@@ -127,7 +127,7 @@ LL |     demo2!(#"");
    |            ^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo2!(# "");
@@ -140,7 +140,7 @@ LL |     demo3!(#""#);
    |            ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(# ""#);
@@ -153,7 +153,7 @@ LL |     demo3!(##"");
    |            ^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(# #"");
@@ -166,7 +166,7 @@ LL |     demo3!(##"");
    |             ^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(## "");
@@ -179,7 +179,7 @@ LL |     demo2!(#"foo");
    |            ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo2!(# "foo");
@@ -192,7 +192,7 @@ LL |     demo3!(##"foo");
    |            ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(# #"foo");
@@ -205,7 +205,7 @@ LL |     demo3!(##"foo");
    |             ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(## "foo");
@@ -218,7 +218,7 @@ LL |     demo3!(#"foo"#);
    |            ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo3!(# "foo"#);
@@ -231,7 +231,7 @@ LL |     demo4!(##"foo"#);
    |            ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo4!(# #"foo"#);
@@ -244,7 +244,7 @@ LL |     demo4!(##"foo"#);
    |             ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo4!(## "foo"#);
@@ -257,7 +257,7 @@ LL |     demo5!(##"foo"##);
    |            ^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(# #"foo"##);
@@ -270,7 +270,7 @@ LL |     demo5!(##"foo"##);
    |             ^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a guarded string in Rust 2024
    |
 LL |     demo5!(## "foo"##);
@@ -283,7 +283,7 @@ LL |     demo5!(##"foo"##);
    |                   ^^
    |
    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/reserved-syntax.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/reserved-syntax.html>
 help: insert whitespace here to avoid this being parsed as a forbidden token in Rust 2024
    |
 LL |     demo5!(##"foo"# #);
diff --git a/tests/ui/rust-2024/unsafe-attributes/in_2024_compatibility.stderr b/tests/ui/rust-2024/unsafe-attributes/in_2024_compatibility.stderr
index f0a49f5bd79..2b77f6e8e52 100644
--- a/tests/ui/rust-2024/unsafe-attributes/in_2024_compatibility.stderr
+++ b/tests/ui/rust-2024/unsafe-attributes/in_2024_compatibility.stderr
@@ -5,7 +5,7 @@ LL | #[no_mangle]
    |   ^^^^^^^^^ usage of unsafe attribute
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
 note: the lint level is defined here
   --> $DIR/in_2024_compatibility.rs:1:9
    |
diff --git a/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.stderr b/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.stderr
index 15a48fb7159..b97176f5e0d 100644
--- a/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.stderr
+++ b/tests/ui/rust-2024/unsafe-attributes/unsafe-attributes-fix.stderr
@@ -5,7 +5,7 @@ LL | tt!([no_mangle]);
    |      ^^^^^^^^^ usage of unsafe attribute
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
 note: the lint level is defined here
   --> $DIR/unsafe-attributes-fix.rs:2:9
    |
@@ -26,7 +26,7 @@ LL | ident!(no_mangle);
    | ----------------- in this macro invocation
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
    = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: wrap the attribute in `unsafe(...)`
    |
@@ -40,7 +40,7 @@ LL | meta!(no_mangle);
    |       ^^^^^^^^^ usage of unsafe attribute
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
 help: wrap the attribute in `unsafe(...)`
    |
 LL | meta!(unsafe(no_mangle));
@@ -53,7 +53,7 @@ LL | meta2!(export_name = "baw");
    |        ^^^^^^^^^^^ usage of unsafe attribute
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
 help: wrap the attribute in `unsafe(...)`
    |
 LL | meta2!(unsafe(export_name = "baw"));
@@ -69,7 +69,7 @@ LL | ident2!(export_name, "bars");
    | ---------------------------- in this macro invocation
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
    = note: this error originates in the macro `ident2` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: wrap the attribute in `unsafe(...)`
    |
@@ -86,7 +86,7 @@ LL | with_cfg_attr!();
    | ---------------- in this macro invocation
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
    = note: this error originates in the macro `with_cfg_attr` (in Nightly builds, run with -Z macro-backtrace for more info)
 help: wrap the attribute in `unsafe(...)`
    |
@@ -100,7 +100,7 @@ LL | #[no_mangle]
    |   ^^^^^^^^^ usage of unsafe attribute
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-attributes.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
 help: wrap the attribute in `unsafe(...)`
    |
 LL | #[unsafe(no_mangle)]
diff --git a/tests/ui/rust-2024/unsafe-env-suggestion.stderr b/tests/ui/rust-2024/unsafe-env-suggestion.stderr
index 6c95d50f393..3c5ceaaaf42 100644
--- a/tests/ui/rust-2024/unsafe-env-suggestion.stderr
+++ b/tests/ui/rust-2024/unsafe-env-suggestion.stderr
@@ -5,7 +5,7 @@ LL |     env::set_var("FOO", "BAR");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/newly-unsafe-functions.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
 note: the lint level is defined here
   --> $DIR/unsafe-env-suggestion.rs:3:9
    |
@@ -24,7 +24,7 @@ LL |     env::remove_var("FOO");
    |     ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/newly-unsafe-functions.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
 help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
    |
 LL +     // TODO: Audit that the environment access only happens in single-threaded code.
diff --git a/tests/ui/rust-2024/unsafe-env.e2021.stderr b/tests/ui/rust-2024/unsafe-env.e2021.stderr
index 4a441cf43ff..a73db9fd60c 100644
--- a/tests/ui/rust-2024/unsafe-env.e2021.stderr
+++ b/tests/ui/rust-2024/unsafe-env.e2021.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `unsafe_fn` is unsafe and requires unsafe
 LL |         unsafe_fn();
    |         ^^^^^^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/unsafe-env.rs:8:1
diff --git a/tests/ui/rust-2024/unsafe-env.e2024.stderr b/tests/ui/rust-2024/unsafe-env.e2024.stderr
index 0ee7e042946..cb48ae231f2 100644
--- a/tests/ui/rust-2024/unsafe-env.e2024.stderr
+++ b/tests/ui/rust-2024/unsafe-env.e2024.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `std::env::set_var` is unsafe and requires
 LL |     env::set_var("FOO", "BAR");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/unsafe-env.rs:8:1
@@ -23,7 +23,7 @@ error[E0133]: call to unsafe function `std::env::remove_var` is unsafe and requi
 LL |     env::remove_var("FOO");
    |     ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
 error[E0133]: call to unsafe function `unsafe_fn` is unsafe and requires unsafe block
@@ -32,7 +32,7 @@ error[E0133]: call to unsafe function `unsafe_fn` is unsafe and requires unsafe
 LL |         unsafe_fn();
    |         ^^^^^^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
 error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block
diff --git a/tests/ui/rust-2024/unsafe-extern-blocks/unsafe-extern-suggestion.stderr b/tests/ui/rust-2024/unsafe-extern-blocks/unsafe-extern-suggestion.stderr
index ab12da0c416..9a535fbbaf5 100644
--- a/tests/ui/rust-2024/unsafe-extern-blocks/unsafe-extern-suggestion.stderr
+++ b/tests/ui/rust-2024/unsafe-extern-blocks/unsafe-extern-suggestion.stderr
@@ -14,7 +14,7 @@ LL | | }
    | |_^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2024!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-extern.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-extern.html>
 note: the lint level is defined here
   --> $DIR/unsafe-extern-suggestion.rs:3:9
    |
diff --git a/tests/ui/stable-mir-print/async-closure.rs b/tests/ui/rustc_public-ir-print/async-closure.rs
index 80f96e09cfc..80f96e09cfc 100644
--- a/tests/ui/stable-mir-print/async-closure.rs
+++ b/tests/ui/rustc_public-ir-print/async-closure.rs
diff --git a/tests/ui/stable-mir-print/async-closure.stdout b/tests/ui/rustc_public-ir-print/async-closure.stdout
index 31811299722..4afb15af7a9 100644
--- a/tests/ui/stable-mir-print/async-closure.stdout
+++ b/tests/ui/rustc_public-ir-print/async-closure.stdout
@@ -1,4 +1,4 @@
-// WARNING: This is highly experimental output it's intended for stable-mir developers only.
+// WARNING: This is highly experimental output it's intended for rustc_public developers only.
 // If you find a bug or want to improve the output open a issue at https://github.com/rust-lang/project-stable-mir.
 fn foo() -> () {
     let mut _0: ();
diff --git a/tests/ui/stable-mir-print/basic_function.rs b/tests/ui/rustc_public-ir-print/basic_function.rs
index 21469c61f72..21469c61f72 100644
--- a/tests/ui/stable-mir-print/basic_function.rs
+++ b/tests/ui/rustc_public-ir-print/basic_function.rs
diff --git a/tests/ui/stable-mir-print/basic_function.stdout b/tests/ui/rustc_public-ir-print/basic_function.stdout
index 319d9c1dc69..dc885e009e9 100644
--- a/tests/ui/stable-mir-print/basic_function.stdout
+++ b/tests/ui/rustc_public-ir-print/basic_function.stdout
@@ -1,4 +1,4 @@
-// WARNING: This is highly experimental output it's intended for stable-mir developers only.
+// WARNING: This is highly experimental output it's intended for rustc_public developers only.
 // If you find a bug or want to improve the output open a issue at https://github.com/rust-lang/project-stable-mir.
 fn foo(_1: i32) -> i32 {
     let mut _0: i32;
diff --git a/tests/ui/stable-mir-print/operands.rs b/tests/ui/rustc_public-ir-print/operands.rs
index 484ad07cf04..484ad07cf04 100644
--- a/tests/ui/stable-mir-print/operands.rs
+++ b/tests/ui/rustc_public-ir-print/operands.rs
diff --git a/tests/ui/stable-mir-print/operands.stdout b/tests/ui/rustc_public-ir-print/operands.stdout
index 37c5ec1a95e..a4b1c07f3a0 100644
--- a/tests/ui/stable-mir-print/operands.stdout
+++ b/tests/ui/rustc_public-ir-print/operands.stdout
@@ -1,4 +1,4 @@
-// WARNING: This is highly experimental output it's intended for stable-mir developers only.
+// WARNING: This is highly experimental output it's intended for rustc_public developers only.
 // If you find a bug or want to improve the output open a issue at https://github.com/rust-lang/project-stable-mir.
 fn operands(_1: u8) -> () {
     let mut _0: ();
diff --git a/tests/ui/sanitizer/address.rs b/tests/ui/sanitizer/address.rs
index 7a5e767687c..704d84764c1 100644
--- a/tests/ui/sanitizer/address.rs
+++ b/tests/ui/sanitizer/address.rs
@@ -4,7 +4,7 @@
 //
 //@ compile-flags: -Z sanitizer=address -O -g
 //
-//@ run-fail
+//@ run-fail-or-crash
 //@ error-pattern: AddressSanitizer: stack-buffer-overflow
 //@ error-pattern: 'xs' (line 14) <== Memory access at offset
 
diff --git a/tests/ui/sanitizer/badfree.rs b/tests/ui/sanitizer/badfree.rs
index ecbb58eba00..6b3aea7239c 100644
--- a/tests/ui/sanitizer/badfree.rs
+++ b/tests/ui/sanitizer/badfree.rs
@@ -4,7 +4,7 @@
 //
 //@ compile-flags: -Z sanitizer=address -O
 //
-//@ run-fail
+//@ run-fail-or-crash
 //@ regex-error-pattern: AddressSanitizer: (SEGV|attempting free on address which was not malloc)
 
 use std::ffi::c_void;
diff --git a/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs b/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs
index b7dd4a43782..c1a2c2f26ac 100644
--- a/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs
+++ b/tests/ui/sanitizer/new-llvm-pass-manager-thin-lto.rs
@@ -11,7 +11,7 @@
 //@ compile-flags: -Zsanitizer=address -Clto=thin
 //@[opt0]compile-flags: -Copt-level=0
 //@[opt1]compile-flags: -Copt-level=1
-//@ run-fail
+//@ run-fail-or-crash
 //@ error-pattern: ERROR: AddressSanitizer: stack-use-after-scope
 
 static mut P: *mut usize = std::ptr::null_mut();
diff --git a/tests/ui/sanitizer/thread.rs b/tests/ui/sanitizer/thread.rs
index 566774d6b1d..9073124d1bd 100644
--- a/tests/ui/sanitizer/thread.rs
+++ b/tests/ui/sanitizer/thread.rs
@@ -15,7 +15,7 @@
 //
 //@ compile-flags: -Z sanitizer=thread -O
 //
-//@ run-fail
+//@ run-fail-or-crash
 //@ error-pattern: WARNING: ThreadSanitizer: data race
 //@ error-pattern: Location is heap block of size 4
 //@ error-pattern: allocated by main thread
diff --git a/tests/ui/sanitizer/use-after-scope.rs b/tests/ui/sanitizer/use-after-scope.rs
index 4d7f6f6c2f2..106dc6466d6 100644
--- a/tests/ui/sanitizer/use-after-scope.rs
+++ b/tests/ui/sanitizer/use-after-scope.rs
@@ -3,7 +3,7 @@
 //@ ignore-cross-compile
 //
 //@ compile-flags: -Zsanitizer=address
-//@ run-fail
+//@ run-fail-or-crash
 //@ error-pattern: ERROR: AddressSanitizer: stack-use-after-scope
 
 static mut P: *mut usize = std::ptr::null_mut();
diff --git a/tests/ui/simd/generics.rs b/tests/ui/simd/generics.rs
index 1ae08fef7cd..54e76f7bc5d 100644
--- a/tests/ui/simd/generics.rs
+++ b/tests/ui/simd/generics.rs
@@ -2,24 +2,18 @@
 #![allow(non_camel_case_types)]
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_add;
 use std::ops;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct f32x4([f32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct A<const N: usize>([f32; N]);
+type A<const N: usize> = Simd<f32, N>;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct B<T>([T; 4]);
+type B<T> = Simd<T, 4>;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct C<T, const N: usize>([T; N]);
+type C<T, const N: usize> = Simd<T, N>;
 
 fn add<T: ops::Add<Output = T>>(lhs: T, rhs: T) -> T {
     lhs + rhs
@@ -33,48 +27,24 @@ impl ops::Add for f32x4 {
     }
 }
 
-impl ops::Add for A<4> {
-    type Output = Self;
-
-    fn add(self, rhs: Self) -> Self {
-        unsafe { simd_add(self, rhs) }
-    }
-}
-
-impl ops::Add for B<f32> {
-    type Output = Self;
-
-    fn add(self, rhs: Self) -> Self {
-        unsafe { simd_add(self, rhs) }
-    }
-}
-
-impl ops::Add for C<f32, 4> {
-    type Output = Self;
-
-    fn add(self, rhs: Self) -> Self {
-        unsafe { simd_add(self, rhs) }
-    }
-}
-
 pub fn main() {
     let x = [1.0f32, 2.0f32, 3.0f32, 4.0f32];
     let y = [2.0f32, 4.0f32, 6.0f32, 8.0f32];
 
     // lame-o
-    let a = f32x4([1.0f32, 2.0f32, 3.0f32, 4.0f32]);
-    let f32x4([a0, a1, a2, a3]) = add(a, a);
+    let a = f32x4::from_array([1.0f32, 2.0f32, 3.0f32, 4.0f32]);
+    let [a0, a1, a2, a3] = add(a, a).into_array();
     assert_eq!(a0, 2.0f32);
     assert_eq!(a1, 4.0f32);
     assert_eq!(a2, 6.0f32);
     assert_eq!(a3, 8.0f32);
 
-    let a = A(x);
-    assert_eq!(add(a, a).0, y);
+    let a = A::from_array(x);
+    assert_eq!(add(a, a).into_array(), y);
 
-    let b = B(x);
-    assert_eq!(add(b, b).0, y);
+    let b = B::from_array(x);
+    assert_eq!(add(b, b).into_array(), y);
 
-    let c = C(x);
-    assert_eq!(add(c, c).0, y);
+    let c = C::from_array(x);
+    assert_eq!(add(c, c).into_array(), y);
 }
diff --git a/tests/ui/simd/intrinsic/float-math-pass.rs b/tests/ui/simd/intrinsic/float-math-pass.rs
index 01fed8537d0..743aae8d1c3 100644
--- a/tests/ui/simd/intrinsic/float-math-pass.rs
+++ b/tests/ui/simd/intrinsic/float-math-pass.rs
@@ -11,9 +11,9 @@
 #![feature(repr_simd, intrinsics, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct f32x4(pub [f32; 4]);
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
 use std::intrinsics::simd::*;
 
@@ -27,19 +27,19 @@ macro_rules! assert_approx_eq {
     ($a:expr, $b:expr) => {{
         let a = $a;
         let b = $b;
-        assert_approx_eq_f32!(a.0[0], b.0[0]);
-        assert_approx_eq_f32!(a.0[1], b.0[1]);
-        assert_approx_eq_f32!(a.0[2], b.0[2]);
-        assert_approx_eq_f32!(a.0[3], b.0[3]);
+        assert_approx_eq_f32!(a[0], b[0]);
+        assert_approx_eq_f32!(a[1], b[1]);
+        assert_approx_eq_f32!(a[2], b[2]);
+        assert_approx_eq_f32!(a[3], b[3]);
     }};
 }
 
 fn main() {
-    let x = f32x4([1.0, 1.0, 1.0, 1.0]);
-    let y = f32x4([-1.0, -1.0, -1.0, -1.0]);
-    let z = f32x4([0.0, 0.0, 0.0, 0.0]);
+    let x = f32x4::from_array([1.0, 1.0, 1.0, 1.0]);
+    let y = f32x4::from_array([-1.0, -1.0, -1.0, -1.0]);
+    let z = f32x4::from_array([0.0, 0.0, 0.0, 0.0]);
 
-    let h = f32x4([0.5, 0.5, 0.5, 0.5]);
+    let h = f32x4::from_array([0.5, 0.5, 0.5, 0.5]);
 
     unsafe {
         let r = simd_fabs(y);
diff --git a/tests/ui/simd/intrinsic/float-minmax-pass.rs b/tests/ui/simd/intrinsic/float-minmax-pass.rs
index 00c0d8cea3f..12210ba0ad1 100644
--- a/tests/ui/simd/intrinsic/float-minmax-pass.rs
+++ b/tests/ui/simd/intrinsic/float-minmax-pass.rs
@@ -6,15 +6,15 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct f32x4(pub [f32; 4]);
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
 use std::intrinsics::simd::*;
 
 fn main() {
-    let x = f32x4([1.0, 2.0, 3.0, 4.0]);
-    let y = f32x4([2.0, 1.0, 4.0, 3.0]);
+    let x = f32x4::from_array([1.0, 2.0, 3.0, 4.0]);
+    let y = f32x4::from_array([2.0, 1.0, 4.0, 3.0]);
 
     #[cfg(not(any(target_arch = "mips", target_arch = "mips64")))]
     let nan = f32::NAN;
@@ -23,13 +23,13 @@ fn main() {
     #[cfg(any(target_arch = "mips", target_arch = "mips64"))]
     let nan = f32::from_bits(f32::NAN.to_bits() - 1);
 
-    let n = f32x4([nan, nan, nan, nan]);
+    let n = f32x4::from_array([nan, nan, nan, nan]);
 
     unsafe {
         let min0 = simd_fmin(x, y);
         let min1 = simd_fmin(y, x);
         assert_eq!(min0, min1);
-        let e = f32x4([1.0, 1.0, 3.0, 3.0]);
+        let e = f32x4::from_array([1.0, 1.0, 3.0, 3.0]);
         assert_eq!(min0, e);
         let minn = simd_fmin(x, n);
         assert_eq!(minn, x);
@@ -39,7 +39,7 @@ fn main() {
         let max0 = simd_fmax(x, y);
         let max1 = simd_fmax(y, x);
         assert_eq!(max0, max1);
-        let e = f32x4([2.0, 2.0, 4.0, 4.0]);
+        let e = f32x4::from_array([2.0, 2.0, 4.0, 4.0]);
         assert_eq!(max0, e);
         let maxn = simd_fmax(x, n);
         assert_eq!(maxn, x);
diff --git a/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs b/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
index 4c97fb2141d..bf38a8b1720 100644
--- a/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
@@ -2,80 +2,77 @@
 #![allow(non_camel_case_types)]
 #![feature(repr_simd, core_intrinsics)]
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct i32x4(pub [i32; 4]);
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct U32<const N: usize>([u32; N]);
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct f32x4(pub [f32; 4]);
+type U32<const N: usize> = Simd<u32, N>;
 
 macro_rules! all_eq {
-    ($a: expr, $b: expr) => {{
+    ($a: expr, $b: expr $(,)?) => {{
         let a = $a;
         let b = $b;
-        assert!(a.0 == b.0);
+        assert!(a == b);
     }};
 }
 
 use std::intrinsics::simd::*;
 
 fn main() {
-    let x1 = i32x4([1, 2, 3, 4]);
-    let y1 = U32::<4>([1, 2, 3, 4]);
-    let z1 = f32x4([1.0, 2.0, 3.0, 4.0]);
-    let x2 = i32x4([2, 3, 4, 5]);
-    let y2 = U32::<4>([2, 3, 4, 5]);
-    let z2 = f32x4([2.0, 3.0, 4.0, 5.0]);
-    let x3 = i32x4([0, i32::MAX, i32::MIN, -1_i32]);
-    let y3 = U32::<4>([0, i32::MAX as _, i32::MIN as _, -1_i32 as _]);
+    let x1 = i32x4::from_array([1, 2, 3, 4]);
+    let y1 = U32::<4>::from_array([1, 2, 3, 4]);
+    let z1 = f32x4::from_array([1.0, 2.0, 3.0, 4.0]);
+    let x2 = i32x4::from_array([2, 3, 4, 5]);
+    let y2 = U32::<4>::from_array([2, 3, 4, 5]);
+    let z2 = f32x4::from_array([2.0, 3.0, 4.0, 5.0]);
+    let x3 = i32x4::from_array([0, i32::MAX, i32::MIN, -1_i32]);
+    let y3 = U32::<4>::from_array([0, i32::MAX as _, i32::MIN as _, -1_i32 as _]);
 
     unsafe {
-        all_eq!(simd_add(x1, x2), i32x4([3, 5, 7, 9]));
-        all_eq!(simd_add(x2, x1), i32x4([3, 5, 7, 9]));
-        all_eq!(simd_add(y1, y2), U32::<4>([3, 5, 7, 9]));
-        all_eq!(simd_add(y2, y1), U32::<4>([3, 5, 7, 9]));
-        all_eq!(simd_add(z1, z2), f32x4([3.0, 5.0, 7.0, 9.0]));
-        all_eq!(simd_add(z2, z1), f32x4([3.0, 5.0, 7.0, 9.0]));
-
-        all_eq!(simd_mul(x1, x2), i32x4([2, 6, 12, 20]));
-        all_eq!(simd_mul(x2, x1), i32x4([2, 6, 12, 20]));
-        all_eq!(simd_mul(y1, y2), U32::<4>([2, 6, 12, 20]));
-        all_eq!(simd_mul(y2, y1), U32::<4>([2, 6, 12, 20]));
-        all_eq!(simd_mul(z1, z2), f32x4([2.0, 6.0, 12.0, 20.0]));
-        all_eq!(simd_mul(z2, z1), f32x4([2.0, 6.0, 12.0, 20.0]));
-
-        all_eq!(simd_sub(x2, x1), i32x4([1, 1, 1, 1]));
-        all_eq!(simd_sub(x1, x2), i32x4([-1, -1, -1, -1]));
-        all_eq!(simd_sub(y2, y1), U32::<4>([1, 1, 1, 1]));
-        all_eq!(simd_sub(y1, y2), U32::<4>([!0, !0, !0, !0]));
-        all_eq!(simd_sub(z2, z1), f32x4([1.0, 1.0, 1.0, 1.0]));
-        all_eq!(simd_sub(z1, z2), f32x4([-1.0, -1.0, -1.0, -1.0]));
-
-        all_eq!(simd_div(x1, x1), i32x4([1, 1, 1, 1]));
-        all_eq!(simd_div(i32x4([2, 4, 6, 8]), i32x4([2, 2, 2, 2])), x1);
-        all_eq!(simd_div(y1, y1), U32::<4>([1, 1, 1, 1]));
-        all_eq!(simd_div(U32::<4>([2, 4, 6, 8]), U32::<4>([2, 2, 2, 2])), y1);
-        all_eq!(simd_div(z1, z1), f32x4([1.0, 1.0, 1.0, 1.0]));
-        all_eq!(simd_div(z1, z2), f32x4([1.0 / 2.0, 2.0 / 3.0, 3.0 / 4.0, 4.0 / 5.0]));
-        all_eq!(simd_div(z2, z1), f32x4([2.0 / 1.0, 3.0 / 2.0, 4.0 / 3.0, 5.0 / 4.0]));
-
-        all_eq!(simd_rem(x1, x1), i32x4([0, 0, 0, 0]));
-        all_eq!(simd_rem(x2, x1), i32x4([0, 1, 1, 1]));
-        all_eq!(simd_rem(y1, y1), U32::<4>([0, 0, 0, 0]));
-        all_eq!(simd_rem(y2, y1), U32::<4>([0, 1, 1, 1]));
-        all_eq!(simd_rem(z1, z1), f32x4([0.0, 0.0, 0.0, 0.0]));
+        all_eq!(simd_add(x1, x2), i32x4::from_array([3, 5, 7, 9]));
+        all_eq!(simd_add(x2, x1), i32x4::from_array([3, 5, 7, 9]));
+        all_eq!(simd_add(y1, y2), U32::<4>::from_array([3, 5, 7, 9]));
+        all_eq!(simd_add(y2, y1), U32::<4>::from_array([3, 5, 7, 9]));
+        all_eq!(simd_add(z1, z2), f32x4::from_array([3.0, 5.0, 7.0, 9.0]));
+        all_eq!(simd_add(z2, z1), f32x4::from_array([3.0, 5.0, 7.0, 9.0]));
+
+        all_eq!(simd_mul(x1, x2), i32x4::from_array([2, 6, 12, 20]));
+        all_eq!(simd_mul(x2, x1), i32x4::from_array([2, 6, 12, 20]));
+        all_eq!(simd_mul(y1, y2), U32::<4>::from_array([2, 6, 12, 20]));
+        all_eq!(simd_mul(y2, y1), U32::<4>::from_array([2, 6, 12, 20]));
+        all_eq!(simd_mul(z1, z2), f32x4::from_array([2.0, 6.0, 12.0, 20.0]));
+        all_eq!(simd_mul(z2, z1), f32x4::from_array([2.0, 6.0, 12.0, 20.0]));
+
+        all_eq!(simd_sub(x2, x1), i32x4::from_array([1, 1, 1, 1]));
+        all_eq!(simd_sub(x1, x2), i32x4::from_array([-1, -1, -1, -1]));
+        all_eq!(simd_sub(y2, y1), U32::<4>::from_array([1, 1, 1, 1]));
+        all_eq!(simd_sub(y1, y2), U32::<4>::from_array([!0, !0, !0, !0]));
+        all_eq!(simd_sub(z2, z1), f32x4::from_array([1.0, 1.0, 1.0, 1.0]));
+        all_eq!(simd_sub(z1, z2), f32x4::from_array([-1.0, -1.0, -1.0, -1.0]));
+
+        all_eq!(simd_div(x1, x1), i32x4::from_array([1, 1, 1, 1]));
+        all_eq!(simd_div(i32x4::from_array([2, 4, 6, 8]), i32x4::from_array([2, 2, 2, 2])), x1);
+        all_eq!(simd_div(y1, y1), U32::<4>::from_array([1, 1, 1, 1]));
+        all_eq!(
+            simd_div(U32::<4>::from_array([2, 4, 6, 8]), U32::<4>::from_array([2, 2, 2, 2])),
+            y1,
+        );
+        all_eq!(simd_div(z1, z1), f32x4::from_array([1.0, 1.0, 1.0, 1.0]));
+        all_eq!(simd_div(z1, z2), f32x4::from_array([1.0 / 2.0, 2.0 / 3.0, 3.0 / 4.0, 4.0 / 5.0]));
+        all_eq!(simd_div(z2, z1), f32x4::from_array([2.0 / 1.0, 3.0 / 2.0, 4.0 / 3.0, 5.0 / 4.0]));
+
+        all_eq!(simd_rem(x1, x1), i32x4::from_array([0, 0, 0, 0]));
+        all_eq!(simd_rem(x2, x1), i32x4::from_array([0, 1, 1, 1]));
+        all_eq!(simd_rem(y1, y1), U32::<4>::from_array([0, 0, 0, 0]));
+        all_eq!(simd_rem(y2, y1), U32::<4>::from_array([0, 1, 1, 1]));
+        all_eq!(simd_rem(z1, z1), f32x4::from_array([0.0, 0.0, 0.0, 0.0]));
         all_eq!(simd_rem(z1, z2), z1);
-        all_eq!(simd_rem(z2, z1), f32x4([0.0, 1.0, 1.0, 1.0]));
+        all_eq!(simd_rem(z2, z1), f32x4::from_array([0.0, 1.0, 1.0, 1.0]));
 
-        all_eq!(simd_shl(x1, x2), i32x4([1 << 2, 2 << 3, 3 << 4, 4 << 5]));
-        all_eq!(simd_shl(x2, x1), i32x4([2 << 1, 3 << 2, 4 << 3, 5 << 4]));
-        all_eq!(simd_shl(y1, y2), U32::<4>([1 << 2, 2 << 3, 3 << 4, 4 << 5]));
-        all_eq!(simd_shl(y2, y1), U32::<4>([2 << 1, 3 << 2, 4 << 3, 5 << 4]));
+        all_eq!(simd_shl(x1, x2), i32x4::from_array([1 << 2, 2 << 3, 3 << 4, 4 << 5]));
+        all_eq!(simd_shl(x2, x1), i32x4::from_array([2 << 1, 3 << 2, 4 << 3, 5 << 4]));
+        all_eq!(simd_shl(y1, y2), U32::<4>::from_array([1 << 2, 2 << 3, 3 << 4, 4 << 5]));
+        all_eq!(simd_shl(y2, y1), U32::<4>::from_array([2 << 1, 3 << 2, 4 << 3, 5 << 4]));
 
         // test right-shift by assuming left-shift is correct
         all_eq!(simd_shr(simd_shl(x1, x2), x2), x1);
@@ -85,7 +82,7 @@ fn main() {
 
         all_eq!(
             simd_funnel_shl(x1, x2, x1),
-            i32x4([
+            i32x4::from_array([
                 (1 << 1) | (2 >> 31),
                 (2 << 2) | (3 >> 30),
                 (3 << 3) | (4 >> 29),
@@ -94,7 +91,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shl(x2, x1, x1),
-            i32x4([
+            i32x4::from_array([
                 (2 << 1) | (1 >> 31),
                 (3 << 2) | (2 >> 30),
                 (4 << 3) | (3 >> 29),
@@ -103,7 +100,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shl(y1, y2, y1),
-            U32::<4>([
+            U32::<4>::from_array([
                 (1 << 1) | (2 >> 31),
                 (2 << 2) | (3 >> 30),
                 (3 << 3) | (4 >> 29),
@@ -112,7 +109,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shl(y2, y1, y1),
-            U32::<4>([
+            U32::<4>::from_array([
                 (2 << 1) | (1 >> 31),
                 (3 << 2) | (2 >> 30),
                 (4 << 3) | (3 >> 29),
@@ -122,7 +119,7 @@ fn main() {
 
         all_eq!(
             simd_funnel_shr(x1, x2, x1),
-            i32x4([
+            i32x4::from_array([
                 (1 << 31) | (2 >> 1),
                 (2 << 30) | (3 >> 2),
                 (3 << 29) | (4 >> 3),
@@ -131,7 +128,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shr(x2, x1, x1),
-            i32x4([
+            i32x4::from_array([
                 (2 << 31) | (1 >> 1),
                 (3 << 30) | (2 >> 2),
                 (4 << 29) | (3 >> 3),
@@ -140,7 +137,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shr(y1, y2, y1),
-            U32::<4>([
+            U32::<4>::from_array([
                 (1 << 31) | (2 >> 1),
                 (2 << 30) | (3 >> 2),
                 (3 << 29) | (4 >> 3),
@@ -149,7 +146,7 @@ fn main() {
         );
         all_eq!(
             simd_funnel_shr(y2, y1, y1),
-            U32::<4>([
+            U32::<4>::from_array([
                 (2 << 31) | (1 >> 1),
                 (3 << 30) | (2 >> 2),
                 (4 << 29) | (3 >> 3),
@@ -159,52 +156,69 @@ fn main() {
 
         // ensure we get logical vs. arithmetic shifts correct
         let (a, b, c, d) = (-12, -123, -1234, -12345);
-        all_eq!(simd_shr(i32x4([a, b, c, d]), x1), i32x4([a >> 1, b >> 2, c >> 3, d >> 4]));
         all_eq!(
-            simd_shr(U32::<4>([a as u32, b as u32, c as u32, d as u32]), y1),
-            U32::<4>([(a as u32) >> 1, (b as u32) >> 2, (c as u32) >> 3, (d as u32) >> 4])
+            simd_shr(i32x4::from_array([a, b, c, d]), x1),
+            i32x4::from_array([a >> 1, b >> 2, c >> 3, d >> 4]),
+        );
+        all_eq!(
+            simd_shr(U32::<4>::from_array([a as u32, b as u32, c as u32, d as u32]), y1),
+            U32::<4>::from_array([
+                (a as u32) >> 1,
+                (b as u32) >> 2,
+                (c as u32) >> 3,
+                (d as u32) >> 4,
+            ]),
         );
 
-        all_eq!(simd_and(x1, x2), i32x4([0, 2, 0, 4]));
-        all_eq!(simd_and(x2, x1), i32x4([0, 2, 0, 4]));
-        all_eq!(simd_and(y1, y2), U32::<4>([0, 2, 0, 4]));
-        all_eq!(simd_and(y2, y1), U32::<4>([0, 2, 0, 4]));
+        all_eq!(simd_and(x1, x2), i32x4::from_array([0, 2, 0, 4]));
+        all_eq!(simd_and(x2, x1), i32x4::from_array([0, 2, 0, 4]));
+        all_eq!(simd_and(y1, y2), U32::<4>::from_array([0, 2, 0, 4]));
+        all_eq!(simd_and(y2, y1), U32::<4>::from_array([0, 2, 0, 4]));
 
-        all_eq!(simd_or(x1, x2), i32x4([3, 3, 7, 5]));
-        all_eq!(simd_or(x2, x1), i32x4([3, 3, 7, 5]));
-        all_eq!(simd_or(y1, y2), U32::<4>([3, 3, 7, 5]));
-        all_eq!(simd_or(y2, y1), U32::<4>([3, 3, 7, 5]));
+        all_eq!(simd_or(x1, x2), i32x4::from_array([3, 3, 7, 5]));
+        all_eq!(simd_or(x2, x1), i32x4::from_array([3, 3, 7, 5]));
+        all_eq!(simd_or(y1, y2), U32::<4>::from_array([3, 3, 7, 5]));
+        all_eq!(simd_or(y2, y1), U32::<4>::from_array([3, 3, 7, 5]));
 
-        all_eq!(simd_xor(x1, x2), i32x4([3, 1, 7, 1]));
-        all_eq!(simd_xor(x2, x1), i32x4([3, 1, 7, 1]));
-        all_eq!(simd_xor(y1, y2), U32::<4>([3, 1, 7, 1]));
-        all_eq!(simd_xor(y2, y1), U32::<4>([3, 1, 7, 1]));
+        all_eq!(simd_xor(x1, x2), i32x4::from_array([3, 1, 7, 1]));
+        all_eq!(simd_xor(x2, x1), i32x4::from_array([3, 1, 7, 1]));
+        all_eq!(simd_xor(y1, y2), U32::<4>::from_array([3, 1, 7, 1]));
+        all_eq!(simd_xor(y2, y1), U32::<4>::from_array([3, 1, 7, 1]));
 
-        all_eq!(simd_neg(x1), i32x4([-1, -2, -3, -4]));
-        all_eq!(simd_neg(x2), i32x4([-2, -3, -4, -5]));
-        all_eq!(simd_neg(z1), f32x4([-1.0, -2.0, -3.0, -4.0]));
-        all_eq!(simd_neg(z2), f32x4([-2.0, -3.0, -4.0, -5.0]));
+        all_eq!(simd_neg(x1), i32x4::from_array([-1, -2, -3, -4]));
+        all_eq!(simd_neg(x2), i32x4::from_array([-2, -3, -4, -5]));
+        all_eq!(simd_neg(z1), f32x4::from_array([-1.0, -2.0, -3.0, -4.0]));
+        all_eq!(simd_neg(z2), f32x4::from_array([-2.0, -3.0, -4.0, -5.0]));
 
-        all_eq!(simd_bswap(x1), i32x4([0x01000000, 0x02000000, 0x03000000, 0x04000000]));
-        all_eq!(simd_bswap(y1), U32::<4>([0x01000000, 0x02000000, 0x03000000, 0x04000000]));
+        all_eq!(
+            simd_bswap(x1),
+            i32x4::from_array([0x01000000, 0x02000000, 0x03000000, 0x04000000]),
+        );
+        all_eq!(
+            simd_bswap(y1),
+            U32::<4>::from_array([0x01000000, 0x02000000, 0x03000000, 0x04000000]),
+        );
 
         all_eq!(
             simd_bitreverse(x1),
-            i32x4([0x80000000u32 as i32, 0x40000000, 0xc0000000u32 as i32, 0x20000000])
+            i32x4::from_array([0x80000000u32 as i32, 0x40000000, 0xc0000000u32 as i32, 0x20000000])
+        );
+        all_eq!(
+            simd_bitreverse(y1),
+            U32::<4>::from_array([0x80000000, 0x40000000, 0xc0000000, 0x20000000]),
         );
-        all_eq!(simd_bitreverse(y1), U32::<4>([0x80000000, 0x40000000, 0xc0000000, 0x20000000]));
 
-        all_eq!(simd_ctlz(x1), i32x4([31, 30, 30, 29]));
-        all_eq!(simd_ctlz(y1), U32::<4>([31, 30, 30, 29]));
+        all_eq!(simd_ctlz(x1), i32x4::from_array([31, 30, 30, 29]));
+        all_eq!(simd_ctlz(y1), U32::<4>::from_array([31, 30, 30, 29]));
 
-        all_eq!(simd_ctpop(x1), i32x4([1, 1, 2, 1]));
-        all_eq!(simd_ctpop(y1), U32::<4>([1, 1, 2, 1]));
-        all_eq!(simd_ctpop(x2), i32x4([1, 2, 1, 2]));
-        all_eq!(simd_ctpop(y2), U32::<4>([1, 2, 1, 2]));
-        all_eq!(simd_ctpop(x3), i32x4([0, 31, 1, 32]));
-        all_eq!(simd_ctpop(y3), U32::<4>([0, 31, 1, 32]));
+        all_eq!(simd_ctpop(x1), i32x4::from_array([1, 1, 2, 1]));
+        all_eq!(simd_ctpop(y1), U32::<4>::from_array([1, 1, 2, 1]));
+        all_eq!(simd_ctpop(x2), i32x4::from_array([1, 2, 1, 2]));
+        all_eq!(simd_ctpop(y2), U32::<4>::from_array([1, 2, 1, 2]));
+        all_eq!(simd_ctpop(x3), i32x4::from_array([0, 31, 1, 32]));
+        all_eq!(simd_ctpop(y3), U32::<4>::from_array([0, 31, 1, 32]));
 
-        all_eq!(simd_cttz(x1), i32x4([0, 1, 0, 2]));
-        all_eq!(simd_cttz(y1), U32::<4>([0, 1, 0, 2]));
+        all_eq!(simd_cttz(x1), i32x4::from_array([0, 1, 0, 2]));
+        all_eq!(simd_cttz(y1), U32::<4>::from_array([0, 1, 0, 2]));
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs b/tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs
index 4d12a312331..a997f123703 100644
--- a/tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs
@@ -4,26 +4,24 @@
 #![allow(non_camel_case_types)]
 #![feature(repr_simd, core_intrinsics)]
 
-use std::intrinsics::simd::{simd_saturating_add, simd_saturating_sub};
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct u32x4(pub [u32; 4]);
+use std::intrinsics::simd::{simd_saturating_add, simd_saturating_sub};
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct I32<const N: usize>([i32; N]);
+type I32<const N: usize> = Simd<i32, N>;
 
 fn main() {
     // unsigned
     {
         const M: u32 = u32::MAX;
 
-        let a = u32x4([1, 2, 3, 4]);
-        let b = u32x4([2, 4, 6, 8]);
-        let m = u32x4([M, M, M, M]);
-        let m1 = u32x4([M - 1, M - 1, M - 1, M - 1]);
-        let z = u32x4([0, 0, 0, 0]);
+        let a = u32x4::from_array([1, 2, 3, 4]);
+        let b = u32x4::from_array([2, 4, 6, 8]);
+        let m = u32x4::from_array([M, M, M, M]);
+        let m1 = u32x4::from_array([M - 1, M - 1, M - 1, M - 1]);
+        let z = u32x4::from_array([0, 0, 0, 0]);
 
         unsafe {
             assert_eq!(simd_saturating_add(z, z), z);
@@ -48,41 +46,41 @@ fn main() {
         const MIN: i32 = i32::MIN;
         const MAX: i32 = i32::MAX;
 
-        let a = I32::<4>([1, 2, 3, 4]);
-        let b = I32::<4>([2, 4, 6, 8]);
-        let c = I32::<4>([-1, -2, -3, -4]);
-        let d = I32::<4>([-2, -4, -6, -8]);
+        let a = I32::<4>::from_array([1, 2, 3, 4]);
+        let b = I32::<4>::from_array([2, 4, 6, 8]);
+        let c = I32::<4>::from_array([-1, -2, -3, -4]);
+        let d = I32::<4>::from_array([-2, -4, -6, -8]);
 
-        let max = I32::<4>([MAX, MAX, MAX, MAX]);
-        let max1 = I32::<4>([MAX - 1, MAX - 1, MAX - 1, MAX - 1]);
-        let min = I32::<4>([MIN, MIN, MIN, MIN]);
-        let min1 = I32::<4>([MIN + 1, MIN + 1, MIN + 1, MIN + 1]);
+        let max = I32::<4>::from_array([MAX, MAX, MAX, MAX]);
+        let max1 = I32::<4>::from_array([MAX - 1, MAX - 1, MAX - 1, MAX - 1]);
+        let min = I32::<4>::from_array([MIN, MIN, MIN, MIN]);
+        let min1 = I32::<4>::from_array([MIN + 1, MIN + 1, MIN + 1, MIN + 1]);
 
-        let z = I32::<4>([0, 0, 0, 0]);
+        let z = I32::<4>::from_array([0, 0, 0, 0]);
 
         unsafe {
-            assert_eq!(simd_saturating_add(z, z).0, z.0);
-            assert_eq!(simd_saturating_add(z, a).0, a.0);
-            assert_eq!(simd_saturating_add(b, z).0, b.0);
-            assert_eq!(simd_saturating_add(a, a).0, b.0);
-            assert_eq!(simd_saturating_add(a, max).0, max.0);
-            assert_eq!(simd_saturating_add(max, b).0, max.0);
-            assert_eq!(simd_saturating_add(max1, a).0, max.0);
-            assert_eq!(simd_saturating_add(min1, z).0, min1.0);
-            assert_eq!(simd_saturating_add(min, z).0, min.0);
-            assert_eq!(simd_saturating_add(min1, c).0, min.0);
-            assert_eq!(simd_saturating_add(min, c).0, min.0);
-            assert_eq!(simd_saturating_add(min1, d).0, min.0);
-            assert_eq!(simd_saturating_add(min, d).0, min.0);
+            assert_eq!(simd_saturating_add(z, z), z);
+            assert_eq!(simd_saturating_add(z, a), a);
+            assert_eq!(simd_saturating_add(b, z), b);
+            assert_eq!(simd_saturating_add(a, a), b);
+            assert_eq!(simd_saturating_add(a, max), max);
+            assert_eq!(simd_saturating_add(max, b), max);
+            assert_eq!(simd_saturating_add(max1, a), max);
+            assert_eq!(simd_saturating_add(min1, z), min1);
+            assert_eq!(simd_saturating_add(min, z), min);
+            assert_eq!(simd_saturating_add(min1, c), min);
+            assert_eq!(simd_saturating_add(min, c), min);
+            assert_eq!(simd_saturating_add(min1, d), min);
+            assert_eq!(simd_saturating_add(min, d), min);
 
-            assert_eq!(simd_saturating_sub(b, z).0, b.0);
-            assert_eq!(simd_saturating_sub(b, a).0, a.0);
-            assert_eq!(simd_saturating_sub(a, a).0, z.0);
-            assert_eq!(simd_saturating_sub(a, b).0, c.0);
-            assert_eq!(simd_saturating_sub(z, max).0, min1.0);
-            assert_eq!(simd_saturating_sub(min1, z).0, min1.0);
-            assert_eq!(simd_saturating_sub(min1, a).0, min.0);
-            assert_eq!(simd_saturating_sub(min1, b).0, min.0);
+            assert_eq!(simd_saturating_sub(b, z), b);
+            assert_eq!(simd_saturating_sub(b, a), a);
+            assert_eq!(simd_saturating_sub(a, a), z);
+            assert_eq!(simd_saturating_sub(a, b), c);
+            assert_eq!(simd_saturating_sub(z, max), min1);
+            assert_eq!(simd_saturating_sub(min1, z), min1);
+            assert_eq!(simd_saturating_sub(min1, a), min);
+            assert_eq!(simd_saturating_sub(min1, b), min);
         }
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-as.rs b/tests/ui/simd/intrinsic/generic-as.rs
index da53211cbc7..f9ed416b6ff 100644
--- a/tests/ui/simd/intrinsic/generic-as.rs
+++ b/tests/ui/simd/intrinsic/generic-as.rs
@@ -2,45 +2,47 @@
 
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_as;
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct V<T>([T; 2]);
+type V<T> = Simd<T, 2>;
 
 fn main() {
     unsafe {
-        let u = V::<u32>([u32::MIN, u32::MAX]);
+        let u: V::<u32> = Simd([u32::MIN, u32::MAX]);
         let i: V<i16> = simd_as(u);
-        assert_eq!(i.0[0], u.0[0] as i16);
-        assert_eq!(i.0[1], u.0[1] as i16);
+        assert_eq!(i[0], u[0] as i16);
+        assert_eq!(i[1], u[1] as i16);
     }
 
     unsafe {
-        let f = V::<f32>([f32::MIN, f32::MAX]);
+        let f: V::<f32> = Simd([f32::MIN, f32::MAX]);
         let i: V<i16> = simd_as(f);
-        assert_eq!(i.0[0], f.0[0] as i16);
-        assert_eq!(i.0[1], f.0[1] as i16);
+        assert_eq!(i[0], f[0] as i16);
+        assert_eq!(i[1], f[1] as i16);
     }
 
     unsafe {
-        let f = V::<f32>([f32::MIN, f32::MAX]);
+        let f: V::<f32> = Simd([f32::MIN, f32::MAX]);
         let u: V<u8> = simd_as(f);
-        assert_eq!(u.0[0], f.0[0] as u8);
-        assert_eq!(u.0[1], f.0[1] as u8);
+        assert_eq!(u[0], f[0] as u8);
+        assert_eq!(u[1], f[1] as u8);
     }
 
     unsafe {
-        let f = V::<f64>([f64::MIN, f64::MAX]);
+        let f: V::<f64> = Simd([f64::MIN, f64::MAX]);
         let i: V<isize> = simd_as(f);
-        assert_eq!(i.0[0], f.0[0] as isize);
-        assert_eq!(i.0[1], f.0[1] as isize);
+        assert_eq!(i[0], f[0] as isize);
+        assert_eq!(i[1], f[1] as isize);
     }
 
     unsafe {
-        let f = V::<f64>([f64::MIN, f64::MAX]);
+        let f: V::<f64> = Simd([f64::MIN, f64::MAX]);
         let u: V<usize> = simd_as(f);
-        assert_eq!(u.0[0], f.0[0] as usize);
-        assert_eq!(u.0[1], f.0[1] as usize);
+        assert_eq!(u[0], f[0] as usize);
+        assert_eq!(u[1], f[1] as usize);
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-bswap-byte.rs b/tests/ui/simd/intrinsic/generic-bswap-byte.rs
index 903a07656a7..d30a560b1c2 100644
--- a/tests/ui/simd/intrinsic/generic-bswap-byte.rs
+++ b/tests/ui/simd/intrinsic/generic-bswap-byte.rs
@@ -2,19 +2,15 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_bswap;
-
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct i8x4([i8; 4]);
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct u8x4([u8; 4]);
+use std::intrinsics::simd::simd_bswap;
 
 fn main() {
     unsafe {
-        assert_eq!(simd_bswap(i8x4([0, 1, 2, 3])).0, [0, 1, 2, 3]);
-        assert_eq!(simd_bswap(u8x4([0, 1, 2, 3])).0, [0, 1, 2, 3]);
+        assert_eq!(simd_bswap(i8x4::from_array([0, 1, 2, 3])).into_array(), [0, 1, 2, 3]);
+        assert_eq!(simd_bswap(u8x4::from_array([0, 1, 2, 3])).into_array(), [0, 1, 2, 3]);
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-cast-pass.rs b/tests/ui/simd/intrinsic/generic-cast-pass.rs
index 7a4663bcad2..0c3b00d65bf 100644
--- a/tests/ui/simd/intrinsic/generic-cast-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-cast-pass.rs
@@ -2,55 +2,57 @@
 
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_cast;
 
 use std::cmp::{max, min};
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct V<T>([T; 2]);
+type V<T> = Simd<T, 2>;
 
 fn main() {
     unsafe {
-        let u = V::<u32>([i16::MIN as u32, i16::MAX as u32]);
+        let u: V::<u32> = Simd([i16::MIN as u32, i16::MAX as u32]);
         let i: V<i16> = simd_cast(u);
-        assert_eq!(i.0[0], u.0[0] as i16);
-        assert_eq!(i.0[1], u.0[1] as i16);
+        assert_eq!(i[0], u[0] as i16);
+        assert_eq!(i[1], u[1] as i16);
     }
 
     unsafe {
-        let f = V::<f32>([i16::MIN as f32, i16::MAX as f32]);
+        let f: V::<f32> = Simd([i16::MIN as f32, i16::MAX as f32]);
         let i: V<i16> = simd_cast(f);
-        assert_eq!(i.0[0], f.0[0] as i16);
-        assert_eq!(i.0[1], f.0[1] as i16);
+        assert_eq!(i[0], f[0] as i16);
+        assert_eq!(i[1], f[1] as i16);
     }
 
     unsafe {
-        let f = V::<f32>([u8::MIN as f32, u8::MAX as f32]);
+        let f: V::<f32> = Simd([u8::MIN as f32, u8::MAX as f32]);
         let u: V<u8> = simd_cast(f);
-        assert_eq!(u.0[0], f.0[0] as u8);
-        assert_eq!(u.0[1], f.0[1] as u8);
+        assert_eq!(u[0], f[0] as u8);
+        assert_eq!(u[1], f[1] as u8);
     }
 
     unsafe {
         // We would like to do isize::MIN..=isize::MAX, but those values are not representable in
         // an f64, so we clamp to the range of an i32 to prevent running into UB.
-        let f = V::<f64>([
+        let f: V::<f64> = Simd([
             max(isize::MIN, i32::MIN as isize) as f64,
             min(isize::MAX, i32::MAX as isize) as f64,
         ]);
         let i: V<isize> = simd_cast(f);
-        assert_eq!(i.0[0], f.0[0] as isize);
-        assert_eq!(i.0[1], f.0[1] as isize);
+        assert_eq!(i[0], f[0] as isize);
+        assert_eq!(i[1], f[1] as isize);
     }
 
     unsafe {
-        let f = V::<f64>([
+        let f: V::<f64> = Simd([
             max(usize::MIN, u32::MIN as usize) as f64,
             min(usize::MAX, u32::MAX as usize) as f64,
         ]);
         let u: V<usize> = simd_cast(f);
-        assert_eq!(u.0[0], f.0[0] as usize);
-        assert_eq!(u.0[1], f.0[1] as usize);
+        assert_eq!(u[0], f[0] as usize);
+        assert_eq!(u[1], f[1] as usize);
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-cast-pointer-width.rs b/tests/ui/simd/intrinsic/generic-cast-pointer-width.rs
index ea34e9ffeb8..594d1d25d16 100644
--- a/tests/ui/simd/intrinsic/generic-cast-pointer-width.rs
+++ b/tests/ui/simd/intrinsic/generic-cast-pointer-width.rs
@@ -1,18 +1,24 @@
 //@ run-pass
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_cast;
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct V<T>([T; 4]);
+type V<T> = Simd<T, 4>;
 
 fn main() {
-    let u = V::<usize>([0, 1, 2, 3]);
+    let u: V::<usize> = Simd([0, 1, 2, 3]);
     let uu32: V<u32> = unsafe { simd_cast(u) };
     let ui64: V<i64> = unsafe { simd_cast(u) };
 
-    for (u, (uu32, ui64)) in u.0.iter().zip(uu32.0.iter().zip(ui64.0.iter())) {
+    for (u, (uu32, ui64)) in u
+        .as_array()
+        .iter()
+        .zip(uu32.as_array().iter().zip(ui64.as_array().iter()))
+    {
         assert_eq!(*u as u32, *uu32);
         assert_eq!(*u as i64, *ui64);
     }
diff --git a/tests/ui/simd/intrinsic/generic-comparison-pass.rs b/tests/ui/simd/intrinsic/generic-comparison-pass.rs
index 50a05eecb03..3e803e8f603 100644
--- a/tests/ui/simd/intrinsic/generic-comparison-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-comparison-pass.rs
@@ -3,17 +3,11 @@
 #![feature(repr_simd, core_intrinsics, macro_metavar_expr_concat)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::{simd_eq, simd_ge, simd_gt, simd_le, simd_lt, simd_ne};
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct i32x4([i32; 4]);
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct u32x4(pub [u32; 4]);
-#[repr(simd)]
-#[derive(Copy, Clone)]
-struct f32x4(pub [f32; 4]);
+use std::intrinsics::simd::{simd_eq, simd_ge, simd_gt, simd_le, simd_lt, simd_ne};
 
 macro_rules! cmp {
     ($method: ident($lhs: expr, $rhs: expr)) => {{
@@ -21,10 +15,11 @@ macro_rules! cmp {
         let rhs = $rhs;
         let e: u32x4 = ${concat(simd_, $method)}($lhs, $rhs);
         // assume the scalar version is correct/the behaviour we want.
-        assert!((e.0[0] != 0) == lhs.0[0].$method(&rhs.0[0]));
-        assert!((e.0[1] != 0) == lhs.0[1].$method(&rhs.0[1]));
-        assert!((e.0[2] != 0) == lhs.0[2].$method(&rhs.0[2]));
-        assert!((e.0[3] != 0) == lhs.0[3].$method(&rhs.0[3]));
+        let (lhs, rhs, e) = (lhs.as_array(), rhs.as_array(), e.as_array());
+        assert!((e[0] != 0) == lhs[0].$method(&rhs[0]));
+        assert!((e[1] != 0) == lhs[1].$method(&rhs[1]));
+        assert!((e[2] != 0) == lhs[2].$method(&rhs[2]));
+        assert!((e[3] != 0) == lhs[3].$method(&rhs[3]));
     }};
 }
 macro_rules! tests {
@@ -53,17 +48,17 @@ macro_rules! tests {
 fn main() {
     // 13 vs. -100 tests that we get signed vs. unsigned comparisons
     // correct (i32: 13 > -100, u32: 13 < -100).    let i1 = i32x4(10, -11, 12, 13);
-    let i1 = i32x4([10, -11, 12, 13]);
-    let i2 = i32x4([5, -5, 20, -100]);
-    let i3 = i32x4([10, -11, 20, -100]);
+    let i1 = i32x4::from_array([10, -11, 12, 13]);
+    let i2 = i32x4::from_array([5, -5, 20, -100]);
+    let i3 = i32x4::from_array([10, -11, 20, -100]);
 
-    let u1 = u32x4([10, !11 + 1, 12, 13]);
-    let u2 = u32x4([5, !5 + 1, 20, !100 + 1]);
-    let u3 = u32x4([10, !11 + 1, 20, !100 + 1]);
+    let u1 = u32x4::from_array([10, !11 + 1, 12, 13]);
+    let u2 = u32x4::from_array([5, !5 + 1, 20, !100 + 1]);
+    let u3 = u32x4::from_array([10, !11 + 1, 20, !100 + 1]);
 
-    let f1 = f32x4([10.0, -11.0, 12.0, 13.0]);
-    let f2 = f32x4([5.0, -5.0, 20.0, -100.0]);
-    let f3 = f32x4([10.0, -11.0, 20.0, -100.0]);
+    let f1 = f32x4::from_array([10.0, -11.0, 12.0, 13.0]);
+    let f2 = f32x4::from_array([5.0, -5.0, 20.0, -100.0]);
+    let f3 = f32x4::from_array([10.0, -11.0, 20.0, -100.0]);
 
     unsafe {
         tests! {
@@ -84,7 +79,7 @@ fn main() {
     // NAN comparisons are special:
     // -11 (*)    13
     // -5        -100 (*)
-    let f4 = f32x4([f32::NAN, f1.0[1], f32::NAN, f2.0[3]]);
+    let f4 = f32x4::from_array([f32::NAN, f1[1], f32::NAN, f2[3]]);
 
     unsafe {
         tests! {
diff --git a/tests/ui/simd/intrinsic/generic-elements-pass.rs b/tests/ui/simd/intrinsic/generic-elements-pass.rs
index e4d47cdb381..f441d992e11 100644
--- a/tests/ui/simd/intrinsic/generic-elements-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-elements-pass.rs
@@ -2,24 +2,15 @@
 
 #![feature(repr_simd, intrinsics, core_intrinsics)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::{
     simd_extract, simd_extract_dyn, simd_insert, simd_insert_dyn, simd_shuffle,
 };
 
 #[repr(simd)]
-#[derive(Copy, Clone, Debug, PartialEq)]
-#[allow(non_camel_case_types)]
-struct i32x2([i32; 2]);
-#[repr(simd)]
-#[derive(Copy, Clone, Debug, PartialEq)]
-#[allow(non_camel_case_types)]
-struct i32x4([i32; 4]);
-#[repr(simd)]
-#[derive(Copy, Clone, Debug, PartialEq)]
-#[allow(non_camel_case_types)]
-struct i32x8([i32; 8]);
-
-#[repr(simd)]
 struct SimdShuffleIdx<const LEN: usize>([u32; LEN]);
 
 macro_rules! all_eq {
@@ -34,26 +25,26 @@ macro_rules! all_eq {
 }
 
 fn main() {
-    let x2 = i32x2([20, 21]);
-    let x4 = i32x4([40, 41, 42, 43]);
-    let x8 = i32x8([80, 81, 82, 83, 84, 85, 86, 87]);
+    let x2 = i32x2::from_array([20, 21]);
+    let x4 = i32x4::from_array([40, 41, 42, 43]);
+    let x8 = i32x8::from_array([80, 81, 82, 83, 84, 85, 86, 87]);
     unsafe {
-        all_eq!(simd_insert(x2, 0, 100), i32x2([100, 21]));
-        all_eq!(simd_insert(x2, 1, 100), i32x2([20, 100]));
-
-        all_eq!(simd_insert(x4, 0, 100), i32x4([100, 41, 42, 43]));
-        all_eq!(simd_insert(x4, 1, 100), i32x4([40, 100, 42, 43]));
-        all_eq!(simd_insert(x4, 2, 100), i32x4([40, 41, 100, 43]));
-        all_eq!(simd_insert(x4, 3, 100), i32x4([40, 41, 42, 100]));
-
-        all_eq!(simd_insert(x8, 0, 100), i32x8([100, 81, 82, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert(x8, 1, 100), i32x8([80, 100, 82, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert(x8, 2, 100), i32x8([80, 81, 100, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert(x8, 3, 100), i32x8([80, 81, 82, 100, 84, 85, 86, 87]));
-        all_eq!(simd_insert(x8, 4, 100), i32x8([80, 81, 82, 83, 100, 85, 86, 87]));
-        all_eq!(simd_insert(x8, 5, 100), i32x8([80, 81, 82, 83, 84, 100, 86, 87]));
-        all_eq!(simd_insert(x8, 6, 100), i32x8([80, 81, 82, 83, 84, 85, 100, 87]));
-        all_eq!(simd_insert(x8, 7, 100), i32x8([80, 81, 82, 83, 84, 85, 86, 100]));
+        all_eq!(simd_insert(x2, 0, 100), i32x2::from_array([100, 21]));
+        all_eq!(simd_insert(x2, 1, 100), i32x2::from_array([20, 100]));
+
+        all_eq!(simd_insert(x4, 0, 100), i32x4::from_array([100, 41, 42, 43]));
+        all_eq!(simd_insert(x4, 1, 100), i32x4::from_array([40, 100, 42, 43]));
+        all_eq!(simd_insert(x4, 2, 100), i32x4::from_array([40, 41, 100, 43]));
+        all_eq!(simd_insert(x4, 3, 100), i32x4::from_array([40, 41, 42, 100]));
+
+        all_eq!(simd_insert(x8, 0, 100), i32x8::from_array([100, 81, 82, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert(x8, 1, 100), i32x8::from_array([80, 100, 82, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert(x8, 2, 100), i32x8::from_array([80, 81, 100, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert(x8, 3, 100), i32x8::from_array([80, 81, 82, 100, 84, 85, 86, 87]));
+        all_eq!(simd_insert(x8, 4, 100), i32x8::from_array([80, 81, 82, 83, 100, 85, 86, 87]));
+        all_eq!(simd_insert(x8, 5, 100), i32x8::from_array([80, 81, 82, 83, 84, 100, 86, 87]));
+        all_eq!(simd_insert(x8, 6, 100), i32x8::from_array([80, 81, 82, 83, 84, 85, 100, 87]));
+        all_eq!(simd_insert(x8, 7, 100), i32x8::from_array([80, 81, 82, 83, 84, 85, 86, 100]));
 
         all_eq!(simd_extract(x2, 0), 20);
         all_eq!(simd_extract(x2, 1), 21);
@@ -73,22 +64,22 @@ fn main() {
         all_eq!(simd_extract(x8, 7), 87);
     }
     unsafe {
-        all_eq!(simd_insert_dyn(x2, 0, 100), i32x2([100, 21]));
-        all_eq!(simd_insert_dyn(x2, 1, 100), i32x2([20, 100]));
-
-        all_eq!(simd_insert_dyn(x4, 0, 100), i32x4([100, 41, 42, 43]));
-        all_eq!(simd_insert_dyn(x4, 1, 100), i32x4([40, 100, 42, 43]));
-        all_eq!(simd_insert_dyn(x4, 2, 100), i32x4([40, 41, 100, 43]));
-        all_eq!(simd_insert_dyn(x4, 3, 100), i32x4([40, 41, 42, 100]));
-
-        all_eq!(simd_insert_dyn(x8, 0, 100), i32x8([100, 81, 82, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 1, 100), i32x8([80, 100, 82, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 2, 100), i32x8([80, 81, 100, 83, 84, 85, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 3, 100), i32x8([80, 81, 82, 100, 84, 85, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 4, 100), i32x8([80, 81, 82, 83, 100, 85, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 5, 100), i32x8([80, 81, 82, 83, 84, 100, 86, 87]));
-        all_eq!(simd_insert_dyn(x8, 6, 100), i32x8([80, 81, 82, 83, 84, 85, 100, 87]));
-        all_eq!(simd_insert_dyn(x8, 7, 100), i32x8([80, 81, 82, 83, 84, 85, 86, 100]));
+        all_eq!(simd_insert_dyn(x2, 0, 100), i32x2::from_array([100, 21]));
+        all_eq!(simd_insert_dyn(x2, 1, 100), i32x2::from_array([20, 100]));
+
+        all_eq!(simd_insert_dyn(x4, 0, 100), i32x4::from_array([100, 41, 42, 43]));
+        all_eq!(simd_insert_dyn(x4, 1, 100), i32x4::from_array([40, 100, 42, 43]));
+        all_eq!(simd_insert_dyn(x4, 2, 100), i32x4::from_array([40, 41, 100, 43]));
+        all_eq!(simd_insert_dyn(x4, 3, 100), i32x4::from_array([40, 41, 42, 100]));
+
+        all_eq!(simd_insert_dyn(x8, 0, 100), i32x8::from_array([100, 81, 82, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 1, 100), i32x8::from_array([80, 100, 82, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 2, 100), i32x8::from_array([80, 81, 100, 83, 84, 85, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 3, 100), i32x8::from_array([80, 81, 82, 100, 84, 85, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 4, 100), i32x8::from_array([80, 81, 82, 83, 100, 85, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 5, 100), i32x8::from_array([80, 81, 82, 83, 84, 100, 86, 87]));
+        all_eq!(simd_insert_dyn(x8, 6, 100), i32x8::from_array([80, 81, 82, 83, 84, 85, 100, 87]));
+        all_eq!(simd_insert_dyn(x8, 7, 100), i32x8::from_array([80, 81, 82, 83, 84, 85, 86, 100]));
 
         all_eq!(simd_extract_dyn(x2, 0), 20);
         all_eq!(simd_extract_dyn(x2, 1), 21);
@@ -108,38 +99,47 @@ fn main() {
         all_eq!(simd_extract_dyn(x8, 7), 87);
     }
 
-    let y2 = i32x2([120, 121]);
-    let y4 = i32x4([140, 141, 142, 143]);
-    let y8 = i32x8([180, 181, 182, 183, 184, 185, 186, 187]);
+    let y2 = i32x2::from_array([120, 121]);
+    let y4 = i32x4::from_array([140, 141, 142, 143]);
+    let y8 = i32x8::from_array([180, 181, 182, 183, 184, 185, 186, 187]);
     unsafe {
-        all_eq!(simd_shuffle(x2, y2, const { SimdShuffleIdx([3u32, 0]) }), i32x2([121, 20]));
+        all_eq!(
+            simd_shuffle(x2, y2, const { SimdShuffleIdx([3u32, 0]) }),
+            i32x2::from_array([121, 20])
+        );
         all_eq!(
             simd_shuffle(x2, y2, const { SimdShuffleIdx([3u32, 0, 1, 2]) }),
-            i32x4([121, 20, 21, 120])
+            i32x4::from_array([121, 20, 21, 120])
         );
         all_eq!(
             simd_shuffle(x2, y2, const { SimdShuffleIdx([3u32, 0, 1, 2, 1, 2, 3, 0]) }),
-            i32x8([121, 20, 21, 120, 21, 120, 121, 20])
+            i32x8::from_array([121, 20, 21, 120, 21, 120, 121, 20])
         );
 
-        all_eq!(simd_shuffle(x4, y4, const { SimdShuffleIdx([7u32, 2]) }), i32x2([143, 42]));
+        all_eq!(
+            simd_shuffle(x4, y4, const { SimdShuffleIdx([7u32, 2]) }),
+            i32x2::from_array([143, 42])
+        );
         all_eq!(
             simd_shuffle(x4, y4, const { SimdShuffleIdx([7u32, 2, 5, 0]) }),
-            i32x4([143, 42, 141, 40])
+            i32x4::from_array([143, 42, 141, 40])
         );
         all_eq!(
             simd_shuffle(x4, y4, const { SimdShuffleIdx([7u32, 2, 5, 0, 3, 6, 4, 1]) }),
-            i32x8([143, 42, 141, 40, 43, 142, 140, 41])
+            i32x8::from_array([143, 42, 141, 40, 43, 142, 140, 41])
         );
 
-        all_eq!(simd_shuffle(x8, y8, const { SimdShuffleIdx([11u32, 5]) }), i32x2([183, 85]));
+        all_eq!(
+            simd_shuffle(x8, y8, const { SimdShuffleIdx([11u32, 5]) }),
+            i32x2::from_array([183, 85])
+        );
         all_eq!(
             simd_shuffle(x8, y8, const { SimdShuffleIdx([11u32, 5, 15, 0]) }),
-            i32x4([183, 85, 187, 80])
+            i32x4::from_array([183, 85, 187, 80])
         );
         all_eq!(
             simd_shuffle(x8, y8, const { SimdShuffleIdx([11u32, 5, 15, 0, 3, 8, 12, 1]) }),
-            i32x8([183, 85, 187, 80, 83, 180, 184, 81])
+            i32x8::from_array([183, 85, 187, 80, 83, 180, 184, 81])
         );
     }
 }
diff --git a/tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs b/tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs
index b98d4d6575b..c2418c019ed 100644
--- a/tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-gather-scatter-pass.rs
@@ -6,24 +6,26 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::{simd_gather, simd_scatter};
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct x4<T>(pub [T; 4]);
+type x4<T> = Simd<T, 4>;
 
 fn main() {
     let mut x = [0_f32, 1., 2., 3., 4., 5., 6., 7.];
 
-    let default = x4([-3_f32, -3., -3., -3.]);
-    let s_strided = x4([0_f32, 2., -3., 6.]);
-    let mask = x4([-1_i32, -1, 0, -1]);
+    let default = x4::from_array([-3_f32, -3., -3., -3.]);
+    let s_strided = x4::from_array([0_f32, 2., -3., 6.]);
+    let mask = x4::from_array([-1_i32, -1, 0, -1]);
 
     // reading from *const
     unsafe {
         let pointer = x.as_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
         let r_strided = simd_gather(default, pointers, mask);
 
@@ -34,7 +36,7 @@ fn main() {
     unsafe {
         let pointer = x.as_mut_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
         let r_strided = simd_gather(default, pointers, mask);
 
@@ -45,9 +47,9 @@ fn main() {
     unsafe {
         let pointer = x.as_mut_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
-        let values = x4([42_f32, 43_f32, 44_f32, 45_f32]);
+        let values = x4::from_array([42_f32, 43_f32, 44_f32, 45_f32]);
         simd_scatter(values, pointers, mask);
 
         assert_eq!(x, [42., 1., 43., 3., 4., 5., 45., 7.]);
@@ -65,14 +67,14 @@ fn main() {
         &x[7] as *const f32,
     ];
 
-    let default = x4([y[0], y[0], y[0], y[0]]);
-    let s_strided = x4([y[0], y[2], y[0], y[6]]);
+    let default = x4::from_array([y[0], y[0], y[0], y[0]]);
+    let s_strided = x4::from_array([y[0], y[2], y[0], y[6]]);
 
     // reading from *const
     unsafe {
         let pointer = y.as_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
         let r_strided = simd_gather(default, pointers, mask);
 
@@ -83,7 +85,7 @@ fn main() {
     unsafe {
         let pointer = y.as_mut_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
         let r_strided = simd_gather(default, pointers, mask);
 
@@ -94,9 +96,9 @@ fn main() {
     unsafe {
         let pointer = y.as_mut_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(2), pointer.offset(4), pointer.offset(6)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i * 2)));
 
-        let values = x4([y[7], y[6], y[5], y[1]]);
+        let values = x4::from_array([y[7], y[6], y[5], y[1]]);
         simd_scatter(values, pointers, mask);
 
         let s = [
diff --git a/tests/ui/simd/intrinsic/generic-select-pass.rs b/tests/ui/simd/intrinsic/generic-select-pass.rs
index 0e5f7c4902f..ff2d70d6a97 100644
--- a/tests/ui/simd/intrinsic/generic-select-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-select-pass.rs
@@ -6,38 +6,24 @@
 // Test that the simd_select intrinsics produces correct results.
 #![feature(repr_simd, core_intrinsics)]
 
-use std::intrinsics::simd::{simd_select, simd_select_bitmask};
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct i32x4(pub [i32; 4]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct u32x4(pub [u32; 4]);
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct u32x8([u32; 8]);
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct f32x4(pub [f32; 4]);
+use std::intrinsics::simd::{simd_select, simd_select_bitmask};
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct b8x4(pub [i8; 4]);
+type b8x4 = i8x4;
 
 fn main() {
-    let m0 = b8x4([!0, !0, !0, !0]);
-    let m1 = b8x4([0, 0, 0, 0]);
-    let m2 = b8x4([!0, !0, 0, 0]);
-    let m3 = b8x4([0, 0, !0, !0]);
-    let m4 = b8x4([!0, 0, !0, 0]);
+    let m0 = b8x4::from_array([!0, !0, !0, !0]);
+    let m1 = b8x4::from_array([0, 0, 0, 0]);
+    let m2 = b8x4::from_array([!0, !0, 0, 0]);
+    let m3 = b8x4::from_array([0, 0, !0, !0]);
+    let m4 = b8x4::from_array([!0, 0, !0, 0]);
 
     unsafe {
-        let a = i32x4([1, -2, 3, 4]);
-        let b = i32x4([5, 6, -7, 8]);
+        let a = i32x4::from_array([1, -2, 3, 4]);
+        let b = i32x4::from_array([5, 6, -7, 8]);
 
         let r: i32x4 = simd_select(m0, a, b);
         let e = a;
@@ -48,21 +34,21 @@ fn main() {
         assert_eq!(r, e);
 
         let r: i32x4 = simd_select(m2, a, b);
-        let e = i32x4([1, -2, -7, 8]);
+        let e = i32x4::from_array([1, -2, -7, 8]);
         assert_eq!(r, e);
 
         let r: i32x4 = simd_select(m3, a, b);
-        let e = i32x4([5, 6, 3, 4]);
+        let e = i32x4::from_array([5, 6, 3, 4]);
         assert_eq!(r, e);
 
         let r: i32x4 = simd_select(m4, a, b);
-        let e = i32x4([1, 6, 3, 8]);
+        let e = i32x4::from_array([1, 6, 3, 8]);
         assert_eq!(r, e);
     }
 
     unsafe {
-        let a = u32x4([1, 2, 3, 4]);
-        let b = u32x4([5, 6, 7, 8]);
+        let a = u32x4::from_array([1, 2, 3, 4]);
+        let b = u32x4::from_array([5, 6, 7, 8]);
 
         let r: u32x4 = simd_select(m0, a, b);
         let e = a;
@@ -73,21 +59,21 @@ fn main() {
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select(m2, a, b);
-        let e = u32x4([1, 2, 7, 8]);
+        let e = u32x4::from_array([1, 2, 7, 8]);
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select(m3, a, b);
-        let e = u32x4([5, 6, 3, 4]);
+        let e = u32x4::from_array([5, 6, 3, 4]);
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select(m4, a, b);
-        let e = u32x4([1, 6, 3, 8]);
+        let e = u32x4::from_array([1, 6, 3, 8]);
         assert_eq!(r, e);
     }
 
     unsafe {
-        let a = f32x4([1., 2., 3., 4.]);
-        let b = f32x4([5., 6., 7., 8.]);
+        let a = f32x4::from_array([1., 2., 3., 4.]);
+        let b = f32x4::from_array([5., 6., 7., 8.]);
 
         let r: f32x4 = simd_select(m0, a, b);
         let e = a;
@@ -98,23 +84,23 @@ fn main() {
         assert_eq!(r, e);
 
         let r: f32x4 = simd_select(m2, a, b);
-        let e = f32x4([1., 2., 7., 8.]);
+        let e = f32x4::from_array([1., 2., 7., 8.]);
         assert_eq!(r, e);
 
         let r: f32x4 = simd_select(m3, a, b);
-        let e = f32x4([5., 6., 3., 4.]);
+        let e = f32x4::from_array([5., 6., 3., 4.]);
         assert_eq!(r, e);
 
         let r: f32x4 = simd_select(m4, a, b);
-        let e = f32x4([1., 6., 3., 8.]);
+        let e = f32x4::from_array([1., 6., 3., 8.]);
         assert_eq!(r, e);
     }
 
     unsafe {
         let t = !0 as i8;
         let f = 0 as i8;
-        let a = b8x4([t, f, t, f]);
-        let b = b8x4([f, f, f, t]);
+        let a = b8x4::from_array([t, f, t, f]);
+        let b = b8x4::from_array([f, f, f, t]);
 
         let r: b8x4 = simd_select(m0, a, b);
         let e = a;
@@ -125,21 +111,21 @@ fn main() {
         assert_eq!(r, e);
 
         let r: b8x4 = simd_select(m2, a, b);
-        let e = b8x4([t, f, f, t]);
+        let e = b8x4::from_array([t, f, f, t]);
         assert_eq!(r, e);
 
         let r: b8x4 = simd_select(m3, a, b);
-        let e = b8x4([f, f, t, f]);
+        let e = b8x4::from_array([f, f, t, f]);
         assert_eq!(r, e);
 
         let r: b8x4 = simd_select(m4, a, b);
-        let e = b8x4([t, f, t, t]);
+        let e = b8x4::from_array([t, f, t, t]);
         assert_eq!(r, e);
     }
 
     unsafe {
-        let a = u32x8([0, 1, 2, 3, 4, 5, 6, 7]);
-        let b = u32x8([8, 9, 10, 11, 12, 13, 14, 15]);
+        let a = u32x8::from_array([0, 1, 2, 3, 4, 5, 6, 7]);
+        let b = u32x8::from_array([8, 9, 10, 11, 12, 13, 14, 15]);
 
         let r: u32x8 = simd_select_bitmask(0u8, a, b);
         let e = b;
@@ -150,21 +136,21 @@ fn main() {
         assert_eq!(r, e);
 
         let r: u32x8 = simd_select_bitmask(0b01010101u8, a, b);
-        let e = u32x8([0, 9, 2, 11, 4, 13, 6, 15]);
+        let e = u32x8::from_array([0, 9, 2, 11, 4, 13, 6, 15]);
         assert_eq!(r, e);
 
         let r: u32x8 = simd_select_bitmask(0b10101010u8, a, b);
-        let e = u32x8([8, 1, 10, 3, 12, 5, 14, 7]);
+        let e = u32x8::from_array([8, 1, 10, 3, 12, 5, 14, 7]);
         assert_eq!(r, e);
 
         let r: u32x8 = simd_select_bitmask(0b11110000u8, a, b);
-        let e = u32x8([8, 9, 10, 11, 4, 5, 6, 7]);
+        let e = u32x8::from_array([8, 9, 10, 11, 4, 5, 6, 7]);
         assert_eq!(r, e);
     }
 
     unsafe {
-        let a = u32x4([0, 1, 2, 3]);
-        let b = u32x4([4, 5, 6, 7]);
+        let a = u32x4::from_array([0, 1, 2, 3]);
+        let b = u32x4::from_array([4, 5, 6, 7]);
 
         let r: u32x4 = simd_select_bitmask(0u8, a, b);
         let e = b;
@@ -175,15 +161,15 @@ fn main() {
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select_bitmask(0b0101u8, a, b);
-        let e = u32x4([0, 5, 2, 7]);
+        let e = u32x4::from_array([0, 5, 2, 7]);
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select_bitmask(0b1010u8, a, b);
-        let e = u32x4([4, 1, 6, 3]);
+        let e = u32x4::from_array([4, 1, 6, 3]);
         assert_eq!(r, e);
 
         let r: u32x4 = simd_select_bitmask(0b1100u8, a, b);
-        let e = u32x4([4, 5, 2, 3]);
+        let e = u32x4::from_array([4, 5, 2, 3]);
         assert_eq!(r, e);
     }
 }
diff --git a/tests/ui/simd/intrinsic/inlining-issue67557.rs b/tests/ui/simd/intrinsic/inlining-issue67557.rs
index 13e7266b2a5..14f180425d8 100644
--- a/tests/ui/simd/intrinsic/inlining-issue67557.rs
+++ b/tests/ui/simd/intrinsic/inlining-issue67557.rs
@@ -5,11 +5,13 @@
 //@ compile-flags: -Zmir-opt-level=4
 #![feature(core_intrinsics, repr_simd)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_shuffle;
 
-#[repr(simd)]
-#[derive(Debug, PartialEq)]
-struct Simd2([u8; 2]);
+type Simd2 = u8x2;
 
 #[repr(simd)]
 struct SimdShuffleIdx<const LEN: usize>([u32; LEN]);
@@ -17,7 +19,11 @@ struct SimdShuffleIdx<const LEN: usize>([u32; LEN]);
 fn main() {
     unsafe {
         const IDX: SimdShuffleIdx<2> = SimdShuffleIdx([0, 1]);
-        let p_res: Simd2 = simd_shuffle(Simd2([10, 11]), Simd2([12, 13]), IDX);
+        let p_res: Simd2 = simd_shuffle(
+            Simd2::from_array([10, 11]),
+            Simd2::from_array([12, 13]),
+            IDX,
+        );
         let a_res: Simd2 = inline_me();
 
         assert_10_11(p_res);
@@ -27,16 +33,16 @@ fn main() {
 
 #[inline(never)]
 fn assert_10_11(x: Simd2) {
-    assert_eq!(x, Simd2([10, 11]));
+    assert_eq!(x.into_array(), [10, 11]);
 }
 
 #[inline(never)]
 fn assert_10_13(x: Simd2) {
-    assert_eq!(x, Simd2([10, 13]));
+    assert_eq!(x.into_array(), [10, 13]);
 }
 
 #[inline(always)]
 unsafe fn inline_me() -> Simd2 {
     const IDX: SimdShuffleIdx<2> = SimdShuffleIdx([0, 3]);
-    simd_shuffle(Simd2([10, 11]), Simd2([12, 13]), IDX)
+    simd_shuffle(Simd2::from_array([10, 11]), Simd2::from_array([12, 13]), IDX)
 }
diff --git a/tests/ui/simd/intrinsic/ptr-cast.rs b/tests/ui/simd/intrinsic/ptr-cast.rs
index 3a73c0273e1..63b65d83f76 100644
--- a/tests/ui/simd/intrinsic/ptr-cast.rs
+++ b/tests/ui/simd/intrinsic/ptr-cast.rs
@@ -2,18 +2,20 @@
 
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::{simd_cast_ptr, simd_expose_provenance, simd_with_exposed_provenance};
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct V<T>([T; 2]);
+type V<T> = Simd<T, 2>;
 
 fn main() {
     unsafe {
         let mut foo = 4i8;
         let ptr = &mut foo as *mut i8;
 
-        let ptrs = V::<*mut i8>([ptr, core::ptr::null_mut()]);
+        let ptrs: V::<*mut i8> = Simd([ptr, core::ptr::null_mut()]);
 
         // change constness and type
         let const_ptrs: V<*const u8> = simd_cast_ptr(ptrs);
@@ -22,8 +24,8 @@ fn main() {
 
         let with_exposed_provenance: V<*mut i8> = simd_with_exposed_provenance(exposed_addr);
 
-        assert!(const_ptrs.0 == [ptr as *const u8, core::ptr::null()]);
-        assert!(exposed_addr.0 == [ptr as usize, 0]);
-        assert!(with_exposed_provenance.0 == ptrs.0);
+        assert!(const_ptrs.into_array() == [ptr as *const u8, core::ptr::null()]);
+        assert!(exposed_addr.into_array() == [ptr as usize, 0]);
+        assert!(with_exposed_provenance.into_array() == ptrs.into_array());
     }
 }
diff --git a/tests/ui/simd/issue-105439.rs b/tests/ui/simd/issue-105439.rs
index 0a44f36fb2e..1d57eff341c 100644
--- a/tests/ui/simd/issue-105439.rs
+++ b/tests/ui/simd/issue-105439.rs
@@ -10,7 +10,9 @@ struct i32x4([i32; 4]);
 
 #[inline(always)]
 fn to_array(a: i32x4) -> [i32; 4] {
-    a.0
+    // This was originally just `a.0`, but that ended up being annoying enough
+    // that it was banned by <https://github.com/rust-lang/compiler-team/issues/838>
+    unsafe { std::mem::transmute(a) }
 }
 
 fn main() {
diff --git a/tests/ui/simd/issue-39720.rs b/tests/ui/simd/issue-39720.rs
index db441e55167..09d6142c920 100644
--- a/tests/ui/simd/issue-39720.rs
+++ b/tests/ui/simd/issue-39720.rs
@@ -2,16 +2,16 @@
 
 #![feature(repr_simd, core_intrinsics)]
 
-#[repr(simd)]
-#[derive(Copy, Clone, Debug)]
-pub struct Char3(pub [i8; 3]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, Debug)]
-pub struct Short3(pub [i16; 3]);
+pub type Char3 = Simd<i8, 3>;
+
+pub type Short3 = Simd<i16, 3>;
 
 fn main() {
-    let cast: Short3 = unsafe { std::intrinsics::simd::simd_cast(Char3([10, -3, -9])) };
+    let cast: Short3 = unsafe { std::intrinsics::simd::simd_cast(Char3::from_array([10, -3, -9])) };
 
     println!("{:?}", cast);
 }
diff --git a/tests/ui/simd/issue-85915-simd-ptrs.rs b/tests/ui/simd/issue-85915-simd-ptrs.rs
index 4e2379d0525..a74c36fabc1 100644
--- a/tests/ui/simd/issue-85915-simd-ptrs.rs
+++ b/tests/ui/simd/issue-85915-simd-ptrs.rs
@@ -6,35 +6,27 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::{simd_gather, simd_scatter};
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct cptrx4<T>([*const T; 4]);
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct mptrx4<T>([*mut T; 4]);
+use std::intrinsics::simd::{simd_gather, simd_scatter};
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct f32x4([f32; 4]);
+type cptrx4<T> = Simd<*const T, 4>;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct i32x4([i32; 4]);
+type mptrx4<T> = Simd<*mut T, 4>;
 
 fn main() {
     let mut x = [0_f32, 1., 2., 3., 4., 5., 6., 7.];
 
-    let default = f32x4([-3_f32, -3., -3., -3.]);
-    let s_strided = f32x4([0_f32, 2., -3., 6.]);
-    let mask = i32x4([-1_i32, -1, 0, -1]);
+    let default = f32x4::from_array([-3_f32, -3., -3., -3.]);
+    let s_strided = f32x4::from_array([0_f32, 2., -3., 6.]);
+    let mask = i32x4::from_array([-1_i32, -1, 0, -1]);
 
     // reading from *const
     unsafe {
         let pointer = &x as *const f32;
-        let pointers = cptrx4([
+        let pointers = cptrx4::from_array([
             pointer.offset(0) as *const f32,
             pointer.offset(2),
             pointer.offset(4),
@@ -49,14 +41,14 @@ fn main() {
     // writing to *mut
     unsafe {
         let pointer = &mut x as *mut f32;
-        let pointers = mptrx4([
+        let pointers = mptrx4::from_array([
             pointer.offset(0) as *mut f32,
             pointer.offset(2),
             pointer.offset(4),
             pointer.offset(6),
         ]);
 
-        let values = f32x4([42_f32, 43_f32, 44_f32, 45_f32]);
+        let values = f32x4::from_array([42_f32, 43_f32, 44_f32, 45_f32]);
         simd_scatter(values, pointers, mask);
 
         assert_eq!(x, [42., 1., 43., 3., 4., 5., 45., 7.]);
diff --git a/tests/ui/simd/issue-89193.rs b/tests/ui/simd/issue-89193.rs
index a6c3017572a..da4cd456589 100644
--- a/tests/ui/simd/issue-89193.rs
+++ b/tests/ui/simd/issue-89193.rs
@@ -6,36 +6,38 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::simd_gather;
 
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct x4<T>(pub [T; 4]);
+type x4<T> = Simd<T, 4>;
 
 fn main() {
     let x: [usize; 4] = [10, 11, 12, 13];
-    let default = x4([0_usize, 1, 2, 3]);
+    let default = x4::from_array([0_usize, 1, 2, 3]);
     let all_set = u8::MAX as i8; // aka -1
-    let mask = x4([all_set, all_set, all_set, all_set]);
-    let expected = x4([10_usize, 11, 12, 13]);
+    let mask = x4::from_array([all_set, all_set, all_set, all_set]);
+    let expected = x4::from_array([10_usize, 11, 12, 13]);
 
     unsafe {
         let pointer = x.as_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(1), pointer.offset(2), pointer.offset(3)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i)));
         let result = simd_gather(default, pointers, mask);
         assert_eq!(result, expected);
     }
 
     // and again for isize
     let x: [isize; 4] = [10, 11, 12, 13];
-    let default = x4([0_isize, 1, 2, 3]);
-    let expected = x4([10_isize, 11, 12, 13]);
+    let default = x4::from_array([0_isize, 1, 2, 3]);
+    let expected = x4::from_array([10_isize, 11, 12, 13]);
 
     unsafe {
         let pointer = x.as_ptr();
         let pointers =
-            x4([pointer.offset(0), pointer.offset(1), pointer.offset(2), pointer.offset(3)]);
+            x4::from_array(std::array::from_fn(|i| pointer.add(i)));
         let result = simd_gather(default, pointers, mask);
         assert_eq!(result, expected);
     }
diff --git a/tests/ui/simd/masked-load-store.rs b/tests/ui/simd/masked-load-store.rs
index 69ea76581ee..da32ba611c4 100644
--- a/tests/ui/simd/masked-load-store.rs
+++ b/tests/ui/simd/masked-load-store.rs
@@ -1,11 +1,11 @@
 //@ run-pass
 #![feature(repr_simd, core_intrinsics)]
 
-use std::intrinsics::simd::{simd_masked_load, simd_masked_store};
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct Simd<T, const N: usize>([T; N]);
+use std::intrinsics::simd::{simd_masked_load, simd_masked_store};
 
 fn main() {
     unsafe {
@@ -15,7 +15,7 @@ fn main() {
         let b: Simd<u8, 4> =
             simd_masked_load(Simd::<i8, 4>([-1, 0, -1, -1]), b_src.as_ptr(), b_default);
 
-        assert_eq!(&b.0, &[4, 9, 6, 7]);
+        assert_eq!(b.as_array(), &[4, 9, 6, 7]);
 
         let mut output = [u8::MAX; 5];
 
diff --git a/tests/ui/simd/monomorphize-shuffle-index.rs b/tests/ui/simd/monomorphize-shuffle-index.rs
index a56f2ea1452..1490f8e2319 100644
--- a/tests/ui/simd/monomorphize-shuffle-index.rs
+++ b/tests/ui/simd/monomorphize-shuffle-index.rs
@@ -11,6 +11,10 @@
 )]
 #![allow(incomplete_features)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 #[cfg(old)]
 use std::intrinsics::simd::simd_shuffle;
 
@@ -18,10 +22,6 @@ use std::intrinsics::simd::simd_shuffle;
 #[rustc_intrinsic]
 unsafe fn simd_shuffle_const_generic<T, U, const I: &'static [u32]>(a: T, b: T) -> U;
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct Simd<T, const N: usize>([T; N]);
-
 trait Shuffle<const N: usize> {
     const I: Simd<u32, N>;
     const J: &'static [u32] = &Self::I.0;
@@ -57,9 +57,9 @@ fn main() {
     let b = Simd::<u8, 4>([4, 5, 6, 7]);
     unsafe {
         let x: Simd<u8, 4> = I1.shuffle(a, b);
-        assert_eq!(x.0, [0, 2, 4, 6]);
+        assert_eq!(x.into_array(), [0, 2, 4, 6]);
 
         let y: Simd<u8, 2> = I2.shuffle(a, b);
-        assert_eq!(y.0, [1, 5]);
+        assert_eq!(y.into_array(), [1, 5]);
     }
 }
diff --git a/tests/ui/simd/repr-simd-on-enum.rs b/tests/ui/simd/repr-simd-on-enum.rs
new file mode 100644
index 00000000000..49cf9e92d36
--- /dev/null
+++ b/tests/ui/simd/repr-simd-on-enum.rs
@@ -0,0 +1,15 @@
+// Used to ICE; see <https://github.com/rust-lang/rust/issues/121097>
+
+#![feature(repr_simd)]
+
+#[repr(simd)] //~ ERROR attribute should be applied to a struct
+enum Aligned {
+    Zero = 0,
+    One = 1,
+}
+
+fn tou8(al: Aligned) -> u8 {
+    al as u8
+}
+
+fn main() {}
diff --git a/tests/ui/simd/repr-simd-on-enum.stderr b/tests/ui/simd/repr-simd-on-enum.stderr
new file mode 100644
index 00000000000..6a19a16e8ea
--- /dev/null
+++ b/tests/ui/simd/repr-simd-on-enum.stderr
@@ -0,0 +1,14 @@
+error[E0517]: attribute should be applied to a struct
+  --> $DIR/repr-simd-on-enum.rs:5:8
+   |
+LL |   #[repr(simd)]
+   |          ^^^^
+LL | / enum Aligned {
+LL | |     Zero = 0,
+LL | |     One = 1,
+LL | | }
+   | |_- not a struct
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0517`.
diff --git a/tests/ui/simd/repr_packed.rs b/tests/ui/simd/repr_packed.rs
index cc54477ae71..f0c6de7c402 100644
--- a/tests/ui/simd/repr_packed.rs
+++ b/tests/ui/simd/repr_packed.rs
@@ -3,15 +3,16 @@
 #![feature(repr_simd, core_intrinsics)]
 #![allow(non_camel_case_types)]
 
-use std::intrinsics::simd::simd_add;
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[repr(simd, packed)]
-struct Simd<T, const N: usize>([T; N]);
+use std::intrinsics::simd::simd_add;
 
 fn check_size_align<T, const N: usize>() {
     use std::mem;
-    assert_eq!(mem::size_of::<Simd<T, N>>(), mem::size_of::<[T; N]>());
-    assert_eq!(mem::size_of::<Simd<T, N>>() % mem::align_of::<Simd<T, N>>(), 0);
+    assert_eq!(mem::size_of::<PackedSimd<T, N>>(), mem::size_of::<[T; N]>());
+    assert_eq!(mem::size_of::<PackedSimd<T, N>>() % mem::align_of::<PackedSimd<T, N>>(), 0);
 }
 
 fn check_ty<T>() {
@@ -35,14 +36,21 @@ fn main() {
 
     unsafe {
         // powers-of-two have no padding and have the same layout as #[repr(simd)]
-        let x: Simd<f64, 4> =
-            simd_add(Simd::<f64, 4>([0., 1., 2., 3.]), Simd::<f64, 4>([2., 2., 2., 2.]));
-        assert_eq!(std::mem::transmute::<_, [f64; 4]>(x), [2., 3., 4., 5.]);
+        let x: PackedSimd<f64, 4> =
+            simd_add(
+                PackedSimd::<f64, 4>([0., 1., 2., 3.]),
+                PackedSimd::<f64, 4>([2., 2., 2., 2.]),
+            );
+        assert_eq!(x.into_array(), [2., 3., 4., 5.]);
 
         // non-powers-of-two should have padding (which is removed by #[repr(packed)]),
         // but the intrinsic handles it
-        let x: Simd<f64, 3> = simd_add(Simd::<f64, 3>([0., 1., 2.]), Simd::<f64, 3>([2., 2., 2.]));
-        let arr: [f64; 3] = x.0;
+        let x: PackedSimd<f64, 3> =
+            simd_add(
+                PackedSimd::<f64, 3>([0., 1., 2.]),
+                PackedSimd::<f64, 3>([2., 2., 2.]),
+            );
+        let arr: [f64; 3] = x.into_array();
         assert_eq!(arr, [2., 3., 4.]);
     }
 }
diff --git a/tests/ui/simd/shuffle.rs b/tests/ui/simd/shuffle.rs
index cd270edcf00..061571a4786 100644
--- a/tests/ui/simd/shuffle.rs
+++ b/tests/ui/simd/shuffle.rs
@@ -10,10 +10,16 @@ use std::marker::ConstParamTy;
 
 use std::intrinsics::simd::simd_shuffle;
 
+// not using `minisimd` because of the `ConstParamTy`
 #[derive(Copy, Clone, ConstParamTy, PartialEq, Eq)]
 #[repr(simd)]
 struct Simd<T, const N: usize>([T; N]);
 
+fn into_array<T, const N: usize>(v: Simd<T, N>) -> [T; N] {
+    const { assert!(size_of::<Simd<T, N>>() == size_of::<[T; N]>()) }
+    unsafe { std::intrinsics::transmute_unchecked(v) }
+}
+
 unsafe fn __shuffle_vector16<const IDX: Simd<u32, 16>, T, U>(x: T, y: T) -> U {
     simd_shuffle(x, y, IDX)
 }
@@ -25,10 +31,10 @@ fn main() {
     let b = Simd::<u8, 4>([4, 5, 6, 7]);
     unsafe {
         let x: Simd<u8, 4> = simd_shuffle(a, b, I1);
-        assert_eq!(x.0, [0, 2, 4, 6]);
+        assert_eq!(into_array(x), [0, 2, 4, 6]);
 
         let y: Simd<u8, 2> = simd_shuffle(a, b, I2);
-        assert_eq!(y.0, [1, 5]);
+        assert_eq!(into_array(y), [1, 5]);
     }
 
     // Test that an indirection (via an unnamed constant)
diff --git a/tests/ui/simd/simd-bitmask-notpow2.rs b/tests/ui/simd/simd-bitmask-notpow2.rs
index 4935097065e..b9af591d1b9 100644
--- a/tests/ui/simd/simd-bitmask-notpow2.rs
+++ b/tests/ui/simd/simd-bitmask-notpow2.rs
@@ -4,21 +4,23 @@
 //@ ignore-endian-big
 #![feature(repr_simd, core_intrinsics)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
+
 use std::intrinsics::simd::{simd_bitmask, simd_select_bitmask};
 
 fn main() {
     // Non-power-of-2 multi-byte mask.
-    #[repr(simd, packed)]
     #[allow(non_camel_case_types)]
-    #[derive(Copy, Clone, Debug, PartialEq)]
-    struct i32x10([i32; 10]);
+    type i32x10 = PackedSimd<i32, 10>;
     impl i32x10 {
         fn splat(x: i32) -> Self {
             Self([x; 10])
         }
     }
     unsafe {
-        let mask = i32x10([!0, !0, 0, !0, 0, 0, !0, 0, !0, 0]);
+        let mask = i32x10::from_array([!0, !0, 0, !0, 0, 0, !0, 0, !0, 0]);
         let mask_bits = if cfg!(target_endian = "little") { 0b0101001011 } else { 0b1101001010 };
         let mask_bytes =
             if cfg!(target_endian = "little") { [0b01001011, 0b01] } else { [0b11, 0b01001010] };
@@ -43,17 +45,20 @@ fn main() {
     }
 
     // Test for a mask where the next multiple of 8 is not a power of two.
-    #[repr(simd, packed)]
     #[allow(non_camel_case_types)]
-    #[derive(Copy, Clone, Debug, PartialEq)]
-    struct i32x20([i32; 20]);
+    type i32x20 = PackedSimd<i32, 20>;
     impl i32x20 {
         fn splat(x: i32) -> Self {
             Self([x; 20])
         }
     }
     unsafe {
-        let mask = i32x20([!0, !0, 0, !0, 0, 0, !0, 0, !0, 0, 0, 0, 0, !0, !0, !0, !0, !0, !0, !0]);
+        let mask = i32x20::from_array([
+            !0, !0,  0, !0,  0,
+             0, !0,  0, !0,  0,
+             0,  0,  0, !0, !0,
+            !0, !0, !0, !0, !0,
+        ]);
         let mask_bits = if cfg!(target_endian = "little") {
             0b11111110000101001011
         } else {
diff --git a/tests/ui/simd/simd-bitmask.rs b/tests/ui/simd/simd-bitmask.rs
index 6fcceeaa24b..609dae3647b 100644
--- a/tests/ui/simd/simd-bitmask.rs
+++ b/tests/ui/simd/simd-bitmask.rs
@@ -1,11 +1,11 @@
 //@run-pass
 #![feature(repr_simd, core_intrinsics)]
 
-use std::intrinsics::simd::{simd_bitmask, simd_select_bitmask};
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+use minisimd::*;
 
-#[derive(Copy, Clone)]
-#[repr(simd)]
-struct Simd<T, const N: usize>([T; N]);
+use std::intrinsics::simd::{simd_bitmask, simd_select_bitmask};
 
 fn main() {
     unsafe {
@@ -41,11 +41,11 @@ fn main() {
 
         let mask = if cfg!(target_endian = "little") { 0b0101u8 } else { 0b1010u8 };
         let r = simd_select_bitmask(mask, a, b);
-        assert_eq!(r.0, e);
+        assert_eq!(r.into_array(), e);
 
         let mask = if cfg!(target_endian = "little") { [0b0101u8] } else { [0b1010u8] };
         let r = simd_select_bitmask(mask, a, b);
-        assert_eq!(r.0, e);
+        assert_eq!(r.into_array(), e);
 
         let a = Simd::<i32, 16>([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);
         let b = Simd::<i32, 16>([16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]);
@@ -57,7 +57,7 @@ fn main() {
             0b0011000000001010u16
         };
         let r = simd_select_bitmask(mask, a, b);
-        assert_eq!(r.0, e);
+        assert_eq!(r.into_array(), e);
 
         let mask = if cfg!(target_endian = "little") {
             [0b00001100u8, 0b01010000u8]
@@ -65,6 +65,6 @@ fn main() {
             [0b00110000u8, 0b00001010u8]
         };
         let r = simd_select_bitmask(mask, a, b);
-        assert_eq!(r.0, e);
+        assert_eq!(r.into_array(), e);
     }
 }
diff --git a/tests/ui/simd/target-feature-mixup.rs b/tests/ui/simd/target-feature-mixup.rs
index 77f18615248..82902891b97 100644
--- a/tests/ui/simd/target-feature-mixup.rs
+++ b/tests/ui/simd/target-feature-mixup.rs
@@ -8,6 +8,11 @@
 
 #![feature(repr_simd, target_feature, cfg_target_feature)]
 
+#[path = "../../auxiliary/minisimd.rs"]
+mod minisimd;
+#[allow(unused)]
+use minisimd::*;
+
 use std::process::{Command, ExitStatus};
 use std::env;
 
@@ -50,19 +55,13 @@ fn is_sigill(status: ExitStatus) -> bool {
 #[allow(nonstandard_style)]
 mod test {
     // An SSE type
-    #[repr(simd)]
-    #[derive(PartialEq, Debug, Clone, Copy)]
-    struct __m128i([u64; 2]);
+    type __m128i = super::u64x2;
 
     // An AVX type
-    #[repr(simd)]
-    #[derive(PartialEq, Debug, Clone, Copy)]
-    struct __m256i([u64; 4]);
+    type __m256i = super::u64x4;
 
     // An AVX-512 type
-    #[repr(simd)]
-    #[derive(PartialEq, Debug, Clone, Copy)]
-    struct __m512i([u64; 8]);
+    type __m512i = super::u64x8;
 
     pub fn main(level: &str) {
         unsafe {
@@ -88,9 +87,9 @@ mod test {
         )*) => ($(
             $(#[$attr])*
             unsafe fn $main(level: &str) {
-                let m128 = __m128i([1, 2]);
-                let m256 = __m256i([3, 4, 5, 6]);
-                let m512 = __m512i([7, 8, 9, 10, 11, 12, 13, 14]);
+                let m128 = __m128i::from_array([1, 2]);
+                let m256 = __m256i::from_array([3, 4, 5, 6]);
+                let m512 = __m512i::from_array([7, 8, 9, 10, 11, 12, 13, 14]);
                 assert_eq!(id_sse_128(m128), m128);
                 assert_eq!(id_sse_256(m256), m256);
                 assert_eq!(id_sse_512(m512), m512);
@@ -125,55 +124,55 @@ mod test {
 
     #[target_feature(enable = "sse2")]
     unsafe fn id_sse_128(a: __m128i) -> __m128i {
-        assert_eq!(a, __m128i([1, 2]));
+        assert_eq!(a, __m128i::from_array([1, 2]));
         a.clone()
     }
 
     #[target_feature(enable = "sse2")]
     unsafe fn id_sse_256(a: __m256i) -> __m256i {
-        assert_eq!(a, __m256i([3, 4, 5, 6]));
+        assert_eq!(a, __m256i::from_array([3, 4, 5, 6]));
         a.clone()
     }
 
     #[target_feature(enable = "sse2")]
     unsafe fn id_sse_512(a: __m512i) -> __m512i {
-        assert_eq!(a, __m512i([7, 8, 9, 10, 11, 12, 13, 14]));
+        assert_eq!(a, __m512i::from_array([7, 8, 9, 10, 11, 12, 13, 14]));
         a.clone()
     }
 
     #[target_feature(enable = "avx")]
     unsafe fn id_avx_128(a: __m128i) -> __m128i {
-        assert_eq!(a, __m128i([1, 2]));
+        assert_eq!(a, __m128i::from_array([1, 2]));
         a.clone()
     }
 
     #[target_feature(enable = "avx")]
     unsafe fn id_avx_256(a: __m256i) -> __m256i {
-        assert_eq!(a, __m256i([3, 4, 5, 6]));
+        assert_eq!(a, __m256i::from_array([3, 4, 5, 6]));
         a.clone()
     }
 
     #[target_feature(enable = "avx")]
     unsafe fn id_avx_512(a: __m512i) -> __m512i {
-        assert_eq!(a, __m512i([7, 8, 9, 10, 11, 12, 13, 14]));
+        assert_eq!(a, __m512i::from_array([7, 8, 9, 10, 11, 12, 13, 14]));
         a.clone()
     }
 
     #[target_feature(enable = "avx512bw")]
     unsafe fn id_avx512_128(a: __m128i) -> __m128i {
-        assert_eq!(a, __m128i([1, 2]));
+        assert_eq!(a, __m128i::from_array([1, 2]));
         a.clone()
     }
 
     #[target_feature(enable = "avx512bw")]
     unsafe fn id_avx512_256(a: __m256i) -> __m256i {
-        assert_eq!(a, __m256i([3, 4, 5, 6]));
+        assert_eq!(a, __m256i::from_array([3, 4, 5, 6]));
         a.clone()
     }
 
     #[target_feature(enable = "avx512bw")]
     unsafe fn id_avx512_512(a: __m512i) -> __m512i {
-        assert_eq!(a, __m512i([7, 8, 9, 10, 11, 12, 13, 14]));
+        assert_eq!(a, __m512i::from_array([7, 8, 9, 10, 11, 12, 13, 14]));
         a.clone()
     }
 }
diff --git a/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next.stderr b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.current_sized_hierarchy.stderr
index cf56f42afc8..b904b784df7 100644
--- a/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next.stderr
+++ b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.current_sized_hierarchy.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/incomplete-inference-issue-143992.rs:27:28
+  --> $DIR/incomplete-inference-issue-143992.rs:30:28
    |
 LL |     let _x = T::Assoc::new(());
    |              ------------- ^^ expected `[u32; 1]`, found `()`
@@ -7,7 +7,7 @@ LL |     let _x = T::Assoc::new(());
    |              arguments to this function are incorrect
    |
 note: associated function defined here
-  --> $DIR/incomplete-inference-issue-143992.rs:18:8
+  --> $DIR/incomplete-inference-issue-143992.rs:21:8
    |
 LL |     fn new(r: R) -> R {
    |        ^^^ ----
diff --git a/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next_sized_hierarchy.stderr b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next_sized_hierarchy.stderr
new file mode 100644
index 00000000000..b904b784df7
--- /dev/null
+++ b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.next_sized_hierarchy.stderr
@@ -0,0 +1,17 @@
+error[E0308]: mismatched types
+  --> $DIR/incomplete-inference-issue-143992.rs:30:28
+   |
+LL |     let _x = T::Assoc::new(());
+   |              ------------- ^^ expected `[u32; 1]`, found `()`
+   |              |
+   |              arguments to this function are incorrect
+   |
+note: associated function defined here
+  --> $DIR/incomplete-inference-issue-143992.rs:21:8
+   |
+LL |     fn new(r: R) -> R {
+   |        ^^^ ----
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.rs b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.rs
index 3e3e1dc50e5..b9e65ed2839 100644
--- a/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.rs
+++ b/tests/ui/sized-hierarchy/incomplete-inference-issue-143992.rs
@@ -1,9 +1,12 @@
 //@ compile-flags: --crate-type=lib
-//@ revisions: current next
+//@ revisions: current next current_sized_hierarchy next_sized_hierarchy
 //@ ignore-compare-mode-next-solver (explicit revisions)
 //@[current] check-pass
+//@[next] check-pass
 //@[next] compile-flags: -Znext-solver
-//@[next] check-fail
+//@[next_sized_hierarchy] compile-flags: -Znext-solver
+
+#![cfg_attr(any(current_sized_hierarchy, next_sized_hierarchy), feature(sized_hierarchy))]
 
 // Test that we avoid incomplete inference when normalizing. Without this,
 // `Trait`'s implicit `MetaSized` supertrait requires proving `T::Assoc<_>: MetaSized`
@@ -25,5 +28,6 @@ where
     T::Assoc<[u32; 1]>: Clone,
 {
     let _x = T::Assoc::new(());
-//[next]~^ ERROR mismatched types
+    //[next_sized_hierarchy]~^ ERROR mismatched types
+    //[current_sized_hierarchy]~^^ ERROR mismatched types
 }
diff --git a/tests/ui/stability-attribute/stability-attribute-sanity-4.stderr b/tests/ui/stability-attribute/stability-attribute-sanity-4.stderr
index 8ead943ffe3..f656aeaa16c 100644
--- a/tests/ui/stability-attribute/stability-attribute-sanity-4.stderr
+++ b/tests/ui/stability-attribute/stability-attribute-sanity-4.stderr
@@ -1,26 +1,38 @@
-error: malformed `unstable` attribute input
+error[E0539]: malformed `unstable` attribute input
   --> $DIR/stability-attribute-sanity-4.rs:8:5
    |
 LL |     #[unstable]
-   |     ^^^^^^^^^^^ help: must be of the form: `#[unstable(feature = "name", reason = "...", issue = "N")]`
+   |     ^^^^^^^^^^^
+   |     |
+   |     expected this to be a list
+   |     help: must be of the form: `#[unstable(feature = "name", reason = "...", issue = "N")]`
 
-error: malformed `unstable` attribute input
+error[E0539]: malformed `unstable` attribute input
   --> $DIR/stability-attribute-sanity-4.rs:11:5
    |
 LL |     #[unstable = "b"]
-   |     ^^^^^^^^^^^^^^^^^ help: must be of the form: `#[unstable(feature = "name", reason = "...", issue = "N")]`
+   |     ^^^^^^^^^^^^^^^^^
+   |     |
+   |     expected this to be a list
+   |     help: must be of the form: `#[unstable(feature = "name", reason = "...", issue = "N")]`
 
-error: malformed `stable` attribute input
+error[E0539]: malformed `stable` attribute input
   --> $DIR/stability-attribute-sanity-4.rs:14:5
    |
 LL |     #[stable]
-   |     ^^^^^^^^^ help: must be of the form: `#[stable(feature = "name", since = "version")]`
+   |     ^^^^^^^^^
+   |     |
+   |     expected this to be a list
+   |     help: must be of the form: `#[stable(feature = "name", since = "version")]`
 
-error: malformed `stable` attribute input
+error[E0539]: malformed `stable` attribute input
   --> $DIR/stability-attribute-sanity-4.rs:17:5
    |
 LL |     #[stable = "a"]
-   |     ^^^^^^^^^^^^^^^ help: must be of the form: `#[stable(feature = "name", since = "version")]`
+   |     ^^^^^^^^^^^^^^^
+   |     |
+   |     expected this to be a list
+   |     help: must be of the form: `#[stable(feature = "name", since = "version")]`
 
 error[E0542]: missing 'since'
   --> $DIR/stability-attribute-sanity-4.rs:21:5
@@ -42,5 +54,5 @@ LL |     #[deprecated = "a"]
 
 error: aborting due to 7 previous errors
 
-Some errors have detailed explanations: E0542, E0543.
-For more information about an error, try `rustc --explain E0542`.
+Some errors have detailed explanations: E0539, E0542, E0543.
+For more information about an error, try `rustc --explain E0539`.
diff --git a/tests/ui/statics/issue-15261.stderr b/tests/ui/statics/issue-15261.stderr
index d2dd762aa66..60c5fb93dba 100644
--- a/tests/ui/statics/issue-15261.stderr
+++ b/tests/ui/statics/issue-15261.stderr
@@ -4,7 +4,7 @@ warning: creating a shared reference to mutable static
 LL | static n: &'static usize = unsafe { &n_mut };
    |                                     ^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
diff --git a/tests/ui/statics/static-mut-shared-parens.stderr b/tests/ui/statics/static-mut-shared-parens.stderr
index 3825e8efc42..16daee091a8 100644
--- a/tests/ui/statics/static-mut-shared-parens.stderr
+++ b/tests/ui/statics/static-mut-shared-parens.stderr
@@ -4,7 +4,7 @@ warning: creating a shared reference to mutable static
 LL |     let _ = unsafe { (&TEST) as *const usize };
    |                      ^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
@@ -18,7 +18,7 @@ warning: creating a mutable reference to mutable static
 LL |     let _ = unsafe { (&mut TEST) as *const usize };
    |                      ^^^^^^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
diff --git a/tests/ui/statics/static-mut-xc.stderr b/tests/ui/statics/static-mut-xc.stderr
index 2d7a0553e92..2e5aa1b2645 100644
--- a/tests/ui/statics/static-mut-xc.stderr
+++ b/tests/ui/statics/static-mut-xc.stderr
@@ -4,7 +4,7 @@ warning: creating a shared reference to mutable static
 LL |     assert_eq!(static_mut_xc::a, 3);
    |                ^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 
@@ -14,7 +14,7 @@ warning: creating a shared reference to mutable static
 LL |     assert_eq!(static_mut_xc::a, 4);
    |                ^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -23,7 +23,7 @@ warning: creating a shared reference to mutable static
 LL |     assert_eq!(static_mut_xc::a, 5);
    |                ^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -32,7 +32,7 @@ warning: creating a shared reference to mutable static
 LL |     assert_eq!(static_mut_xc::a, 15);
    |                ^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -41,7 +41,7 @@ warning: creating a shared reference to mutable static
 LL |     assert_eq!(static_mut_xc::a, -3);
    |                ^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: creating a shared reference to mutable static
@@ -50,7 +50,7 @@ warning: creating a shared reference to mutable static
 LL |     static_bound(&static_mut_xc::a);
    |                  ^^^^^^^^^^^^^^^^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 help: use `&raw const` instead to create a raw pointer
    |
@@ -63,7 +63,7 @@ warning: creating a mutable reference to mutable static
 LL |     static_bound_set(&mut static_mut_xc::a);
    |                      ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
 help: use `&raw mut` instead to create a raw pointer
    |
diff --git a/tests/ui/statics/static-recursive.stderr b/tests/ui/statics/static-recursive.stderr
index 252807e2e5d..0c3f961372b 100644
--- a/tests/ui/statics/static-recursive.stderr
+++ b/tests/ui/statics/static-recursive.stderr
@@ -4,7 +4,7 @@ warning: creating a shared reference to mutable static
 LL | static mut S: *const u8 = unsafe { &S as *const *const u8 as *const u8 };
    |                                    ^^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
    = note: `#[warn(static_mut_refs)]` on by default
 help: use `&raw const` instead to create a raw pointer
@@ -18,7 +18,7 @@ warning: creating a shared reference to mutable static
 LL |         assert_eq!(S, *(S as *const *const u8));
    |                    ^ shared reference to mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
 
 warning: 2 warnings emitted
diff --git a/tests/ui/std/issue-81357-unsound-file-methods.rs b/tests/ui/std/issue-81357-unsound-file-methods.rs
index 838df40c32d..99bd31aa260 100644
--- a/tests/ui/std/issue-81357-unsound-file-methods.rs
+++ b/tests/ui/std/issue-81357-unsound-file-methods.rs
@@ -1,4 +1,4 @@
-//@ run-fail
+//@ run-crash
 //@ only-windows
 
 fn main() {
diff --git a/tests/ui/suggestions/issue-116434-2015.stderr b/tests/ui/suggestions/issue-116434-2015.stderr
index cad5812da66..e7173d91438 100644
--- a/tests/ui/suggestions/issue-116434-2015.stderr
+++ b/tests/ui/suggestions/issue-116434-2015.stderr
@@ -5,7 +5,7 @@ LL |     fn foo() -> Clone;
    |                 ^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL |     fn foo() -> Clone;
    |                 ^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -52,7 +52,7 @@ LL |     fn handle() -> DbHandle;
    |                    ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     fn handle() -> dyn DbHandle;
@@ -65,7 +65,7 @@ LL |     fn handle() -> DbHandle;
    |                    ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/suggestions/issue-61963.stderr b/tests/ui/suggestions/issue-61963.stderr
index ef11efe5c74..ffdeef12bb7 100644
--- a/tests/ui/suggestions/issue-61963.stderr
+++ b/tests/ui/suggestions/issue-61963.stderr
@@ -5,7 +5,7 @@ LL |     bar: Box<Bar>,
    |              ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 note: the lint level is defined here
   --> $DIR/issue-61963.rs:4:9
    |
@@ -23,7 +23,7 @@ LL | pub struct Foo {
    | ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | dyn pub struct Foo {
diff --git a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
index 929f893e34f..d90dd201bcf 100644
--- a/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
+++ b/tests/ui/suggestions/suggest-swapping-self-ty-and-trait.stderr
@@ -68,7 +68,7 @@ LL | impl<'a, T> Struct<T> for Trait<'a, T> {}
    |                           ^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -82,7 +82,7 @@ LL | impl<'a, T> Enum<T> for Trait<'a, T> {}
    |                         ^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | impl<'a, T> Enum<T> for dyn Trait<'a, T> {}
@@ -95,7 +95,7 @@ LL | impl<'a, T> Union<T> for Trait<'a, T> {}
    |                          ^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | impl<'a, T> Union<T> for dyn Trait<'a, T> {}
diff --git a/tests/ui/traits/bound/not-on-bare-trait.stderr b/tests/ui/traits/bound/not-on-bare-trait.stderr
index 9028e66fa02..69413ca96cd 100644
--- a/tests/ui/traits/bound/not-on-bare-trait.stderr
+++ b/tests/ui/traits/bound/not-on-bare-trait.stderr
@@ -5,7 +5,7 @@ LL | fn foo(_x: Foo + Send) {
    |            ^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/traits/const-traits/hir-const-check.rs b/tests/ui/traits/const-traits/hir-const-check.rs
index c485fb12184..1b6fa1afab9 100644
--- a/tests/ui/traits/const-traits/hir-const-check.rs
+++ b/tests/ui/traits/const-traits/hir-const-check.rs
@@ -1,8 +1,10 @@
+//@ check-pass
 //@ compile-flags: -Znext-solver
 
 // Regression test for #69615.
 
 #![feature(const_trait_impl)]
+#![feature(const_try)]
 
 #[const_trait]
 pub trait MyTrait {
@@ -12,8 +14,6 @@ pub trait MyTrait {
 impl const MyTrait for () {
     fn method(&self) -> Option<()> {
         Some(())?;
-        //~^ ERROR `?` is not allowed on
-        //~| ERROR `?` is not allowed on
         None
     }
 }
diff --git a/tests/ui/traits/const-traits/hir-const-check.stderr b/tests/ui/traits/const-traits/hir-const-check.stderr
deleted file mode 100644
index d66a7ea3144..00000000000
--- a/tests/ui/traits/const-traits/hir-const-check.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
-  --> $DIR/hir-const-check.rs:14:9
-   |
-LL |         Some(())?;
-   |         ^^^^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `Option<()>` in constant functions
-  --> $DIR/hir-const-check.rs:14:9
-   |
-LL |         Some(())?;
-   |         ^^^^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.rs b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.rs
index 47c85980aca..af552ac0c5e 100644
--- a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.rs
+++ b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.rs
@@ -1,11 +1,10 @@
 #![allow(incomplete_features)]
-#![feature(const_trait_impl, try_trait_v2)]
+#![feature(const_trait_impl, const_try, try_trait_v2)]
 
 use std::ops::FromResidual;
 
 impl<T> const FromResidual for T {
-    //~^ ERROR const `impl` for trait `FromResidual` which is not `const`
-    //~| ERROR type parameter `T` must be used as the type parameter for some local type
+    //~^ ERROR type parameter `T` must be used as the type parameter for some local type
     fn from_residual(t: T) -> _ {
         //~^ ERROR the placeholder `_` is not allowed
         t
diff --git a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
index 5c5fba95f02..08fc73fe77b 100644
--- a/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
+++ b/tests/ui/traits/const-traits/ice-119717-constant-lifetime.stderr
@@ -1,12 +1,3 @@
-error: const `impl` for trait `FromResidual` which is not `const`
-  --> $DIR/ice-119717-constant-lifetime.rs:6:15
-   |
-LL | impl<T> const FromResidual for T {
-   |               ^^^^^^^^^^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
 error[E0210]: type parameter `T` must be used as the type parameter for some local type (e.g., `MyStruct<T>`)
   --> $DIR/ice-119717-constant-lifetime.rs:6:6
    |
@@ -17,7 +8,7 @@ LL | impl<T> const FromResidual for T {
    = note: only traits defined in the current crate can be implemented for a type parameter
 
 error[E0121]: the placeholder `_` is not allowed within types on item signatures for associated functions
-  --> $DIR/ice-119717-constant-lifetime.rs:9:31
+  --> $DIR/ice-119717-constant-lifetime.rs:8:31
    |
 LL |     fn from_residual(t: T) -> _ {
    |                               ^ not allowed in type signatures
@@ -28,7 +19,7 @@ LL -     fn from_residual(t: T) -> _ {
 LL +     fn from_residual(t: T) -> T {
    |
 
-error: aborting due to 3 previous errors
+error: aborting due to 2 previous errors
 
 Some errors have detailed explanations: E0121, E0210.
 For more information about an error, try `rustc --explain E0121`.
diff --git a/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.rs b/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.rs
index 5e368b9e6a9..bfce9dc9c73 100644
--- a/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.rs
+++ b/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.rs
@@ -6,20 +6,16 @@ struct TryMe;
 struct Error;
 
 impl const FromResidual<Error> for TryMe {}
-//~^ ERROR const `impl` for trait `FromResidual` which is not `const`
-//~| ERROR not all trait items implemented
+//~^ ERROR not all trait items implemented
 
 impl const Try for TryMe {
-    //~^ ERROR const `impl` for trait `Try` which is not `const`
-    //~| ERROR not all trait items implemented
+    //~^ ERROR not all trait items implemented
     type Output = ();
     type Residual = Error;
 }
 
 const fn t() -> TryMe {
     TryMe?;
-    //~^ ERROR `?` is not allowed on
-    //~| ERROR `?` is not allowed on
     TryMe
 }
 
diff --git a/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.stderr b/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.stderr
index 849d6522cd6..183203aa8ba 100644
--- a/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.stderr
+++ b/tests/ui/traits/const-traits/ice-126148-failed-to-normalize.stderr
@@ -1,12 +1,3 @@
-error: const `impl` for trait `FromResidual` which is not `const`
-  --> $DIR/ice-126148-failed-to-normalize.rs:8:12
-   |
-LL | impl const FromResidual<Error> for TryMe {}
-   |            ^^^^^^^^^^^^^^^^^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
 error[E0046]: not all trait items implemented, missing: `from_residual`
   --> $DIR/ice-126148-failed-to-normalize.rs:8:1
    |
@@ -15,17 +6,8 @@ LL | impl const FromResidual<Error> for TryMe {}
    |
    = help: implement the missing item: `fn from_residual(_: Error) -> Self { todo!() }`
 
-error: const `impl` for trait `Try` which is not `const`
-  --> $DIR/ice-126148-failed-to-normalize.rs:12:12
-   |
-LL | impl const Try for TryMe {
-   |            ^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
 error[E0046]: not all trait items implemented, missing: `from_output`, `branch`
-  --> $DIR/ice-126148-failed-to-normalize.rs:12:1
+  --> $DIR/ice-126148-failed-to-normalize.rs:11:1
    |
 LL | impl const Try for TryMe {
    | ^^^^^^^^^^^^^^^^^^^^^^^^ missing `from_output`, `branch` in implementation
@@ -33,23 +15,6 @@ LL | impl const Try for TryMe {
    = help: implement the missing item: `fn from_output(_: <Self as Try>::Output) -> Self { todo!() }`
    = help: implement the missing item: `fn branch(self) -> ControlFlow<<Self as Try>::Residual, <Self as Try>::Output> { todo!() }`
 
-error[E0015]: `?` is not allowed on `TryMe` in constant functions
-  --> $DIR/ice-126148-failed-to-normalize.rs:20:5
-   |
-LL |     TryMe?;
-   |     ^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `TryMe` in constant functions
-  --> $DIR/ice-126148-failed-to-normalize.rs:20:5
-   |
-LL |     TryMe?;
-   |     ^^^^^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 6 previous errors
+error: aborting due to 2 previous errors
 
-Some errors have detailed explanations: E0015, E0046.
-For more information about an error, try `rustc --explain E0015`.
+For more information about this error, try `rustc --explain E0046`.
diff --git a/tests/ui/traits/const-traits/trait-default-body-stability.rs b/tests/ui/traits/const-traits/trait-default-body-stability.rs
index 567f1b3c284..a8157d37ce3 100644
--- a/tests/ui/traits/const-traits/trait-default-body-stability.rs
+++ b/tests/ui/traits/const-traits/trait-default-body-stability.rs
@@ -1,4 +1,4 @@
-//@ known-bug: #110395
+//@ check-pass
 //@ compile-flags: -Znext-solver
 #![allow(incomplete_features)]
 #![feature(staged_api)]
diff --git a/tests/ui/traits/const-traits/trait-default-body-stability.stderr b/tests/ui/traits/const-traits/trait-default-body-stability.stderr
deleted file mode 100644
index b995d6f4f3d..00000000000
--- a/tests/ui/traits/const-traits/trait-default-body-stability.stderr
+++ /dev/null
@@ -1,37 +0,0 @@
-error: const `impl` for trait `Try` which is not `const`
-  --> $DIR/trait-default-body-stability.rs:19:12
-   |
-LL | impl const Try for T {
-   |            ^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `FromResidual` which is not `const`
-  --> $DIR/trait-default-body-stability.rs:34:12
-   |
-LL | impl const FromResidual for T {
-   |            ^^^^^^^^^^^^ this trait is not `const`
-   |
-   = note: marking a trait with `const` ensures all default method bodies are `const`
-   = note: adding a non-const method body in the future would be a breaking change
-
-error[E0015]: `?` is not allowed on `T` in constant functions
-  --> $DIR/trait-default-body-stability.rs:46:9
-   |
-LL |         T?
-   |         ^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error[E0015]: `?` is not allowed on `T` in constant functions
-  --> $DIR/trait-default-body-stability.rs:46:9
-   |
-LL |         T?
-   |         ^^
-   |
-   = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/traits/missing-for-type-in-impl.e2015.stderr b/tests/ui/traits/missing-for-type-in-impl.e2015.stderr
index c8a1329e3d0..a0bfc524252 100644
--- a/tests/ui/traits/missing-for-type-in-impl.e2015.stderr
+++ b/tests/ui/traits/missing-for-type-in-impl.e2015.stderr
@@ -5,7 +5,7 @@ LL | impl Foo<i64> {
    |      ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -23,7 +23,7 @@ LL | impl Foo<i64> {
    |      ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
 help: if this is a dyn-compatible trait, use `dyn`
    |
diff --git a/tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.stderr b/tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.stderr
index 1eb445f4848..8901805a20f 100644
--- a/tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.stderr
+++ b/tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.stderr
@@ -12,13 +12,6 @@ LL | impl<T: Bound, U> Trait<U> for T {
    |         -----     ^^^^^^^^     ^
    |         |
    |         unsatisfied trait bound introduced here
-note: required by a bound in `Bound`
-  --> $DIR/normalizes-to-is-not-productive.rs:8:1
-   |
-LL | / trait Bound {
-LL | |     fn method();
-LL | | }
-   | |_^ required by this bound in `Bound`
 
 error[E0277]: the trait bound `Foo: Bound` is not satisfied
   --> $DIR/normalizes-to-is-not-productive.rs:47:19
diff --git a/tests/ui/traits/next-solver/normalize/normalize-param-env-2.stderr b/tests/ui/traits/next-solver/normalize/normalize-param-env-2.stderr
index 8d8909625ff..d179c805962 100644
--- a/tests/ui/traits/next-solver/normalize/normalize-param-env-2.stderr
+++ b/tests/ui/traits/next-solver/normalize/normalize-param-env-2.stderr
@@ -19,23 +19,6 @@ error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
 LL |         Self::Assoc: A<T>,
    |                      ^^^^
 
-error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: MetaSized`
-  --> $DIR/normalize-param-env-2.rs:24:22
-   |
-LL |         Self::Assoc: A<T>,
-   |                      ^^^^
-   |
-note: required by a bound in `A`
-  --> $DIR/normalize-param-env-2.rs:9:1
-   |
-LL | / trait A<T> {
-LL | |     type Assoc;
-LL | |
-LL | |     fn f()
-...  |
-LL | | }
-   | |_^ required by this bound in `A`
-
 error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc well-formed`
   --> $DIR/normalize-param-env-2.rs:24:22
    |
@@ -63,6 +46,6 @@ LL |     where
 LL |         Self::Assoc: A<T>,
    |                      ^^^^ required by this bound in `A::f`
 
-error: aborting due to 6 previous errors
+error: aborting due to 5 previous errors
 
 For more information about this error, try `rustc --explain E0275`.
diff --git a/tests/ui/traits/next-solver/normalize/normalize-param-env-4.next.stderr b/tests/ui/traits/next-solver/normalize/normalize-param-env-4.next.stderr
index 9f7f74f9466..f5fd9ce9864 100644
--- a/tests/ui/traits/next-solver/normalize/normalize-param-env-4.next.stderr
+++ b/tests/ui/traits/next-solver/normalize/normalize-param-env-4.next.stderr
@@ -4,20 +4,6 @@ error[E0275]: overflow evaluating the requirement `<T as Trait>::Assoc: Trait`
 LL |     <T as Trait>::Assoc: Trait,
    |                          ^^^^^
 
-error[E0275]: overflow evaluating the requirement `<T as Trait>::Assoc: MetaSized`
-  --> $DIR/normalize-param-env-4.rs:19:26
-   |
-LL |     <T as Trait>::Assoc: Trait,
-   |                          ^^^^^
-   |
-note: required by a bound in `Trait`
-  --> $DIR/normalize-param-env-4.rs:7:1
-   |
-LL | / trait Trait {
-LL | |     type Assoc;
-LL | | }
-   | |_^ required by this bound in `Trait`
-
-error: aborting due to 2 previous errors
+error: aborting due to 1 previous error
 
 For more information about this error, try `rustc --explain E0275`.
diff --git a/tests/ui/traits/unspecified-self-in-trait-ref.stderr b/tests/ui/traits/unspecified-self-in-trait-ref.stderr
index 6f5ae786de6..2e872453184 100644
--- a/tests/ui/traits/unspecified-self-in-trait-ref.stderr
+++ b/tests/ui/traits/unspecified-self-in-trait-ref.stderr
@@ -5,7 +5,7 @@ LL |     let a = Foo::lol();
    |             ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -25,7 +25,7 @@ LL |     let b = Foo::<_>::lol();
    |             ^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let b = <dyn Foo::<_>>::lol();
@@ -44,7 +44,7 @@ LL |     let c = Bar::lol();
    |             ^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let c = <dyn Bar>::lol();
@@ -63,7 +63,7 @@ LL |     let d = Bar::<usize, _>::lol();
    |             ^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let d = <dyn Bar::<usize, _>>::lol();
@@ -82,7 +82,7 @@ LL |     let e = Bar::<usize>::lol();
    |             ^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL |     let e = <dyn Bar::<usize>>::lol();
diff --git a/tests/crashes/131507.rs b/tests/ui/trivial-bounds/everybody-copies.rs
index 05b5e76bed7..3469fa1f1da 100644
--- a/tests/crashes/131507.rs
+++ b/tests/ui/trivial-bounds/everybody-copies.rs
@@ -1,5 +1,8 @@
-//@ known-bug: #131507
-//@ compile-flags: -Zmir-enable-passes=+GVN -Zmir-enable-passes=+Inline -Zvalidate-mir
+//! Regression test for #131507
+//@ compile-flags: -Zmir-enable-passes=+GVN -Zmir-enable-passes=+Inline -Zvalidate-mir --crate-type lib
+//@ build-pass
+
+#![expect(incomplete_features)]
 #![feature(non_lifetime_binders)]
 
 fn brick()
diff --git a/tests/crashes/121363.rs b/tests/ui/trivial-bounds/two-sized-strs.rs
index 38796342284..5cb82eac417 100644
--- a/tests/crashes/121363.rs
+++ b/tests/ui/trivial-bounds/two-sized-strs.rs
@@ -1,7 +1,9 @@
-//@ known-bug: #121363
+//! Regression test for #121363
 //@ compile-flags: -Zmir-enable-passes=+GVN --crate-type lib
+//@ build-pass
 
 #![feature(trivial_bounds)]
+#![expect(trivial_bounds)]
 
 #[derive(Debug)]
 struct TwoStrs(str, str)
diff --git a/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr b/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr
index 084008d8b2a..13ae6dfcaa3 100644
--- a/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr
+++ b/tests/ui/type-alias-enum-variants/self-in-enum-definition.stderr
@@ -9,36 +9,6 @@ note: ...which requires const-evaluating + checking `Alpha::V3::{constant#0}`...
    |
 LL |     V3 = Self::V1 {} as u8 + 2,
    |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires caching mir of `Alpha::V3::{constant#0}` for CTFE...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires elaborating drops for `Alpha::V3::{constant#0}`...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires borrow-checking `Alpha::V3::{constant#0}`...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires promoting constants in MIR for `Alpha::V3::{constant#0}`...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires const checking `Alpha::V3::{constant#0}`...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires building MIR for `Alpha::V3::{constant#0}`...
-  --> $DIR/self-in-enum-definition.rs:5:10
-   |
-LL |     V3 = Self::V1 {} as u8 + 2,
-   |          ^^^^^^^^^^^^^^^^^^^^^
    = note: ...which requires computing layout of `Alpha`...
    = note: ...which again requires simplifying constant for the type system `Alpha::V3::{constant#0}`, completing the cycle
 note: cycle used when checking that `Alpha` is well-formed
diff --git a/tests/ui/type-alias-impl-trait/issue-60662.stdout b/tests/ui/type-alias-impl-trait/issue-60662.stdout
index 56fef852e37..52152a73aff 100644
--- a/tests/ui/type-alias-impl-trait/issue-60662.stdout
+++ b/tests/ui/type-alias-impl-trait/issue-60662.stdout
@@ -5,7 +5,7 @@
 #![feature(type_alias_impl_trait)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 trait Animal { }
diff --git a/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.rs b/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.rs
new file mode 100644
index 00000000000..3b3ea058630
--- /dev/null
+++ b/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.rs
@@ -0,0 +1,19 @@
+#[derive(Debug, Clone)]
+struct Struct { field: S }
+
+#[derive(Debug, Clone)]
+struct S;
+
+macro_rules! expand {
+    ($ident:ident) => { Struct { $ident } }
+}
+
+fn test1() {
+    let field = &S;
+    let a: Struct = dbg!(expand!(field)); //~ ERROR mismatched types [E0308]
+    let b: Struct = dbg!(Struct { field }); //~ ERROR mismatched types [E0308]
+    let c: S = dbg!(field); //~ ERROR mismatched types [E0308]
+    let c: S = dbg!(dbg!(field)); //~ ERROR mismatched types [E0308]
+}
+
+fn main() {}
diff --git a/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.stderr b/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.stderr
new file mode 100644
index 00000000000..59e56f67237
--- /dev/null
+++ b/tests/ui/typeck/suggestions/suggest-clone-in-macro-issue-139253.stderr
@@ -0,0 +1,49 @@
+error[E0308]: mismatched types
+  --> $DIR/suggest-clone-in-macro-issue-139253.rs:13:34
+   |
+LL |     let a: Struct = dbg!(expand!(field));
+   |                                  ^^^^^ expected `S`, found `&S`
+   |
+help: consider using clone here
+   |
+LL |     let a: Struct = dbg!(expand!(field: field.clone()));
+   |                                       +++++++++++++++
+
+error[E0308]: mismatched types
+  --> $DIR/suggest-clone-in-macro-issue-139253.rs:14:35
+   |
+LL |     let b: Struct = dbg!(Struct { field });
+   |                                   ^^^^^ expected `S`, found `&S`
+   |
+help: consider using clone here
+   |
+LL |     let b: Struct = dbg!(Struct { field: field.clone() });
+   |                                        +++++++++++++++
+
+error[E0308]: mismatched types
+  --> $DIR/suggest-clone-in-macro-issue-139253.rs:15:16
+   |
+LL |     let c: S = dbg!(field);
+   |                ^^^^^^^^^^^ expected `S`, found `&S`
+   |
+   = note: this error originates in the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: consider using clone here
+   |
+LL |     let c: S = dbg!(field).clone();
+   |                           ++++++++
+
+error[E0308]: mismatched types
+  --> $DIR/suggest-clone-in-macro-issue-139253.rs:16:16
+   |
+LL |     let c: S = dbg!(dbg!(field));
+   |                ^^^^^^^^^^^^^^^^^ expected `S`, found `&S`
+   |
+   = note: this error originates in the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: consider using clone here
+   |
+LL |     let c: S = dbg!(dbg!(field)).clone();
+   |                                 ++++++++
+
+error: aborting due to 4 previous errors
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/tests/ui/uninhabited/auxiliary/staged-api.rs b/tests/ui/uninhabited/auxiliary/staged-api.rs
index 342ecf020ea..925bb1e0c65 100644
--- a/tests/ui/uninhabited/auxiliary/staged-api.rs
+++ b/tests/ui/uninhabited/auxiliary/staged-api.rs
@@ -6,3 +6,9 @@ pub struct Foo<T> {
     #[unstable(feature = "unstable", issue = "none")]
     pub field: T,
 }
+
+#[unstable(feature = "my_coro_state", issue = "none")]
+pub enum MyCoroutineState<Y, R> {
+    Yielded(Y),
+    Complete(R),
+}
diff --git a/tests/ui/uninhabited/uninhabited-unstable-field.current.stderr b/tests/ui/uninhabited/uninhabited-unstable-field.current.stderr
deleted file mode 100644
index 9e0feb4c473..00000000000
--- a/tests/ui/uninhabited/uninhabited-unstable-field.current.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0004]: non-exhaustive patterns: type `Foo<Void>` is non-empty
-  --> $DIR/uninhabited-unstable-field.rs:13:11
-   |
-LL |     match x {}
-   |           ^
-   |
-note: `Foo<Void>` defined here
-  --> $DIR/auxiliary/staged-api.rs:5:1
-   |
-LL | pub struct Foo<T> {
-   | ^^^^^^^^^^^^^^^^^
-   = note: the matched value is of type `Foo<Void>`
-help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown
-   |
-LL ~     match x {
-LL +         _ => todo!(),
-LL ~     }
-   |
-
-error: aborting due to 1 previous error
-
-For more information about this error, try `rustc --explain E0004`.
diff --git a/tests/ui/uninhabited/uninhabited-unstable-field.exhaustive.stderr b/tests/ui/uninhabited/uninhabited-unstable-field.exhaustive.stderr
deleted file mode 100644
index 9e0feb4c473..00000000000
--- a/tests/ui/uninhabited/uninhabited-unstable-field.exhaustive.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0004]: non-exhaustive patterns: type `Foo<Void>` is non-empty
-  --> $DIR/uninhabited-unstable-field.rs:13:11
-   |
-LL |     match x {}
-   |           ^
-   |
-note: `Foo<Void>` defined here
-  --> $DIR/auxiliary/staged-api.rs:5:1
-   |
-LL | pub struct Foo<T> {
-   | ^^^^^^^^^^^^^^^^^
-   = note: the matched value is of type `Foo<Void>`
-help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown
-   |
-LL ~     match x {
-LL +         _ => todo!(),
-LL ~     }
-   |
-
-error: aborting due to 1 previous error
-
-For more information about this error, try `rustc --explain E0004`.
diff --git a/tests/ui/uninhabited/uninhabited-unstable-field.rs b/tests/ui/uninhabited/uninhabited-unstable-field.rs
index 9b507c518ab..321b864aa27 100644
--- a/tests/ui/uninhabited/uninhabited-unstable-field.rs
+++ b/tests/ui/uninhabited/uninhabited-unstable-field.rs
@@ -1,29 +1,45 @@
 //@ aux-build: staged-api.rs
-//@ revisions: current exhaustive
-
+//! The field of `Pin` used to be public, which would cause `Pin<Void>` to be uninhabited. To remedy
+//! this, we temporarily made it so unstable fields are always considered inhabited. This has now
+//! been reverted, and this file ensures that we don't special-case unstable fields wrt
+//! inhabitedness anymore.
 #![feature(exhaustive_patterns)]
+#![feature(never_type)]
+#![feature(my_coro_state)] // Custom feature from `staged-api.rs`
+#![deny(unreachable_patterns)]
 
 extern crate staged_api;
 
-use staged_api::Foo;
+use staged_api::{Foo, MyCoroutineState};
 
 enum Void {}
 
 fn demo(x: Foo<Void>) {
     match x {}
-    //~^ ERROR non-exhaustive patterns
 }
 
-// Ensure that the pattern is not considered unreachable.
+// Ensure that the pattern is considered unreachable.
 fn demo2(x: Foo<Void>) {
     match x {
-        Foo { .. } => {}
+        Foo { .. } => {} //~ ERROR unreachable
     }
 }
 
 // Same as above, but for wildcard.
 fn demo3(x: Foo<Void>) {
-    match x { _ => {} }
+    match x {
+        _ => {} //~ ERROR unreachable
+    }
+}
+
+fn unstable_enum(x: MyCoroutineState<i32, !>) {
+    match x {
+        MyCoroutineState::Yielded(_) => {}
+    }
+    match x {
+        MyCoroutineState::Yielded(_) => {}
+        MyCoroutineState::Complete(_) => {} //~ ERROR unreachable
+    }
 }
 
 fn main() {}
diff --git a/tests/ui/uninhabited/uninhabited-unstable-field.stderr b/tests/ui/uninhabited/uninhabited-unstable-field.stderr
new file mode 100644
index 00000000000..a0c9f9366a6
--- /dev/null
+++ b/tests/ui/uninhabited/uninhabited-unstable-field.stderr
@@ -0,0 +1,40 @@
+error: unreachable pattern
+  --> $DIR/uninhabited-unstable-field.rs:24:9
+   |
+LL |         Foo { .. } => {}
+   |         ^^^^^^^^^^------
+   |         |
+   |         matches no values because `Foo<Void>` is uninhabited
+   |         help: remove the match arm
+   |
+   = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
+note: the lint level is defined here
+  --> $DIR/uninhabited-unstable-field.rs:9:9
+   |
+LL | #![deny(unreachable_patterns)]
+   |         ^^^^^^^^^^^^^^^^^^^^
+
+error: unreachable pattern
+  --> $DIR/uninhabited-unstable-field.rs:31:9
+   |
+LL |         _ => {}
+   |         ^------
+   |         |
+   |         matches no values because `Foo<Void>` is uninhabited
+   |         help: remove the match arm
+   |
+   = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
+
+error: unreachable pattern
+  --> $DIR/uninhabited-unstable-field.rs:41:9
+   |
+LL |         MyCoroutineState::Complete(_) => {}
+   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------
+   |         |
+   |         matches no values because `!` is uninhabited
+   |         help: remove the match arm
+   |
+   = note: to learn more about uninhabited types, see https://doc.rust-lang.org/nomicon/exotic-sizes.html#empty-types
+
+error: aborting due to 3 previous errors
+
diff --git a/tests/ui/unpretty/bad-literal.stdout b/tests/ui/unpretty/bad-literal.stdout
index 06116a4ab55..ba8467359cd 100644
--- a/tests/ui/unpretty/bad-literal.stdout
+++ b/tests/ui/unpretty/bad-literal.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-fail
diff --git a/tests/ui/unpretty/debug-fmt-hir.stdout b/tests/ui/unpretty/debug-fmt-hir.stdout
index dc18675ea80..1d224c9e91f 100644
--- a/tests/ui/unpretty/debug-fmt-hir.stdout
+++ b/tests/ui/unpretty/debug-fmt-hir.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
diff --git a/tests/ui/unpretty/deprecated-attr.stdout b/tests/ui/unpretty/deprecated-attr.stdout
index 042c2f61bd4..0abeef6f61e 100644
--- a/tests/ui/unpretty/deprecated-attr.stdout
+++ b/tests/ui/unpretty/deprecated-attr.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
diff --git a/tests/ui/unpretty/diagnostic-attr.stdout b/tests/ui/unpretty/diagnostic-attr.stdout
index 3b15a845d68..a1325c61ca7 100644
--- a/tests/ui/unpretty/diagnostic-attr.stdout
+++ b/tests/ui/unpretty/diagnostic-attr.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
diff --git a/tests/ui/unpretty/exhaustive-asm.hir.stdout b/tests/ui/unpretty/exhaustive-asm.hir.stdout
index ec9bda57331..bbd846a8845 100644
--- a/tests/ui/unpretty/exhaustive-asm.hir.stdout
+++ b/tests/ui/unpretty/exhaustive-asm.hir.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use std::prelude::rust_2024::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ revisions: expanded hir
 //@[expanded]compile-flags: -Zunpretty=expanded
diff --git a/tests/ui/unpretty/exhaustive.hir.stdout b/tests/ui/unpretty/exhaustive.hir.stdout
index a559d51ed5d..77807728c9d 100644
--- a/tests/ui/unpretty/exhaustive.hir.stdout
+++ b/tests/ui/unpretty/exhaustive.hir.stdout
@@ -30,7 +30,7 @@
 #![allow(incomplete_features)]
 #[prelude_import]
 use std::prelude::rust_2024::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 #[prelude_import]
diff --git a/tests/ui/unpretty/flattened-format-args.stdout b/tests/ui/unpretty/flattened-format-args.stdout
index 4af82924c7b..3cd02734665 100644
--- a/tests/ui/unpretty/flattened-format-args.stdout
+++ b/tests/ui/unpretty/flattened-format-args.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir -Zflatten-format-args=yes
 //@ check-pass
diff --git a/tests/ui/unpretty/let-else-hir.stdout b/tests/ui/unpretty/let-else-hir.stdout
index a6dd943ec1b..a83790d8bee 100644
--- a/tests/ui/unpretty/let-else-hir.stdout
+++ b/tests/ui/unpretty/let-else-hir.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
diff --git a/tests/ui/unpretty/self-hir.stdout b/tests/ui/unpretty/self-hir.stdout
index a9e80b1f592..1eafc3c8b46 100644
--- a/tests/ui/unpretty/self-hir.stdout
+++ b/tests/ui/unpretty/self-hir.stdout
@@ -1,6 +1,6 @@
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
diff --git a/tests/ui/unpretty/unpretty-expr-fn-arg.stdout b/tests/ui/unpretty/unpretty-expr-fn-arg.stdout
index fd2e794fcac..e9fd2222a8d 100644
--- a/tests/ui/unpretty/unpretty-expr-fn-arg.stdout
+++ b/tests/ui/unpretty/unpretty-expr-fn-arg.stdout
@@ -10,7 +10,7 @@
 #![allow(dead_code)]
 #[prelude_import]
 use ::std::prelude::rust_2015::*;
-#[macro_use]
+#[attr = MacroUse {arguments: UseAll}]
 extern crate std;
 
 fn main() ({ } as ())
diff --git a/tests/ui/unsafe/edition-2024-unsafe_op_in_unsafe_fn.stderr b/tests/ui/unsafe/edition-2024-unsafe_op_in_unsafe_fn.stderr
index a02c6041e45..8a26b45117c 100644
--- a/tests/ui/unsafe/edition-2024-unsafe_op_in_unsafe_fn.stderr
+++ b/tests/ui/unsafe/edition-2024-unsafe_op_in_unsafe_fn.stderr
@@ -4,7 +4,7 @@ warning[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe blo
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/edition-2024-unsafe_op_in_unsafe_fn.rs:8:1
diff --git a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/edition_2024_default.stderr b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/edition_2024_default.stderr
index 2ad1de5102d..458a2180a82 100644
--- a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/edition_2024_default.stderr
+++ b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/edition_2024_default.stderr
@@ -4,7 +4,7 @@ warning[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe blo
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/edition_2024_default.rs:11:1
diff --git a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/in_2024_compatibility.stderr b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/in_2024_compatibility.stderr
index 54447fbc528..0c4070068d0 100644
--- a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/in_2024_compatibility.stderr
+++ b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/in_2024_compatibility.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/in_2024_compatibility.rs:6:1
diff --git a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/rfc-2585-unsafe_op_in_unsafe_fn.stderr b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/rfc-2585-unsafe_op_in_unsafe_fn.stderr
index 5465c225b7e..3e43840cf6c 100644
--- a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/rfc-2585-unsafe_op_in_unsafe_fn.stderr
+++ b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/rfc-2585-unsafe_op_in_unsafe_fn.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:8:1
@@ -23,7 +23,7 @@ error[E0133]: dereference of raw pointer is unsafe and requires unsafe block
 LL |     *PTR;
    |     ^^^^ dereference of raw pointer
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
 
 error[E0133]: use of mutable static is unsafe and requires unsafe block
@@ -32,7 +32,7 @@ error[E0133]: use of mutable static is unsafe and requires unsafe block
 LL |     VOID = ();
    |     ^^^^ use of mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
 error: unnecessary `unsafe` block
@@ -53,7 +53,7 @@ error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/rfc-2585-unsafe_op_in_unsafe_fn.rs:23:1
@@ -73,7 +73,7 @@ error[E0133]: dereference of raw pointer is unsafe and requires unsafe block
 LL |     *PTR;
    |     ^^^^ dereference of raw pointer
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
 
 error[E0133]: use of mutable static is unsafe and requires unsafe block
@@ -82,7 +82,7 @@ error[E0133]: use of mutable static is unsafe and requires unsafe block
 LL |     VOID = ();
    |     ^^^^ use of mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
 error: unnecessary `unsafe` block
diff --git a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg.stderr b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg.stderr
index b48e607c53b..f7dbf39e6f2 100644
--- a/tests/ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg.stderr
+++ b/tests/ui/unsafe/unsafe_op_in_unsafe_fn/wrapping-unsafe-block-sugg.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/wrapping-unsafe-block-sugg.rs:11:1
@@ -23,7 +23,7 @@ error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
 LL |     unsf();
    |     ^^^^^^ call to unsafe function
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 
 error[E0133]: dereference of raw pointer is unsafe and requires unsafe block
@@ -32,7 +32,7 @@ error[E0133]: dereference of raw pointer is unsafe and requires unsafe block
 LL |     let y = *x;
    |             ^^ dereference of raw pointer
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/wrapping-unsafe-block-sugg.rs:23:1
@@ -46,7 +46,7 @@ error[E0133]: dereference of raw pointer is unsafe and requires unsafe block
 LL |     y + *x
    |         ^^ dereference of raw pointer
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
 
 error[E0133]: use of mutable static is unsafe and requires unsafe block
@@ -55,7 +55,7 @@ error[E0133]: use of mutable static is unsafe and requires unsafe block
 LL |     let y = BAZ;
    |             ^^^ use of mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/wrapping-unsafe-block-sugg.rs:36:1
@@ -69,7 +69,7 @@ error[E0133]: use of mutable static is unsafe and requires unsafe block
 LL |     y + BAZ
    |         ^^^ use of mutable static
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
 
 error[E0133]: call to unsafe function `unsf` is unsafe and requires unsafe block
@@ -81,7 +81,7 @@ LL | macro_rules! unsafe_macro { () => (unsf()) }
 LL |     unsafe_macro!();
    |     --------------- in this macro invocation
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
 note: an unsafe function restricts its caller, but its body is safe by default
   --> $DIR/wrapping-unsafe-block-sugg.rs:58:1
@@ -99,7 +99,7 @@ LL | macro_rules! unsafe_macro { () => (unsf()) }
 LL |     unsafe_macro!();
    |     --------------- in this macro invocation
    |
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
    = note: consult the function's documentation for information on how to avoid undefined behavior
    = note: this error originates in the macro `unsafe_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/tests/ui/wasm/simd-to-array-80108.rs b/tests/ui/wasm/simd-to-array-80108.rs
index c7f8585eaa4..f6b368992be 100644
--- a/tests/ui/wasm/simd-to-array-80108.rs
+++ b/tests/ui/wasm/simd-to-array-80108.rs
@@ -10,6 +10,8 @@ pub struct Vector([i32; 4]);
 
 impl Vector {
     pub const fn to_array(self) -> [i32; 4] {
-        self.0
+        // This used to just be `.0`, but that was banned in
+        // <https://github.com/rust-lang/compiler-team/issues/838>
+        unsafe { std::mem::transmute(self) }
     }
 }
diff --git a/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122989.stderr b/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122989.stderr
index a99728f4b66..26872f60fd3 100644
--- a/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122989.stderr
+++ b/tests/ui/wf/ice-hir-wf-check-anon-const-issue-122989.stderr
@@ -5,7 +5,7 @@ LL | trait Foo<const N: Bar<2>> {
    |                    ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
    = note: `#[warn(bare_trait_objects)]` on by default
 help: if this is a dyn-compatible trait, use `dyn`
    |
@@ -19,7 +19,7 @@ LL | trait Bar<const M: Foo<2>> {}
    |                    ^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
-   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
+   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
 help: if this is a dyn-compatible trait, use `dyn`
    |
 LL | trait Bar<const M: dyn Foo<2>> {}
diff --git a/tests/ui/where-clauses/ignore-err-clauses.rs b/tests/ui/where-clauses/ignore-err-clauses.rs
index 428ebf4b408..6f21e5ccbaa 100644
--- a/tests/ui/where-clauses/ignore-err-clauses.rs
+++ b/tests/ui/where-clauses/ignore-err-clauses.rs
@@ -1,13 +1,13 @@
 use std::ops::Add;
 
 fn dbl<T>(x: T) -> <T as Add>::Output
-//~^ ERROR type annotations needed
 where
     T: Copy + Add,
     UUU: Copy,
     //~^ ERROR cannot find type `UUU` in this scope
 {
     x + x
+    //~^ ERROR use of moved value: `x`
 }
 
 fn main() {
diff --git a/tests/ui/where-clauses/ignore-err-clauses.stderr b/tests/ui/where-clauses/ignore-err-clauses.stderr
index fbf1b99334f..9c76c1c6a04 100644
--- a/tests/ui/where-clauses/ignore-err-clauses.stderr
+++ b/tests/ui/where-clauses/ignore-err-clauses.stderr
@@ -1,16 +1,33 @@
 error[E0412]: cannot find type `UUU` in this scope
-  --> $DIR/ignore-err-clauses.rs:7:5
+  --> $DIR/ignore-err-clauses.rs:6:5
    |
 LL |     UUU: Copy,
    |     ^^^ not found in this scope
 
-error[E0282]: type annotations needed
-  --> $DIR/ignore-err-clauses.rs:3:14
+error[E0382]: use of moved value: `x`
+  --> $DIR/ignore-err-clauses.rs:9:9
    |
 LL | fn dbl<T>(x: T) -> <T as Add>::Output
-   |              ^ cannot infer type for type parameter `T`
+   |           - move occurs because `x` has type `T`, which does not implement the `Copy` trait
+...
+LL |     x + x
+   |     ----^
+   |     |   |
+   |     |   value used here after move
+   |     `x` moved due to usage in operator
+   |
+help: if `T` implemented `Clone`, you could clone the value
+  --> $DIR/ignore-err-clauses.rs:3:8
+   |
+LL | fn dbl<T>(x: T) -> <T as Add>::Output
+   |        ^ consider constraining this type parameter with `Clone`
+...
+LL |     x + x
+   |     - you could clone this value
+note: calling this operator moves the left-hand side
+  --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
 
 error: aborting due to 2 previous errors
 
-Some errors have detailed explanations: E0282, E0412.
-For more information about an error, try `rustc --explain E0282`.
+Some errors have detailed explanations: E0382, E0412.
+For more information about an error, try `rustc --explain E0382`.