rust/tests/ui
Matthias Krüger b41e939cb5
Rollup merge of - pitaj:reserve-guarded-strings, r=traviscross
Reserve guarded string literals (RFC 3593)

Implementation for RFC 3593, including:
- lexer / parser changes
- diagnostics
- migration lint
- tests

We reserve `#"`, `##"`, `###"`, `####`, and any other string of four or more repeated `#`. This avoids infinite lookahead in the lexer, though we still use infinite lookahead in the parser to provide better forward compatibility diagnostics.

This PR does not implement any special lexing of the string internals:
- strings preceded by one or more `#` are denied
- regardless of the number of trailing `#`
- string contents are lexed as if it was just a bare `"string"`

Tracking issue: 
RFC: 
2024-10-09 23:03:47 +02:00
..
abi Add UI test to verify invalid loads are not generated 2024-10-05 12:19:20 +03:00
alloc-error
allocator
annotate-snippet
anon-params
argfile
argument-suggestions
array-slice-vec Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
asm various fixes for naked_asm! implementation 2024-10-06 19:00:09 +02:00
associated-consts Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
associated-inherent-types Get rid of predicates_defined_on 2024-08-24 18:25:41 -04:00
associated-item Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
associated-type-bounds Bless ui tests. 2024-10-04 23:38:41 +00:00
associated-types Rollup merge of - estebank:point-at-arg-type, r=compiler-errors 2024-09-26 22:20:57 -07:00
async-await Auto merge of - cjgillot:opaque-hir, r=compiler-errors 2024-10-05 06:19:35 +00:00
attributes Add get_line confusable to Stdin::read_line() 2024-10-02 23:19:26 -05:00
auto-traits Revert 'Stabilize -Znext-solver=coherence' 2024-09-11 17:57:04 -04:00
autoref-autoderef
auxiliary
backtrace
bench
binding Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
binop Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
blind
block-result
borrowck replace "cast" with "coercion" where applicable 2024-09-24 22:20:46 +02:00
box
btreemap
builtin-superkinds
c-variadic
cast Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
cfg Auto merge of - est31:cfg_attr_crate_type_name_error, r=Urgau 2024-10-06 17:00:02 +00:00
check-cfg Fix target_abi in sparc-unknown-none-elf 2024-10-04 20:47:28 +02:00
closure_context
closure-expected-type
closures Document things a bit more carefully, also account for coercion in check_expr_has_type_or_error 2024-10-05 18:36:47 -04:00
cmse-nonsecure disallow cmse ABIs on unsupported platforms 2024-09-21 13:05:23 +02:00
codegen Relax a debug assertion in codegen 2024-09-30 12:18:02 -04:00
codemap_tests
coercion Check allow instantiating object trait binder when upcasting and in new solver 2024-09-26 22:26:29 -04:00
coherence Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
coinduction
command Avoid dynamic linking to libstd in command-current-dir test 2024-10-04 15:34:31 +02:00
compare-method
compiletest-self-test
conditional-compilation Return earlier in some cases in collect_token. 2024-08-23 14:40:08 +10:00
confuse-field-and-method
const_prop
const-generics Bless ui tests. 2024-10-04 23:38:41 +00:00
const-ptr
consts Rollup merge of - clubby789:old-tests, r=jieyouxu 2024-10-08 13:19:44 +11:00
coroutine Fixed diagnostics for coroutines with () as input. 2024-09-25 08:45:40 +00:00
coverage-attr Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
crate-loading
cross
cross-crate
custom_test_frameworks
cycle-trait
debuginfo TL note: current means target 2024-09-20 10:02:14 -07:00
definition-reachable
delegation Bless ui tests. 2024-10-04 23:38:41 +00:00
dep-graph
deployment-target
deprecation
deref-patterns
derived-errors
derives
deriving Check that #[pointee] is applied only to generic arguments 2024-10-06 23:56:27 +02:00
dest-prop
destructuring-assignment
diagnostic_namespace
diagnostic-flags
diagnostic-width
did_you_mean Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
directory_ownership
disallowed-deconstructing
dollar-crate
drop apply suggestions 2024-09-30 22:21:45 +08:00
drop-bounds
dropck replace "cast" with "coercion" where applicable 2024-09-24 22:20:46 +02:00
dst
duplicate Explicitly mark a hack as a HACK and elaborate its comment 2024-09-18 19:36:44 +02:00
dyn-drop
dyn-keyword Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
dyn-star unify dyn* coercions with other pointer coercions 2024-09-24 22:17:55 +02:00
dynamically-sized-types
editions
empty Suggest the struct variant pattern syntax on usage of unit variant pattern for a struct variant 2024-08-28 22:55:57 +09:00
entry-point
enum
enum-discriminant
env-macro
error-codes Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
error-emitter
errors Auto merge of - Urgau:rfc3127-sysroot-2, r=jieyouxu 2024-09-29 03:04:05 +00:00
explicit
explicit-tail-calls
expr
extern TL note: current means target 2024-09-20 10:02:14 -07:00
extern-flag
feature-gates more asm! -> naked_asm! in tests 2024-10-06 18:12:25 +02:00
ffi-attrs
float move f16/f128 const fn under f16/f128 feature gate 2024-10-05 10:13:18 +02:00
fmt fmt-debug option 2024-08-28 23:32:40 +01:00
fn
fn-main
for
for-loop-while Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
foreign Don't ICE on Fn trait error for foreign fn 2024-08-16 14:10:06 -04:00
fuel
fully-qualified-type
function-pointer
functional-struct-update Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
functions-closures
generic-associated-types Handle rustc-hir-analysis cases of rustc::potential_query_instability lint 2024-10-02 08:28:45 +03:00
generic-const-items fix(hir_analysis/wfcheck): don't leak {type error} 2024-09-29 23:40:43 -05:00
generics elided_named_lifetimes: bless & add tests 2024-08-31 15:35:42 +03:00
half-open-range-patterns On function and method calls in patterns, link to the book 2024-10-06 01:44:59 +00:00
hashmap
hello_world
higher-ranked Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
hygiene
illegal-sized-bound
impl-header-lifetime-elision
impl-trait Bless ui tests. 2024-10-04 23:38:41 +00:00
implied-bounds Adjust tests 2024-09-05 06:37:38 -04:00
imports skip updating when external binding is existed 2024-08-20 20:34:13 +08:00
include-macros
incoherent-inherent-impls
indexing
inference On implicit Sized bound on fn argument, point at type instead of pattern 2024-09-27 00:45:02 +00:00
infinite only query params_in_repr if def kind is adt 2024-10-02 17:36:31 +08:00
inherent-impls-overlap-check
inline-const stabilize const_mut_refs 2024-09-15 09:51:32 +02:00
instrument-coverage coverage. Adapt to mcdc mapping formats introduced by llvm 19 2024-10-08 11:15:24 +08:00
instrument-xray
interior-mutability
internal stabilize const_fn_floating_point_arithmetic 2024-08-22 08:25:54 +02:00
internal-lints
intrinsics interpret: add missing alignment check in raw_eq 2024-08-27 19:29:52 +02:00
invalid
invalid-compile-flags
invalid-module-declaration
invalid-self-argument
io-checks
issues Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
iterators Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
json
keyword
kindck Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
label
lang-items
late-bound-lifetimes
layout TL note: current means target 2024-09-20 10:02:14 -07:00
lazy-type-alias Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
lazy-type-alias-impl-trait
let-else
lexer Reserve prefix lifetimes too 2024-09-06 10:32:48 -04:00
lifetimes fix(hir_analysis/wfcheck): don't leak {type error} 2024-09-29 23:40:43 -05:00
limits TL note: current means target 2024-09-20 10:02:14 -07:00
linkage-attr Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
lint Compute array length from type for unconditional panic. 2024-10-05 00:19:26 +00:00
liveness
loops
lowering
lto Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
lub-glb
macro_backtrace
macros Rollup merge of - Urgau:cfg-true-false, r=nnethercote 2024-10-04 15:42:53 +02:00
malformed
manual
marker_trait_attr
match
meta
methods Don't give method suggestions when method probe fails due to bad impl of Deref 2024-09-29 11:57:18 -04:00
mir Validate unsize coercion in MIR validation 2024-09-25 11:10:38 -04:00
mir-dataflow
mismatched_types Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
missing
missing_non_modrs_mod
missing-trait-bounds
modules
modules_and_files_visibility
moves
mut
namespace
native-library-link-flags
never_type Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
nll replace "cast" with "coercion" where applicable 2024-09-24 22:20:46 +02:00
no_std
non_modrs_mods
non_modrs_mods_and_inline_mods
not-panic
numbers-arithmetic Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
numeric
object-lifetime Hack around a conflict with clippy::needless_lifetimes 2024-09-06 17:06:35 +03:00
object-safety Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
obsolete-in-place
offset-of Fix Parser::break_up_float's right span 2024-09-14 12:41:25 +02:00
on-unimplemented Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
operator-recovery
or-patterns Reword the "unreachable pattern" explanations 2024-08-19 21:39:57 +02:00
overloaded
packed stabilize raw_ref_op 2024-08-18 19:46:53 +02:00
panic-handler fix typo in 'lang item with track_caller' message 2024-10-05 17:12:46 +02:00
panic-runtime
panics
parallel-rustc
parser On function and method calls in patterns, link to the book 2024-10-06 01:44:59 +00:00
patchable-function-entry
pattern Parser: better error messages for @ in struct patterns 2024-09-23 02:12:53 +03:00
pin-macro
polymorphization
precondition-checks
print_type_sizes
privacy Bless ui tests. 2024-10-04 23:38:41 +00:00
proc-macro Avoid double-handling of attributes in collect_tokens. 2024-08-24 06:57:47 +10:00
process
process-termination
ptr_ops
pub
qualified
query-system
range
raw-ref-op Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
reachable Be far more strict about what we consider to be a read of never 2024-10-05 19:10:47 -04:00
recursion
recursion_limit
regions be even more precise about "cast" vs "coercion" 2024-09-24 23:12:02 +02:00
repeat-expr
repr Ban non-array SIMD 2024-09-09 19:39:43 -07:00
reserved
resolve On function and method calls in patterns, link to the book 2024-10-06 01:44:59 +00:00
return Fixing span manipulation and indentation of the suggestion introduced by 2024-08-25 20:30:06 +08:00
rfcs more asm! -> naked_asm! in tests 2024-10-06 18:12:25 +02:00
rmeta
runtime
rust-2018
rust-2021
rust-2024 Reserve guarded string literals (RFC 3593) 2024-10-08 18:21:16 -06:00
rustc-env
rustdoc
sanitizer Rollup merge of - compiler-errors:cfi-erase-transparent, r=davidtwco 2024-08-21 18:15:02 +02:00
self Bless ui tests. 2024-10-04 23:38:41 +00:00
sepcomp
shadowed
shell-argfiles
simd Update the minimum external LLVM to 18 2024-09-18 13:53:31 -07:00
single-use-lifetime
sized On function and method calls in patterns, link to the book 2024-10-06 01:44:59 +00:00
span Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
specialization fix(hir_analysis/wfcheck): don't leak {type error} 2024-09-29 23:40:43 -05:00
stability-attribute
stable-mir-print
stack-protector
static Stabilize const_refs_to_static 2024-09-26 13:21:15 +02:00
statics Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
stats ignore/fix layout-sensitive tests 2024-08-31 23:56:45 +02:00
std More robust extension checking 2024-09-03 14:36:21 +02:00
stdlib-unit-tests
str
structs
structs-enums Get rid of niche selection's dependence on fields's order 2024-09-18 17:31:56 +08:00
suggestions Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
svh
symbol-mangling-version
symbol-names
sync
target-feature Revert "Auto merge of - veluca93:struct_tf, r=BoxyUwU" 2024-09-01 16:35:53 +02:00
test-attrs
thir-print
thread-local Auto merge of - obeis:static-mut-hidden-ref, r=compiler-errors 2024-09-20 17:25:34 +00:00
threads-sendsync format code in tests/ui/threads-sendsync 2024-08-24 05:32:52 +02:00
tool-attributes
track-diagnostics
trait-bounds On implicit Sized bound on fn argument, point at type instead of pattern 2024-09-27 00:45:02 +00:00
traits Add test for issue 30867 2024-10-07 16:30:48 +00:00
transmutability TransmuteFrom: Gracefully handle unnormalized types and normalization errors 2024-10-01 20:52:17 +00:00
transmute
treat-err-as-bug
trivial-bounds
try-block
try-trait Remove feature(control_flow_enum) in tests 2024-09-25 19:00:19 -07:00
tuple
type Rollup merge of - fmease:compiler-mv-obj-safe-dyn-compat, r=compiler-errors 2024-09-27 21:35:08 +02:00
type-alias
type-alias-enum-variants Suggest the struct variant pattern syntax on usage of unit variant pattern for a struct variant 2024-08-28 22:55:57 +09:00
type-alias-impl-trait Promote crash tests to ui. 2024-10-04 23:44:29 +00:00
type-inference
typeck Bless ui tests. 2024-10-04 23:38:41 +00:00
typeof
ufcs Don't call const normalize in error reporting 2024-09-22 13:55:06 -04:00
unboxed-closures
underscore-imports
underscore-lifetime
uniform-paths
uninhabited Add a machine-applicable suggestion to "unreachable pattern" 2024-09-13 21:01:29 +02:00
union Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
unknown-unstable-lints
unop
unpretty stabilize raw_ref_op 2024-08-18 19:46:53 +02:00
unresolved
unsafe Check params for unsafety in THIR 2024-09-18 16:45:48 -04:00
unsized On implicit Sized bound on fn argument, point at type instead of pattern 2024-09-27 00:45:02 +00:00
unsized-locals
unused-crate-deps
unwind-abis
use
variance Print the generic parameter along with the variance in dumps. 2024-08-23 23:00:45 +00:00
variants
version
warnings
wasm
wf fix(hir_analysis/wfcheck): don't leak {type error} 2024-09-29 23:40:43 -05:00
where-clauses
while
windows-subsystem
zero-sized
.gitattributes
alias-uninit-value.rs
allow-non-lint-warnings.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
bare-fn-implements-fn-mut.rs
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
bounds-lifetime.stderr
break-diverging-value.rs
break-diverging-value.stderr
builtin-clone-unwind.rs
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
class-cast-to-trait.rs
class-cast-to-trait.stderr
class-method-missing.rs
class-method-missing.stderr
cleanup-rvalue-for-scope.rs
cleanup-rvalue-scopes-cf.rs
cleanup-rvalue-scopes-cf.stderr
cleanup-rvalue-scopes.rs
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
complex.rs
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
derive-uninhabited-enum-38885.stderr
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
double-ref.rs
double-type-import.rs
double-type-import.stderr
dupe-first-attr.rs
duplicate_entry_error.rs
duplicate_entry_error.stderr
duplicate-label-E0381-issue-129274.rs Deduplicate Spans in Uninitialized Check 2024-08-22 09:36:14 -07:00
duplicate-label-E0381-issue-129274.stderr Deduplicate Spans in Uninitialized Check 2024-08-22 09:36:14 -07: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-allocation-non-null.rs
empty-allocation-rvalue-non-null.rs
empty-type-parameter-list.rs
empty-type-parameter-list.stderr
error-festival.rs
error-festival.stderr Use wide pointers consistenly across the compiler 2024-10-04 14:06:48 +02:00
error-should-say-copy-not-pod.rs
error-should-say-copy-not-pod.stderr
exclusive-drop-and-copy.rs
exclusive-drop-and-copy.stderr
explain.rs
explain.stdout
explicit-i-suffix.rs
explore-issue-38412.rs
explore-issue-38412.stderr
ext-expand-inner-exprs.rs
ext-nonexistent.rs
ext-nonexistent.stderr
fact.rs
fail-simple.rs
fail-simple.stderr
filter-block-view-items.rs
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 Revert 'Stabilize -Znext-solver=coherence' 2024-09-11 17:57:04 -04:00
impl-unused-tps.stderr Revert 'Stabilize -Znext-solver=coherence' 2024-09-11 17:57:04 -04:00
implicit-method-bind.rs
implicit-method-bind.stderr
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
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
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 Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
list.rs
log-err-phi.rs
log-knows-the-names-of-variants.rs
log-poly.rs
logging-only-prints-once.rs
loud_ui.rs
max-min-classes.rs
maximal_mir_to_hir_coverage.rs
maybe-bounds.rs
maybe-bounds.stderr
method-output-diff-issue-127263.rs
method-output-diff-issue-127263.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
monomorphize-abi-alignment.rs
msvc-data-only.rs
msvc-opt-minsize.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-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
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-remark.rs
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
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-calling-conventions.rs
print-calling-conventions.stdout add C-cmse-nonsecure-entry ABI 2024-09-21 13:04:14 +02:00
print-stdout-eprint-stderr.rs
project-cache-issue-31849.rs
ptr-coercion-rpass.rs
ptr-coercion.rs
ptr-coercion.stderr
query-visibility.rs
raw-str.rs
README.md
realloc-16687.rs
reassign-ref-mut.rs
reassign-ref-mut.stderr
reexport-test-harness-main.rs
removing-extern-crate.fixed
removing-extern-crate.rs
removing-extern-crate.stderr
resource-assign-is-not-copy.rs
resource-destruct.rs
rustc-error.rs
rustc-error.stderr
seq-args.rs
seq-args.stderr
shadow-bool.rs
shadowed-use-visibility.rs
short-error-format.rs
short-error-format.stderr
sized-borrowed-pointer.rs
sized-cycle-note.rs
sized-cycle-note.stderr
sized-owned-pointer.rs
sse2.rs
stable-addr-of.rs
std-uncopyable-atomics.rs
std-uncopyable-atomics.stderr
stdio-is-blocking.rs
string-box-error.rs
struct-ctor-mangling.rs
super-at-top-level.rs
super-at-top-level.stderr
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
tag-type-args.stderr
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
trailing-comma.rs
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
trivial_casts-rpass.stderr
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-llvm-arg.rs
unknown-llvm-arg.stderr
unnamed_argument_mode.rs
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 Fix utf8-bom test 2024-10-07 14:45:49 -07:00
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
write-fmt-errors.rs
writing-to-immutable-vec.rs
writing-to-immutable-vec.stderr
wrong-hashset-issue-42918.rs

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as an legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.