rust/tests/ui
bors 6265a95b37 Auto merge of #119044 - RalfJung:intern-without-types, r=oli-obk
const-eval interning: get rid of type-driven traversal

This entirely replaces our const-eval interner, i.e. the code that takes the final result of a constant evaluation from the local memory of the const-eval machine to the global `tcx` memory. The main goal of this change is to ensure that we can detect mutable references that sneak into this final value -- this is something we want to reject for `static` and `const`, and while const-checking performs some static analysis to ensure this, I would be much more comfortable stabilizing const_mut_refs if we had a dynamic check that sanitizes the final value. (This is generally the approach we have been using on const-eval: do a static check to give nice errors upfront, and then do a dynamic check to be really sure that the properties we need for soundness, actually hold.)

We can do this now that https://github.com/rust-lang/rust/pull/118324 landed and each pointer comes with a bit (completely independent of its type) storing whether mutation is permitted through this pointer or not.

The new interner is a lot simpler than the old one: previously we did a complete type-driven traversal to determine the mutability of all memory we see, and then a second pass to intern any leftover raw pointers. The new interner simply recursively traverses the allocation holding the final result, and all allocations reachable from it (which can be determined from the raw bytes of the result, without knowing anything about types), and ensures they all get interned. The initial allocation is interned as immutable for `const` and pomoted and non-interior-mutable `static`; all other allocations are interned as immutable for `static`, `const`, and promoted. The main subtlety is justifying that those inner allocations may indeed be interned immutably, i.e., that mutating them later would anyway already be UB:
- for promoteds, we rely on the analysis that does promotion to ensure that this is sound.
- for `const` and `static`, we check that all pointers in the final result that point to things that are new (i.e., part of this const evaluation) are immutable, i.e., were created via `&<expr>` at a non-interior-mutable type. Mutation through immutable pointers is UB so we are free to intern that memory as immutable.

Interning raises an error if it encounters a dangling pointer or a mutable pointer that violates the above rules.

I also extended our type-driven const validity checks to ensure that `&mut T` in the final value of a const points to mutable memory, at least if `T` is not zero-sized. This catches cases of people turning `&i32` into `&mut i32` (which would still be considered a read-only pointer). Similarly, when these checks encounter an `UnsafeCell`, they are checking that it lives in mutable memory. (Both of these only traverse the newly created values; if those point to other consts/promoteds, the check stops there. But that's okay, we don't have to catch all the UB.) I co-developed this with the stricter interner changes but I can split it out into a separate PR if you prefer.

This PR does have the immediate effect of allowing some new code on stable, for instance:
```rust
const CONST_RAW: *const Vec<i32> = &Vec::new() as *const _;
```
Previously that code got rejected since the type-based interner didn't know what to do with that pointer. It's a raw pointer, we cannot trust its type. The new interner does not care about types so it sees no issue with this code; there's an immutable pointer pointing to some read-only memory (storing a `Vec<i32>`), all is good. Accepting this code pretty much commits us to non-type-based interning, but I think that's the better strategy anyway.

This PR also leads to slightly worse error messages when the final value of a const contains a dangling reference. Previously we would complete interning and then the type-based validation would detect this dangling reference and show a nice error saying where in the value (i.e., in which field) the dangling reference is located. However, the new interner cannot distinguish dangling references from dangling raw pointers, so it must throw an error when it encounters either of them. It doesn't have an understanding of the value structure so all it can say is "somewhere in this constant there's a dangling pointer". (Later parts of the compiler don't like dangling pointers/references so we have to reject them either during interning or during validation.) This could potentially be improved by doing validation before interning, but that's a larger change that I have not attempted yet. (It's also subtle since we do want validation to use the final mutability bits of all involved allocations, and currently it is interning that marks a bunch of allocations as immutable -- that would have to still happen before validation.)

`@rust-lang/wg-const-eval` I hope you are okay with this plan. :)
`@rust-lang/lang` paging you in since this accepts new code on stable as explained above. Please let me know if you think FCP is necessary.
2024-01-23 14:08:08 +00:00
..
abi Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
alloc-error
allocator Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
annotate-snippet Switch from using //~ERROR annotations with --error-format to error-pattern 2023-12-21 16:45:29 +05:30
anon-params macro_rules: Add more tests for using tt in addition to ident 2024-01-05 19:13:52 +03:00
argument-suggestions
array-slice-vec Bless tests 2024-01-13 12:46:58 -05:00
asm tests/ui/asm/inline-syntax: adapt for LLVM 18 2024-01-18 12:48:38 +00:00
associated-consts Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr 2024-01-20 04:57:51 +00:00
associated-inherent-types use implied bounds compat mode in MIR borrowck 2024-01-19 15:27:32 +01:00
associated-item
associated-type-bounds Don't actually make bound ty/const for RTN 2024-01-21 23:08:03 +00:00
associated-types Taint more aggressively in astconv 2024-01-11 09:03:26 +00:00
async-await Rollup merge of #119984 - kpreid:waker-noop, r=dtolnay 2024-01-19 19:27:01 +01:00
attributes Improve an error involving attribute values. 2023-12-12 15:54:25 +11:00
auto-traits Bless tests 2024-01-13 12:46:58 -05:00
autoref-autoderef
auxiliary
bench Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
binding Stabilize THIR unsafeck 2024-01-05 10:00:59 +00:00
binop Fix ICE when suggesting dereferencing binop operands 2024-01-12 17:49:37 -08:00
blind
block-result
borrowck borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
box Bless tests 2024-01-13 12:46:58 -05:00
btreemap
builtin-superkinds Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
c-variadic Auto merge of #119088 - George-lewis:glewis/suggest-upgrading-compiler, r=Nilstrieb 2024-01-13 20:06:03 +00:00
cast Update existing tests 2023-12-20 22:53:56 -05:00
cfg Auto merge of #119945 - matthiaskrgr:rollup-oy3e1j2, r=matthiaskrgr 2024-01-13 22:05:46 +00:00
check-cfg update ui test result 2024-01-22 10:25:57 -08:00
closure_context
closure-expected-type
closures Eagerly instantiate closure ty 2024-01-17 00:43:44 +00:00
cmse-nonsecure Bless tests 2024-01-13 12:46:58 -05:00
codegen Revert "Auto merge of #118133 - Urgau:stabilize_trait_upcasting, r=WaffleLapkin" 2024-01-22 14:24:31 +00:00
codemap_tests
coercion Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
coherence Make inductive cycles in coherence ambiguous always 2024-01-08 15:03:59 +00:00
coinduction update use of feature flags 2023-12-14 15:22:37 +01:00
command Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
compare-method
compiletest-self-test
conditional-compilation Bless tests 2024-01-13 12:46:58 -05:00
confuse-field-and-method
const_prop
const-generics Make generic const type mismatches not hide trait impls from the trait solver 2024-01-22 13:23:45 +00:00
const-ptr
consts raw pointers are not references 2024-01-22 09:28:00 +01:00
coroutine Remove unnecessary lets and borrowing from Waker::noop() usage. 2024-01-17 12:00:27 -08:00
crate-loading
cross
cross-crate
custom_test_frameworks
cycle-trait
debuginfo
definition-reachable
delegation Delegation implementation: step 1 2024-01-12 14:11:16 +03:00
dep-graph
deployment-target
deprecation Suggest quoting unquoted idents in attrs 2024-01-12 13:59:47 -08:00
deref-patterns
derived-errors
derives Taint more aggressively in astconv 2024-01-11 09:03:26 +00:00
deriving Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
dest-prop
destructuring-assignment Add error code for missing base expression in struct update syntax 2024-01-09 19:25:54 +00:00
diagnostic_namespace Bless tests 2024-01-13 12:46:58 -05:00
diagnostic-flags
diagnostic-width Switch from using //~ERROR annotations with --error-format to error-pattern 2023-12-21 16:45:29 +05:30
did_you_mean Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
directory_ownership
disallowed-deconstructing
dollar-crate
drop Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
drop-bounds
dropck Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
dst Provide better suggestions for T == &T and &T == T 2023-12-16 19:56:50 -08:00
duplicate
dyn-drop
dyn-keyword Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
dyn-star Revert "Auto merge of #118133 - Urgau:stabilize_trait_upcasting, r=WaffleLapkin" 2024-01-22 14:24:31 +00:00
dynamically-sized-types
editions macro_rules: Add more tests for using tt in addition to ident 2024-01-05 19:13:52 +03:00
empty
entry-point Update test 2023-12-23 00:09:37 +08:00
enum
enum-discriminant Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
error-codes Bless tests 2024-01-13 12:46:58 -05:00
error-emitter use different revisions for testing colors on windows 2023-12-09 08:53:20 -05:00
errors
explicit
explicit-tail-calls
expr Bless tests 2024-01-13 12:46:58 -05:00
extenv Rename --env option flag to --env-set 2024-01-12 11:02:57 +01:00
extern exclude unexported macro bindings from extern crate 2024-01-21 20:24:40 +08:00
extern-flag Stop mentioning internal lang items in no_std binary errors 2024-01-10 21:18:54 +01:00
feature-gates Rollup merge of #120233 - oli-obk:revert_trait_obj_upcast_stabilization, r=lcnr 2024-01-22 22:12:10 +01:00
fmt Removing redudant note from parse error 2024-01-08 19:41:01 +01:00
fn Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
for update use of feature flags 2023-12-14 15:22:37 +01:00
for-loop-while remove redundant imports 2023-12-10 10:56:22 +08:00
foreign
fully-qualified-type
function-pointer Tweak short_ty_string to reduce number of files 2023-12-13 23:07:10 +00:00
functional-struct-update
functions-closures
generic-associated-types Don't ICE when noting GAT bounds in report_no_match_method_error 2024-01-13 20:55:54 +00:00
generic-const-items Bless tests 2024-01-13 12:46:58 -05:00
generics Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
half-open-range-patterns add help message for exclusive_range_pattern error 2024-01-19 13:38:24 -05:00
hashmap
hello_world
higher-ranked borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
hygiene fix: update broken stderr 2024-01-11 21:39:44 +08:00
illegal-sized-bound
impl-header-lifetime-elision Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
impl-trait Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr 2024-01-20 04:57:51 +00:00
implied-bounds use implied bounds compat mode in MIR borrowck 2024-01-19 15:27:32 +01:00
imports exclude unexported macro bindings from extern crate 2024-01-21 20:24:40 +08:00
include-macros
incoherent-inherent-impls
indexing
inference use implied bounds compat mode in MIR borrowck 2024-01-19 15:27:32 +01:00
infinite Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
inherent-impls-overlap-check
inline-const Stabilize THIR unsafeck 2024-01-05 10:00:59 +00:00
instrument-coverage
instrument-xray
interior-mutability
internal Bless tests 2024-01-13 12:46:58 -05:00
internal-lints
intrinsics Bless tests 2024-01-13 12:46:58 -05:00
invalid
invalid-compile-flags
invalid-module-declaration
invalid-self-argument
io-checks
issues Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr 2024-01-20 04:57:51 +00:00
iterators
json
keyword
kindck Tweak short_ty_string to reduce number of files 2023-12-13 23:07:10 +00:00
label
lang-items Bless tests 2024-01-13 12:46:58 -05:00
late-bound-lifetimes
layout Remove feature(offset_of) from tests 2024-01-19 20:38:51 +00:00
lazy-type-alias Imply outlives-bounds on lazy type aliases 2023-12-28 02:03:43 +01:00
lazy-type-alias-impl-trait
let-else
lexer
lifetimes borrowck: wf-check fn item args 2024-01-16 09:25:28 +01:00
limits
linkage-attr Bless tests 2024-01-13 12:46:58 -05:00
lint Rollup merge of #119710 - Nilstrieb:let-_-=-oops, r=TaKO8Ki 2024-01-22 07:56:41 +01:00
liveness
loops
lowering
lto Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
lub-glb
macro_backtrace
macros Bless tests 2024-01-13 12:46:58 -05:00
malformed Improve an error involving attribute values. 2023-12-12 15:54:25 +11:00
manual
marker_trait_attr
match
meta
methods macro_rules: Add more tests for using tt in addition to ident 2024-01-05 19:13:52 +03:00
mir Don't consider delayed bugs for -Ztreat-err-as-bug. 2024-01-13 09:59:56 +11:00
mir-dataflow
mismatched_types Auto merge of #118297 - shepmaster:warn-dead-tuple-fields, r=WaffleLapkin 2024-01-05 04:51:55 +00:00
missing Auto merge of #117303 - sjwang05:issue-117245, r=estebank 2023-12-27 17:26:12 +00:00
missing_non_modrs_mod
missing-trait-bounds
modules
modules_and_files_visibility
moves Make InferCtxtExt::could_impl_trait less messed up 2024-01-13 22:00:34 +00:00
mut
namespace
native-library-link-flags
never_type Bless tests 2024-01-13 12:46:58 -05:00
nll Rollup merge of #117556 - obeis:static-mut-ref-lint, r=davidtwco 2024-01-09 13:23:15 +01:00
no_std Stop mentioning internal lang items in no_std binary errors 2024-01-10 21:18:54 +01:00
non_modrs_mods
non_modrs_mods_and_inline_mods
not-panic
numbers-arithmetic remove duplicate test 2024-01-05 18:49:25 +01:00
numeric
object-lifetime Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
object-safety Update tests after rebase 2024-01-19 23:49:40 +00:00
obsolete-in-place
offset-of Stabilize simple offset_of 2024-01-19 20:38:51 +00:00
on-unimplemented Bless tests 2024-01-13 12:46:58 -05:00
operator-recovery
or-patterns Consistently warn unreachable subpatterns 2024-01-18 17:29:54 +01:00
overloaded remove redundant imports 2023-12-10 10:56:22 +08:00
packed Remove no-longer-needed allow(dead_code) from the tests 2024-01-18 13:16:09 -05:00
panic-handler Stop mentioning internal lang items in no_std binary errors 2024-01-10 21:18:54 +01:00
panic-runtime Bless tests 2024-01-13 12:46:58 -05:00
panics Use the right level with -Ztreat-err-as-bug. 2024-01-11 16:55:10 +11:00
parser Rollup merge of #120063 - clubby789:remove-box-handling, r=Nilstrieb 2024-01-20 20:06:34 +01:00
pattern Add tests 2024-01-18 21:14:31 +01:00
pin-macro Bless tests 2024-01-13 12:46:58 -05:00
polymorphization
print_type_sizes Coroutine variant fields can be uninitialized 2023-12-12 00:00:00 +00:00
print-fuel
privacy fallback visibility for unexpected trait item 2024-01-04 02:02:57 +08:00
proc-macro proc_macro_c_str_literals: Implement Literal::c_string constructor 2024-01-16 13:27:58 -08:00
process Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
process-termination
ptr_ops
pub Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
qualified
query-system
range
raw-ref-op Bless tests 2024-01-13 12:46:58 -05:00
reachable
recursion Always use RevealAll for const eval queries 2024-01-19 11:32:34 +00:00
recursion_limit Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
regions Make IMPLIED_BOUNDS_ENTAILMENT into a hard error from a lint 2023-12-16 01:28:05 +00:00
repeat-expr
repr Bless tests 2024-01-13 12:46:58 -05:00
reserved
resolve fix cycle error for "use constructor" suggestion 2024-01-05 21:56:32 +01:00
return
rfcs Rollup merge of #120104 - Nadrieril:never-pat-diverges, r=compiler-errors 2024-01-22 22:12:07 +01:00
rmeta
runtime Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
rust-2018 Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rust-2021
rustdoc Bless tests 2024-01-13 12:46:58 -05:00
sanitize Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag 2024-01-03 10:00:15 -08:00
self Bless tests 2024-01-13 12:46:58 -05:00
sepcomp
shadowed
shell-argfiles Add support for shell argfiles 2024-01-08 15:25:55 -05:00
simd Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
single-use-lifetime Don't delete any lifetimes with bounds 2024-01-20 02:30:58 +04:00
sized add test for coercing never to infinite type 2023-12-26 17:57:33 +01:00
span Bless tests 2024-01-13 12:46:58 -05:00
specialization Make generic const type mismatches not hide trait impls from the trait solver 2024-01-22 13:23:45 +00:00
stability-attribute Bless tests 2024-01-13 12:46:58 -05:00
stable-mir-print add stable_mir output test 2023-12-14 18:10:38 +03:00
stack-protector
static Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
statics Update test for E0796 and static_mut_ref lint 2024-01-07 17:29:25 +03:00
stats Remove hir::Guard 2024-01-05 10:56:59 +00:00
std
stdlib-unit-tests Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
str
structs
structs-enums Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
suggestions maybe_lint_impl_trait: separate is_downgradable from is_object_safe 2024-01-21 20:04:39 +04:00
svh
symbol-mangling-version
symbol-names rename to verbose-internals 2023-12-19 13:35:37 -05:00
sync
target-feature Bless tests 2024-01-13 12:46:58 -05:00
test-attrs
thir-print Update to bitflags 2 in the compiler 2023-12-30 18:17:28 +01:00
thread-local Bless tests 2024-01-13 12:46:58 -05:00
threads-sendsync Stabilize THIR unsafeck 2024-01-05 10:00:59 +00:00
tool-attributes Bless tests 2024-01-13 12:46:58 -05:00
track-diagnostics Bless tests 2024-01-13 12:46:58 -05:00
trait-bounds
traits Add regression test 2024-01-22 14:24:31 +00:00
transmutability Bless tests 2024-01-13 12:46:58 -05:00
transmute
treat-err-as-bug Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr 2024-01-20 04:57:51 +00:00
trivial-bounds
try-block
try-trait
tuple
type Suggest = to == in more cases, even in the face of reference mismatch 2023-12-26 23:48:55 +00:00
type-alias
type-alias-enum-variants Always use RevealAll for const eval queries 2024-01-19 11:32:34 +00:00
type-alias-impl-trait Auto merge of #119821 - oli-obk:reveal_all_const_evals, r=lcnr 2024-01-20 04:57:51 +00:00
type-inference
typeck Bless tests 2024-01-13 12:46:58 -05:00
typeof
ufcs Reorder check_item_type diagnostics so they occur next to the corresponding check_well_formed diagnostics 2024-01-02 14:17:56 +00:00
unboxed-closures Bless tests 2024-01-13 12:46:58 -05:00
underscore-imports
underscore-lifetime Rollup merge of #117914 - estebank:issue-85843, r=wesleywiser 2023-12-12 17:40:53 +01:00
uniform-paths
uninhabited Don't warn an empty pattern unreachable if we're not sure the data is valid 2023-12-09 00:44:49 +01:00
union Stabilize THIR unsafeck 2024-01-05 10:00:59 +00:00
unknown-unstable-lints Bless tests 2024-01-13 12:46:58 -05:00
unpretty Make some non-diagnostic-affecting QPath::LangItem into regular qpaths 2023-12-26 04:07:38 +00:00
unresolved
unsafe Auto merge of #120242 - matthiaskrgr:rollup-a93yj3i, r=matthiaskrgr 2024-01-22 18:22:32 +00:00
unsized Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
unsized-locals Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
unused-crate-deps Delete unused makefile in tests/ui 2024-01-07 20:48:31 +01:00
unwind-abis
use
variance
variants
wasm
wf wf-check type annotations before normalization 2024-01-16 09:25:28 +01:00
where-clauses rename to verbose-internals 2023-12-19 13:35:37 -05:00
while
xcrate
zero-sized remove redundant imports 2023-12-10 10:56:22 +08:00
.gitattributes
alias-uninit-value.rs
anonymous-higher-ranked-lifetime.rs
anonymous-higher-ranked-lifetime.stderr
artificial-block.rs
as-precedence.rs
assign-assign.rs
assign-imm-local-twice.rs
assign-imm-local-twice.stderr
assoc-lang-items.rs
assoc-lang-items.stderr
assoc-oddities-3.rs
associated-path-shl.rs
associated-path-shl.stderr
atomic-from-mut-not-available.rs
atomic-from-mut-not-available.stderr
attempted-access-non-fatal.rs
attempted-access-non-fatal.stderr
attr-bad-crate-attr.rs
attr-bad-crate-attr.stderr
attr-shebang.rs
attr-start.rs
attr-usage-inline.rs
attr-usage-inline.stderr
attrs-resolution-errors.rs
attrs-resolution-errors.stderr
attrs-resolution.rs
augmented-assignments-feature-gate-cross.rs
augmented-assignments-rpass.rs
augmented-assignments.rs
augmented-assignments.stderr
auto-instantiate.rs
auto-ref-slice-plus-ref.rs
auto-ref-slice-plus-ref.stderr
autoderef-full-lval.rs
autoderef-full-lval.stderr
backtrace-apple-no-dsymutil.rs
backtrace.rs
bare-fn-implements-fn-mut.rs remove redundant imports 2023-12-10 10:56:22 +08:00
bare-static-string.rs
big-literals.rs
bind-by-move.rs
bitwise.rs
bogus-tag.rs
bogus-tag.stderr
borrow-by-val-method-receiver.rs
bounds-lifetime.rs Simple modification of diagnostic information 2023-12-21 10:17:11 +08:00
bounds-lifetime.stderr Bless tests 2024-01-13 12:46:58 -05:00
break-diverging-value.rs
break-diverging-value.stderr
builtin-clone-unwind.rs
by-move-pattern-binding.rs
by-move-pattern-binding.stderr
can-copy-pod.rs
cancel-clean-via-immediate-rvalue-ref.rs
cannot-mutate-captured-non-mut-var.rs
cannot-mutate-captured-non-mut-var.stderr
capture1.rs
capture1.stderr
catch-unwind-bang.rs
cenum_impl_drop_cast.rs
cenum_impl_drop_cast.stderr
cfguard-run.rs
char.rs
check-static-immutable-mut-slices.rs
check-static-immutable-mut-slices.stderr
check-static-recursion-foreign.rs
check-static-values-constraints.rs
check-static-values-constraints.stderr
class-cast-to-trait.rs
class-cast-to-trait.stderr
class-method-missing.rs
class-method-missing.stderr
cleanup-rvalue-for-scope.rs remove redundant imports 2023-12-10 10:56:22 +08:00
cleanup-rvalue-scopes-cf.rs
cleanup-rvalue-scopes-cf.stderr
cleanup-rvalue-scopes.rs remove redundant imports 2023-12-10 10:56:22 +08:00
cleanup-rvalue-temp-during-incomplete-alloc.rs
cleanup-shortcircuit.rs
close-over-big-then-small-data.rs
command-line-diagnostics.rs
command-line-diagnostics.stderr
commandline-argfile-badutf8.args
commandline-argfile-badutf8.rs
commandline-argfile-badutf8.stderr
commandline-argfile-missing.rs
commandline-argfile-missing.stderr
commandline-argfile.args
commandline-argfile.rs
compile_error_macro.rs
compile_error_macro.stderr
complex.rs
conflicting-repr-hints.rs
conflicting-repr-hints.stderr
conservative_impl_trait.rs
conservative_impl_trait.stderr
constructor-lifetime-args.rs
constructor-lifetime-args.stderr
copy-a-resource.rs
copy-a-resource.stderr
crate-leading-sep.rs
crate-method-reexport-grrrrrrr.rs
crate-name-attr-used.rs
crate-name-mismatch.rs
crate-name-mismatch.stderr
custom_attribute.rs
custom_attribute.stderr
custom-attribute-multisegment.rs
custom-attribute-multisegment.stderr
custom-test-frameworks-simple.rs
deduplicate-diagnostics.deduplicate.stderr
deduplicate-diagnostics.duplicate.stderr
deduplicate-diagnostics.rs
deep.rs
default-method-parsing.rs
default-method-simple.rs
defaults-well-formedness.rs
deprecation-in-force-unstable.rs
deref-non-pointer.rs
deref-non-pointer.stderr
deref-rc.rs
deref.rs
derive-uninhabited-enum-38885.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
derive-uninhabited-enum-38885.stderr Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
destructure-trait-ref.rs
destructure-trait-ref.stderr
diverging-fallback-method-chain.rs
diverging-fallback-option.rs
diverging-fn-tail-35849.rs
diverging-fn-tail-35849.stderr
does-nothing.rs
does-nothing.stderr
dont-suggest-private-trait-method.rs
dont-suggest-private-trait-method.stderr
double-ref.rs
double-type-import.rs
double-type-import.stderr
dupe-first-attr.rs
duplicate_entry_error.rs
duplicate_entry_error.stderr Collect lang items from AST 2023-12-15 16:12:27 +00:00
early-ret-binop-add.rs
elide-errors-on-mismatched-tuple.rs
elide-errors-on-mismatched-tuple.stderr
elided-test.rs
elided-test.stderr
else-if.rs
empty_global_asm.rs
empty-allocation-non-null.rs
empty-allocation-rvalue-non-null.rs
empty-type-parameter-list.rs
env-args-reverse-iterator.rs
env-funky-keys.rs
env-null-vars.rs
env-vars.rs
error-festival.rs
error-festival.stderr
error-should-say-copy-not-pod.rs
error-should-say-copy-not-pod.stderr
exclusive-drop-and-copy.rs
exclusive-drop-and-copy.stderr
exec-env.rs
explain.rs
explain.stdout
explicit-i-suffix.rs
explore-issue-38412.rs
explore-issue-38412.stderr Bless tests 2024-01-13 12:46:58 -05:00
expr-block-fn.rs
expr-block-generic.rs
expr-block.rs
expr-copy.rs
expr-if-generic.rs
expr-if-panic-all.rs
expr-scope.rs
ext-expand-inner-exprs.rs
ext-nonexistent.rs
ext-nonexistent.stderr
extern-mod-syntax.rs
extoption_env-no-args.rs
extoption_env-no-args.stderr
extoption_env-not-defined.rs
extoption_env-not-string-literal.rs
extoption_env-not-string-literal.stderr
extoption_env-too-many-args.rs
extoption_env-too-many-args.stderr
fact.rs
fail-simple.rs
fail-simple.stderr
ffi_const2.rs
ffi_const2.stderr
ffi_const.rs
ffi_const.stderr
ffi_pure.rs
ffi_pure.stderr
ffi_returns_twice.rs
ffi_returns_twice.stderr
filter-block-view-items.rs
fn-in-pat.rs
fn-in-pat.stderr
foreign-fn-return-lifetime.rs
foreign-fn-return-lifetime.stderr Rollup merge of #117914 - estebank:issue-85843, r=wesleywiser 2023-12-12 17:40:53 +01:00
format-no-std.rs
fun-indirect-call.rs
future-incompatible-lint-group.rs
future-incompatible-lint-group.stderr
global-scope.rs
hello.rs
illegal-ufcs-drop.fixed
illegal-ufcs-drop.rs
illegal-ufcs-drop.stderr
impl-inherent-non-conflict.rs
impl-not-adjacent-to-type.rs
impl-privacy-xc-1.rs
impl-unused-rps-in-assoc-type.rs
impl-unused-rps-in-assoc-type.stderr
impl-unused-tps-inherent.rs
impl-unused-tps-inherent.stderr
impl-unused-tps.rs
impl-unused-tps.stderr
implicit-method-bind.rs
implicit-method-bind.stderr
impossible_range.fixed
impossible_range.rs
impossible_range.stderr
inc-range-pat.rs
infer-fn-tail-expr.rs
inherit-env.rs
inline-disallow-on-variant.rs
inline-disallow-on-variant.stderr
inlined-main.rs
inner-attrs-on-impl.rs
inner-module.rs
inner-static-type-parameter.rs
inner-static-type-parameter.stderr
inner-static.rs
integral-indexing.rs
integral-indexing.stderr
integral-variable-unification-error.rs
integral-variable-unification-error.stderr
intrinsics-always-extern.rs
intrinsics-always-extern.stderr
invalid_crate_type_syntax.rs
invalid_crate_type_syntax.stderr
invalid_dispatch_from_dyn_impls.rs
invalid_dispatch_from_dyn_impls.stderr
issue-11881.rs
issue-13560.rs
issue-15924.rs
issue-16822.rs
issue-18502.rs
issue-24106.rs
issue-76387-llvm-miscompile.rs
issues-71798.rs
issues-71798.stderr
item-name-overload.rs
kinds-in-metadata.rs
kinds-of-primitive-impl.rs
kinds-of-primitive-impl.stderr
lambda-infer-unresolved.rs
last-use-in-block.rs
last-use-in-cap-clause.rs
last-use-is-capture.rs
lazy-and-or.rs
lexical-scopes.rs
lexical-scopes.stderr
lexical-scoping.rs
link-section.rs
lint-group-denied-lint-allowed.rs
lint-group-forbid-always-trumps-cli.rs
lint-group-forbid-always-trumps-cli.stderr
lint-unknown-lints-at-crate-level.rs
list.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
log-err-phi.rs
log-knows-the-names-of-variants.rs
log-poly.rs
logging-only-prints-once.rs
loud_ui.rs
macro-quote-test.rs
main-wrong-location.rs
main-wrong-location.stderr
main-wrong-type.rs
main-wrong-type.stderr
max-min-classes.rs
maximal_mir_to_hir_coverage.rs
maybe-bounds.rs
maybe-bounds.stderr
minus-string.rs
minus-string.stderr
missing_debug_impls.rs
missing_debug_impls.stderr
mod-subitem-as-enum-variant.rs
mod-subitem-as-enum-variant.stderr
module-macro_use-arguments.rs
module-macro_use-arguments.stderr
monomorphize-abi-alignment.rs
msvc-data-only.rs
multibyte.rs
multiline-comment.rs
mut-function-arguments.rs
mutual-recursion-group.rs
myriad-closures.rs
nested-block-comment.rs
nested-cfg-attrs.rs
nested-cfg-attrs.stderr
nested-class.rs
nested-ty-params.rs
nested-ty-params.stderr
new-impl-syntax.rs
new-import-syntax.rs
new-style-constants.rs
new-unicode-escapes.rs
newlambdas.rs
newtype-polymorphic.rs
newtype.rs
no_crate_type.rs
no_crate_type.stderr
no_send-enum.rs
no_send-enum.stderr
no_send-rc.rs
no_send-rc.stderr
no_share-enum.rs
no_share-enum.stderr
no_share-struct.rs
no_share-struct.stderr
no-capture-arc.rs
no-capture-arc.stderr
no-core-1.rs
no-core-2.rs
no-link-unknown-crate.rs
no-link-unknown-crate.stderr
no-patterns-in-args-2.rs
no-patterns-in-args-2.stderr
no-patterns-in-args-macro.rs
no-patterns-in-args-macro.stderr
no-patterns-in-args.rs
no-patterns-in-args.stderr
no-reuse-move-arc.rs
no-reuse-move-arc.stderr
no-send-res-ports.rs
no-send-res-ports.stderr
no-warn-on-field-replace-issue-34101.rs
noexporttypeexe.rs
noexporttypeexe.stderr
non-constant-expr-for-arr-len.rs
non-constant-expr-for-arr-len.stderr
non-copyable-void.rs
non-copyable-void.stderr
non-fmt-panic.fixed
non-fmt-panic.rs
non-fmt-panic.stderr
noncopyable-class.rs
noncopyable-class.stderr
nonscalar-cast.fixed
nonscalar-cast.rs
nonscalar-cast.stderr
not-clone-closure.rs
not-clone-closure.stderr
not-copy-closure.rs
not-copy-closure.stderr
not-enough-arguments.rs
not-enough-arguments.stderr
nul-characters.rs
nullable-pointer-iotareduction.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
nullable-pointer-size.rs
object-pointer-types.rs
object-pointer-types.stderr
objects-coerce-freeze-borrored.rs
occurs-check-2.rs
occurs-check-2.stderr
occurs-check-3.rs
occurs-check-3.stderr
occurs-check.rs
occurs-check.stderr
once-cant-call-twice-on-heap.rs
once-cant-call-twice-on-heap.stderr
oom_unwind.rs
op-assign-builtins-by-ref.rs
opeq.rs
opt-in-copy.rs
opt-in-copy.stderr
optimization-fuel-0.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
optimization-fuel-0.stderr
optimization-fuel-1.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
optimization-fuel-1.stderr
optimization-remark.rs
order-dependent-cast-inference.rs
order-dependent-cast-inference.stderr
orphan-check-diagnostics.rs
orphan-check-diagnostics.stderr
osx-frameworks.rs
osx-frameworks.stderr
out-pointer-aliasing.rs
output-slot-variants.rs
over-constrained-vregs.rs
panic_implementation-closures.rs
panic-while-printing.rs
paren-span.rs
paren-span.stderr
partialeq_help.rs
partialeq_help.stderr Provide better suggestions for T == &T and &T == T 2023-12-16 19:56:50 -08:00
path-lookahead.fixed
path-lookahead.rs
path-lookahead.stderr
path.rs
paths-containing-nul.rs
phantom-auto-trait.rs
phantom-auto-trait.stderr
point-to-type-err-cause-on-impl-trait-return-2.rs
point-to-type-err-cause-on-impl-trait-return-2.stderr
pptypedef.rs
pptypedef.stderr
primitive-binop-lhs-mut.rs
print-stdout-eprint-stderr.rs
project-cache-issue-31849.rs
ptr-coercion-rpass.rs
ptr-coercion.rs
ptr-coercion.stderr
query-visibility.rs
range_inclusive.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
raw-str.rs
realloc-16687.rs
reassign-ref-mut.rs
reassign-ref-mut.stderr
reexport-test-harness-main.rs
reify-intrinsic.rs
reify-intrinsic.stderr
removing-extern-crate.fixed
removing-extern-crate.rs
removing-extern-crate.stderr
resource-assign-is-not-copy.rs
resource-destruct.rs
ret-bang.rs
ret-non-nil.rs
ret-non-nil.stderr
return-disjoint-regions.rs
return-disjoint-regions.stderr
return-nil.rs
rustc-error.rs
rustc-error.stderr
rustc-rust-log.rs
seq-args.rs
seq-args.stderr
shadow-bool.rs
shadowed-use-visibility.rs
short-error-format.rs
short-error-format.stderr
simple_global_asm.rs
sized-borrowed-pointer.rs
sized-cycle-note.rs
sized-cycle-note.stderr
sized-owned-pointer.rs
sse2.rs
stable-addr-of.rs
std-backtrace.rs
std-uncopyable-atomics.rs
std-uncopyable-atomics.stderr
stdio-is-blocking.rs
stmt_expr_attrs_no_feature.rs
stmt_expr_attrs_no_feature.stderr Bless tests 2024-01-13 12:46:58 -05:00
string-box-error.rs
struct-ctor-mangling.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
suggest-null-ptr.fixed
suggest-null-ptr.rs
suggest-null-ptr.stderr
super-at-top-level.rs
super-at-top-level.stderr
super-fast-paren-parsing.rs
super.rs
svh-add-nothing.rs
swap-1.rs
swap-overlapping.rs
switched-expectations.rs
switched-expectations.stderr
syntax-extension-minor.rs
tag-type-args.rs Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
tag-type-args.stderr Avoid silencing relevant follow-up errors 2024-01-09 21:08:16 +00:00
tag-variant-cast-non-nullary.fixed
tag-variant-cast-non-nullary.rs
tag-variant-cast-non-nullary.stderr
tail-call-arg-leak.rs
tail-cps.rs
tail-typeck.rs
tail-typeck.stderr
tool_lints_2018_preview.rs Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
tool_lints-fail.rs
tool_lints-fail.stderr
tool_lints-rpass.rs
tool_lints.rs
tool_lints.stderr
trailing-comma.rs Adjust compiler tests for unused_tuple_struct_fields -> dead_code 2024-01-02 15:34:37 -05:00
trait-impl-bound-suggestions.fixed
trait-impl-bound-suggestions.rs
trait-impl-bound-suggestions.stderr
trait-method-number-parameters.rs
trait-method-number-parameters.stderr
transmute-equal-assoc-types.rs
transmute-non-immediate-to-immediate.rs
trivial_casts-rpass.rs
try-from-int-error-partial-eq.rs
try-operator-hygiene.rs
try-operator.rs
tydesc-name.rs
type_length_limit.polonius.stderr
type_length_limit.rs
type_length_limit.stderr
type-id-higher-rank-2.rs
type-namespace.rs
type-param-constraints.rs
type-param.rs
type-ptr.rs
type-use-i1-versus-i8.rs
typeid-intrinsic.rs
typestate-multi-decl.rs
unconstrained-none.rs
unconstrained-none.stderr
unconstrained-ref.rs
unconstrained-ref.stderr
underscore-ident-matcher.rs
underscore-ident-matcher.stderr
underscore-lifetimes.rs
underscore-method-after-integer.rs
unevaluated_fixed_size_array_len.rs
unevaluated_fixed_size_array_len.stderr
uninit-empty-types.rs
unit.rs
unknown-language-item.rs
unknown-language-item.stderr
unknown-lint-tool-name.rs
unknown-lint-tool-name.stderr
unknown-llvm-arg.rs
unknown-llvm-arg.stderr
unknown-tool-name.rs
unknown-tool-name.stderr
unnamed_argument_mode.rs
unop-move-semantics.rs
unop-move-semantics.stderr
unop-neg-bool.rs
unop-neg-bool.stderr
unreachable-code-1.rs
unreachable-code.rs
unsigned-literal-negation.rs
unsigned-literal-negation.stderr
unused-move-capture.rs
unused-move.rs
unwind-no-uwtable.rs
use-import-export.rs
use-keyword-2.rs
use-module-level-int-consts.rs
use-nested-groups.rs
used.rs
used.stderr
using-target-feature-unstable.rs
usize-generic-argument-parent.rs
usize-generic-argument-parent.stderr
utf8_idents.rs
utf8-bom.rs
wait-forked-but-failed-child.rs
walk-struct-literal-with.rs
walk-struct-literal-with.stderr
weak-new-uninhabited-issue-48493.rs
weird-exit-code.rs
weird-exprs.rs
windows-subsystem-invalid.rs
windows-subsystem-invalid.stderr
write-fmt-errors.rs
writing-to-immutable-vec.rs
writing-to-immutable-vec.stderr
wrong-hashset-issue-42918.rs