rust/tests/ui
bors fd127a3a84 Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obk
rustc_intrinsic: support functions without body

We synthesize a HIR body `loop {}` but such bodyless intrinsics.

Most of the diff is due to turning `ItemKind::Fn` into a brace (named-field) enum variant, because it carries a `bool`-typed field now. This is to remember whether the function has a body. MIR building panics to avoid ever translating the fake `loop {}` body, and the intrinsic logic uses the lack of a body to implicitly mark that intrinsic as must-be-overridden.

I first tried actually having no body rather than generating the fake body, but there's a *lot* of code that assumes that all function items have HIR and MIR, so this didn't work very well. Then I noticed that even `rustc_intrinsic_must_be_overridden` intrinsics have MIR generated (they are filled with an `Unreachable` terminator) so I guess I am not the first to discover this. ;)

r? `@oli-obk`
2025-01-04 12:50:38 +00:00
..
abi Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
alloc-error Tweak multispan rendering 2024-12-12 23:36:27 +00:00
allocator UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
annotate-snippet Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
anon-params
argfile Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
argument-suggestions Added more scenarios where commas need to be removed 2024-10-20 17:14:53 +08:00
array-slice-vec Make suggestion verbose and tweak error message 2025-01-02 23:39:17 +00:00
asan-odr-win PassWrapper: disable UseOdrIndicator for Asan Win32 2024-11-14 04:20:18 +08:00
asm Note def descr in NonConstFunctionCall 2024-12-23 22:15:32 +00:00
associated-consts Add ignore-rustc-debug-assertions to tests/ui/associated-consts/issue-93775.rs 2024-12-22 14:49:01 +08:00
associated-inherent-types Spruce up the docs of several queries related to the type/trait system and const eval 2024-12-27 11:44:23 +01:00
associated-item Compiler: Rename "object safe" to "dyn compatible" 2024-09-25 13:26:48 +02:00
associated-type-bounds Rollup merge of #133660 - compiler-errors:trait-obj-missing-assoc, r=lcnr 2024-12-01 08:15:25 +01:00
associated-types Report impl has stricter requirements even when RPITIT inference gets in the way 2025-01-03 02:45:29 +00:00
async-await Suppress type param suggestion if encountering invalid const infer 2025-01-02 23:39:16 +00:00
attributes Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
auto-traits Mention type parameter in more cases and don't suggest ~const bound already there 2024-12-07 21:37:13 +00:00
autodiff Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
autoref-autoderef tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
auxiliary do not implement unsafe auto traits for types with unsafe fields 2024-12-05 23:52:21 +00:00
backtrace Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
bench tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
binding Tweak output of some const pattern errors 2024-12-04 20:29:36 +00:00
binop Mention type parameter in more cases and don't suggest ~const bound already there 2024-12-07 21:37:13 +00:00
blind
block-result Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
bootstrap Adjust rustc_bootstap.rs ui test 2024-12-20 02:38:46 +08:00
borrowck Fix span for IndexMut method call on HashMap/BTreeMap 2024-12-31 02:21:17 +00:00
box Allow fn pointers comparisons lint in UI tests 2024-12-02 18:43:37 +01:00
btreemap Use if-let in structured suggestion instead of Option::map 2024-12-31 02:21:17 +00:00
builtin-superkinds Mention type parameter in more cases and don't suggest ~const bound already there 2024-12-07 21:37:13 +00:00
c-variadic Rollup merge of #133620 - dev-ardi:simplify-hir_typeck_pass_to_variadic_function, r=compiler-errors 2024-11-30 12:56:54 +08:00
cast Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
cfg Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
check-cfg Make the test cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
closure_context
closure-expected-type
closures chore: fix some typos 2024-12-31 15:11:18 +08:00
cmse-nonsecure Stabilize extended_varargs_abi_support 2024-11-27 22:21:33 +01:00
codegen Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
codemap_tests Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
coercion Tweak multispan rendering 2024-12-12 23:36:27 +00:00
coherence reword trait bound suggestion message to include the bounds 2024-12-07 21:26:20 +00:00
coinduction
command Fix must_use lint for command exec tests 2024-10-17 06:33:35 -07:00
compare-method
compiletest-self-test compiletest: Self-test for normalize-* with revisions 2024-12-28 13:57:13 +11:00
conditional-compilation use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
confuse-field-and-method Use extract_callable_info, generalize it to async closure 2024-11-02 03:53:59 +00:00
const_prop Tweak unevaluated constant in pattern error 2024-12-04 20:29:35 +00:00
const-generics Rollup merge of #135044 - compiler-errors:better-infer-suggestions-in-const, r=oli-obk 2025-01-03 22:12:45 +01:00
const-ptr Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
consts Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obk 2025-01-04 12:50:38 +00:00
coroutine chore: fix some typos 2024-12-31 15:11:18 +08:00
coverage-attr Un-redact one occurrence of "coverage attribute not allowed here" 2024-12-25 19:23:48 +11:00
crate-loading Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
cross
cross-crate Allow fn pointers comparisons lint in UI tests 2024-12-02 18:43:37 +01:00
custom_test_frameworks
cycle-trait
dataflow_const_prop dataflow_const_prop: do not eval a ptr address in SwitchInt 2024-12-09 21:06:29 +08:00
debuginfo Simplify or delete normalize directives that don't care about bit-width 2024-12-27 12:42:07 +11:00
definition-reachable
delegation Don't trigger never type lint in a delegation test 2024-11-12 22:23:01 +01:00
dep-graph
deprecation
deref-patterns
derived-errors
derives Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
deriving make CoercePointee errors translatable 2024-12-04 20:34:48 +08:00
dest-prop
destructuring-assignment Introduce default_field_values feature 2024-12-09 21:55:01 +00:00
diagnostic_namespace Also warn against #[diagnostic::do_not_recommend] on plain impls 2024-12-18 07:10:55 +01:00
diagnostic-flags Adjust allow-non-lint-warnings.rs 2024-12-10 11:29:43 +08:00
diagnostic-width Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
did_you_mean Rollup merge of #130826 - 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 Always run tail_expr_drop_order lint on promoted MIR 2024-12-23 20:25:41 +00:00
drop-bounds
dropck Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
dst Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
duplicate chore: fix typos 2024-12-31 23:46:39 +08:00
dyn-compatibility taint fcx on selection errors during unsizing 2025-01-02 19:16:00 +01:00
dyn-drop
dyn-keyword Don't assume traits used as type are trait objs 2024-10-11 17:36:04 +02:00
dyn-star Rollup merge of #134642 - kpreid:pointerlike-cell, r=compiler-errors 2024-12-22 21:59:27 +01:00
dynamically-sized-types tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
editions Use links to edition guide for edition migrations 2024-12-15 20:28:16 -08:00
empty Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
entry-point
enum tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
enum-discriminant fix ICE on type error in promoted 2024-12-09 15:17:26 +01:00
env-macro
error-codes Make suggestion verbose and tweak error message 2025-01-02 23:39:17 +00:00
error-emitter Account for removal of multiline span in suggestion 2024-12-26 17:41:43 +00:00
errors Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
explicit
explicit-tail-calls Note def descr in NonConstFunctionCall 2024-12-23 22:15:32 +00:00
expr Tweak multispan rendering 2024-12-12 23:36:27 +00:00
extern Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
extern-flag Include the "unwind" crate to link with libunwind instead of the "libc" crate. 2024-11-14 10:51:28 -05:00
feature-gates Unconditionally lower generic_arg_infer 2025-01-02 23:39:16 +00:00
ffi-attrs
float move f16/f128 const fn under f16/f128 feature gate 2024-10-05 10:13:18 +02:00
fmt add suggestion for wrongly ordered format parameters 2024-12-30 06:14:26 -08:00
fn Rollup merge of #133470 - jieyouxu:ugly, r=compiler-errors 2024-11-26 15:32:18 +01:00
fn-main
for Tweak multispan rendering 2024-12-12 23:36:27 +00:00
for-loop-while tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
foreign tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
fully-qualified-type
function-pointer Remove a duplicated check that doesn't do anything anymore. 2024-12-19 10:56:31 +00:00
functional-struct-update Update tests for hidden references to mutable static 2024-09-13 14:10:56 +03:00
functions-closures tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
generic-associated-types Do not project when there are unconstrained impl params 2025-01-03 05:01:14 +00:00
generic-const-items Remove diagnostic_only_typeck and fix placeholder suggestion for const/static 2025-01-02 23:39:16 +00:00
generics Use a more precise span in placeholder_type_error_diag 2024-12-13 13:07:07 +01:00
half-open-range-patterns Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
hashmap Use if-let in structured suggestion instead of Option::map 2024-12-31 02:21:17 +00:00
hello_world
higher-ranked Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
hygiene Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
illegal-sized-bound
impl-header-lifetime-elision
impl-trait Rollup merge of #135055 - compiler-errors:rpitit-infer-in-stricter-impl, r=estebank 2025-01-04 09:54:38 +01:00
implied-bounds Adjust tests 2024-09-05 06:37:38 -04:00
imports tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
include-macros Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
incoherent-inherent-impls chore: fix typos 2024-12-31 23:46:39 +08:00
indexing chore: fix typos 2024-12-31 23:46:39 +08:00
inference chore: fix typos 2024-12-31 23:46:39 +08:00
infinite Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
inherent-impls-overlap-check Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
inline-const review comments: reword messages and simplify logic 2024-12-04 20:49:05 +00: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 Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
internal use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
internal-lints Remove rustc::existing_doc_keyword lint. 2024-12-17 13:56:10 +11:00
intrinsics Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obk 2025-01-04 12:50:38 +00:00
invalid Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
invalid-compile-flags tests: add basic test coverage for cli flag --crate-type 2024-12-30 19:10:43 +08:00
invalid-module-declaration
invalid-self-argument
io-checks Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
issues Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
iterators Use links to edition guide for edition migrations 2024-12-15 20:28:16 -08:00
json Annotate input reference tests 2024-10-30 16:47:47 -07:00
keyword Structured suggestion for extern crate foo when foo isn't resolved in import 2024-07-29 23:49:51 +00:00
kindck Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
label
lang-items Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
late-bound-lifetimes
layout Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
lazy-type-alias Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
lazy-type-alias-impl-trait
let-else Suggest using deref in patterns 2024-12-13 14:18:41 -08:00
lexer Annotate input reference tests 2024-10-30 16:47:47 -07:00
lifetimes Rollup merge of #134181 - estebank:trim-render, r=oli-obk 2024-12-14 03:54:31 +01:00
limits Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
link-native-libs Add comments to -Zlink-* tests 2024-12-31 02:25:35 +00:00
linkage-attr Move more tests into tests/ui/link-native-libs 2024-12-07 13:18:05 +11:00
lint Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
liveness tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
loops Tweak multispan rendering 2024-12-12 23:36:27 +00:00
lowering
lto Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
lub-glb Tweak multispan rendering 2024-12-12 23:36:27 +00:00
macro_backtrace
macros Rollup merge of #135044 - compiler-errors:better-infer-suggestions-in-const, r=oli-obk 2025-01-03 22:12:45 +01:00
malformed
marker_trait_attr
match Rollup merge of #133486 - dianne:fix-move-error-suggestion, r=estebank 2024-12-31 18:42:23 -05:00
meta Remap path refix in the panic message 2024-10-12 09:41:42 +08:00
methods Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
mir Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
mir-dataflow Remove the DefinitelyInitializedPlaces analysis. 2024-11-22 17:02:04 +11:00
mismatched_types Add more info on type/trait mismatches for different crate versions 2024-12-07 18:18:08 +00:00
missing Reword suggestion message 2024-11-16 20:03:31 +00:00
missing_non_modrs_mod
missing-trait-bounds Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
modules Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
modules_and_files_visibility
moves Rollup merge of #133486 - dianne:fix-move-error-suggestion, r=estebank 2024-12-31 18:42:23 -05:00
mut Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
namespace
never_type Use links to edition guide for edition migrations 2024-12-15 20:28:16 -08:00
nll Rollup merge of #133486 - dianne:fix-move-error-suggestion, r=estebank 2024-12-31 18:42:23 -05:00
no_std
non_modrs_mods
non_modrs_mods_and_inline_mods
not-panic Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
numbers-arithmetic tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
numeric
object-lifetime tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
obsolete-in-place
offset-of use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
on-unimplemented Rollup merge of #132583 - mejrs:tuples, r=compiler-errors 2024-11-04 18:12:48 +01:00
operator-recovery
or-patterns Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
overloaded tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
packed Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
panic-handler Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
panic-runtime
panics Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
parallel-rustc
parser Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obk 2025-01-04 12:50:38 +00:00
patchable-function-entry
pattern Rollup merge of #133486 - dianne:fix-move-error-suggestion, r=estebank 2024-12-31 18:42:23 -05:00
pin-macro use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
precondition-checks Warn on redundant --cfg directive when revisions are used 2024-10-19 12:40:12 +00:00
print_type_sizes tests: ignore-debug -> ignore-std-debug-assertions 2024-10-31 17:33:42 +08:00
print-request Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
privacy Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
proc-macro Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
process Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
process-termination
ptr_ops
pub Bless test fallout 2024-08-03 07:57:31 -04:00
qualified
query-system
range Provide diagnostic for Struct(a, .., z) expression 2024-12-09 21:55:12 +00:00
raw-ref-op Auto merge of #134294 - matthiaskrgr:rollup-anh6io8, r=matthiaskrgr 2024-12-14 06:44:05 +00:00
reachable Consider arm to diverge if guard diverges 2024-12-24 19:12:13 +00:00
recursion Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
recursion_limit
regions Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
repeat-expr
repr Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
reserved
resolve Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
return Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
rfcs Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
rmeta
runtime Disable backtrace-debuginfo.rs on windows-gnu 2024-12-28 11:19:16 +08:00
rust-2018 Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
rust-2021 Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
rust-2024 Use links to edition guide for edition migrations 2024-12-15 20:28:16 -08:00
rustc-env
rustdoc Remove rustc::existing_doc_keyword lint. 2024-12-17 13:56:10 +11:00
sanitizer Stabilize async closures 2024-12-13 00:04:56 +00:00
self Rollup merge of #134524 - adetaylor:getref, r=compiler-errors 2024-12-21 01:30:16 +01:00
sepcomp
shadowed
shell-argfiles
simd Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingjubilee 2024-12-03 07:48:33 +01:00
single-use-lifetime
sized Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
span Arbitrary self types v2: adjust diagnostic. 2024-12-13 15:40:37 +00:00
specialization Auto merge of #134258 - bjorn3:no_public_specialization, r=petrochenkov 2024-12-15 04:45:24 +00:00
stability-attribute Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
stable-mir-print Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung 2024-12-14 22:43:39 +00:00
stack-protector
static Note def descr in NonConstFunctionCall 2024-12-23 22:15:32 +00:00
statics Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
stats Fix ICE when opaque captures a duplicated/invalid lifetime 2025-01-01 19:32:51 +00:00
std This test needs threads 2024-11-07 18:18:34 -08:00
stdlib-unit-tests Adjust atomic-from-mut-not-available.rs 2024-12-08 15:32:04 +08:00
str Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
structs Provide structured suggestion for impl Default of type where all fields have defaults 2024-12-31 18:06:01 +00:00
structs-enums add alignment info for test 2024-12-16 14:59:10 -05:00
suggestions Make suggestion verbose and tweak error message 2025-01-02 23:39:17 +00:00
svh Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
symbol-mangling-version
symbol-names Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
sync Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
target-feature rustc_intrinsic: support functions without body; they are implicitly marked as must-be-overridden 2025-01-04 11:41:51 +01:00
test-attrs Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
thir-print Introduce default_field_values feature 2024-12-09 21:55:01 +00:00
thread-local stabilize const_swap 2024-12-25 10:36:32 +01:00
threads-sendsync tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
tool-attributes Always run tail_expr_drop_order lint on promoted MIR 2024-12-23 20:25:41 +00:00
track-diagnostics Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
trait-bounds Tweak wording 2024-12-07 22:18:51 +00:00
traits Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obk 2025-01-04 12:50:38 +00:00
transmutability Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
transmute Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
treat-err-as-bug Try to write the panic message with a single write_all call 2025-01-01 15:58:29 +01:00
trivial-bounds
try-block Add trait diff highlighting logic and use it in E0277 2024-11-02 03:08:04 +00:00
try-trait Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
tuple Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
type Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
type-alias Do not talk about "trait <Foo = Bar>" 2024-12-07 21:37:15 +00:00
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 Do not project when there are unconstrained impl params 2025-01-03 05:01:14 +00:00
type-inference
typeck Rollup merge of #135044 - compiler-errors:better-infer-suggestions-in-const, r=oli-obk 2025-01-03 22:12:45 +01:00
typeof
ufcs Arbitrary self types v2: adjust diagnostic. 2024-12-13 15:40:37 +00:00
unboxed-closures tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
underscore-imports Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
underscore-lifetime
uniform-paths
uninhabited Update tests for new TRPL chapter order 2024-11-23 08:57:25 -07:00
union Mention type parameter in more cases and don't suggest ~const bound already there 2024-12-07 21:37:13 +00:00
unknown-unstable-lints Point at lint name instead of whole attr for gated lints 2024-12-18 19:27:44 +00:00
unop Mention type parameter in more cases and don't suggest ~const bound already there 2024-12-07 21:37:13 +00:00
unpretty Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
unresolved Structured suggestion for extern crate foo when foo isn't resolved in import 2024-07-29 23:49:51 +00:00
unsafe Use links to edition guide for edition migrations 2024-12-15 20:28:16 -08:00
unsafe-binders Begin to implement type system layer of unsafe binders 2024-12-22 21:57:57 +00:00
unsafe-fields Make Copy unsafe to implement for ADTs with unsafe fields 2024-12-07 20:50:00 +00:00
unsized Remove polymorphization 2024-12-06 16:42:09 -05:00
unsized-locals Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
unused-crate-deps
unwind-abis
use tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
variance Don't report bivariance error when nesting a struct with field errors into another struct 2024-10-15 14:58:54 -04:00
variants
version
warnings
wasm Stabilize WebAssembly multivalue, reference-types, and tail-call target features 2024-11-10 07:45:14 -08:00
wf Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
where-clauses Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
while Tweak multispan rendering 2024-12-12 23:36:27 +00:00
windows-subsystem
zero-sized
.gitattributes
attr-start.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
augmented-assignments-feature-gate-cross.rs
augmented-assignments-rpass.rs
augmented-assignments.rs Peel off explicit (or implicit) deref before suggesting clone on move error in borrowck 2024-07-26 14:41:56 -04:00
augmented-assignments.stderr Peel off explicit (or implicit) deref before suggesting clone on move error in borrowck 2024-07-26 14:41:56 -04:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
cancel-clean-via-immediate-rvalue-ref.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
crate-method-reexport-grrrrrrr.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
crate-name-attr-used.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
double-type-import.rs
double-type-import.stderr
dupe-first-attr.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
duplicate_entry_error.rs Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
empty-type-parameter-list.rs
empty-type-parameter-list.stderr
error-festival.rs
error-festival.stderr Suggest fixing typos and let bindings at the same time 2024-11-02 14:40:37 -07: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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
explore-issue-38412.rs stability: remove skip_stability_check_due_to_privacy 2024-11-18 08:07:46 +01:00
explore-issue-38412.stderr use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
ext-expand-inner-exprs.rs
ext-nonexistent.rs
ext-nonexistent.stderr
fact.rs
fail-simple.rs Tweak more warnings. 2024-10-28 14:20:28 +11:00
fail-simple.stderr Tweak more warnings. 2024-10-28 14:20:28 +11:00
filter-block-view-items.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
format-no-std.rs
fun-indirect-call.rs
future-incompatible-lint-group.rs
future-incompatible-lint-group.stderr
global-scope.rs
hello.rs Update more 2024 tests to remove -Zunstable-options 2024-11-28 14:32:45 -08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 stabilize -Znext-solver=coherence 2024-10-15 13:11:00 +02:00
impl-unused-tps.stderr Do not project when there are unconstrained impl params 2025-01-03 05:01:14 +00: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 Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
issue-16822.rs
issue-18502.rs
issue-24106.rs
issue-76387-llvm-miscompile.rs
issues-71798.rs
issues-71798.stderr
item-name-overload.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
kinds-in-metadata.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 Support ?Trait bounds in supertraits and dyn Trait under a feature gate 2024-07-25 20:53:33 +03:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
mut-function-arguments.rs
mutual-recursion-group.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
myriad-closures.rs
nested-block-comment.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
no_send-rc.rs
no_send-rc.stderr E0277: suggest dereferencing function arguments in more cases 2024-11-21 03:27:05 -08:00
no_share-enum.rs
no_share-enum.stderr Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
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 Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
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 Add --diagnostic-width to some tests failing after 1a0c502183 2024-11-06 20:02:42 +01:00
not-clone-closure.stderr Add --diagnostic-width to some tests failing after 1a0c502183 2024-11-06 20:02:42 +01:00
not-copy-closure.rs
not-copy-closure.stderr Suggest borrowing arguments in generic positions when trait bounds are satisfied 2024-11-13 20:29:40 -08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
paths-containing-nul.rs
phantom-auto-trait.rs
phantom-auto-trait.stderr Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
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 Migrate run-make/print-calling-conventions to ui-test 2024-08-03 20:09:42 -04:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
ptr-coercion.rs
ptr-coercion.stderr
query-visibility.rs
raw-str.rs
README.md Fix typos on tests/ui/README.md 2024-12-02 03:43:50 -07:00
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 On short error format, append primary span label to message 2024-08-06 04:08:10 +00:00
simd-abi-checks-empty-list.rs ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +01:00
simd-abi-checks-empty-list.stderr show abi_unsupported_vector_types lint in future breakage reports 2024-11-23 09:15:25 +01:00
simd-abi-checks-s390x.rs Support s390x z13 vector ABI 2024-11-14 22:14:11 +09:00
simd-abi-checks-s390x.z10.stderr show abi_unsupported_vector_types lint in future breakage reports 2024-11-23 09:15:25 +01:00
simd-abi-checks-s390x.z13_no_vector.stderr show abi_unsupported_vector_types lint in future breakage reports 2024-11-23 09:15:25 +01:00
simd-abi-checks-s390x.z13_soft_float.stderr show abi_unsupported_vector_types lint in future breakage reports 2024-11-23 09:15:25 +01:00
simd-abi-checks.rs add vector ABI check test for calling extern fn 2024-11-24 09:54:04 +01:00
simd-abi-checks.stderr add vector ABI check test for calling extern fn 2024-11-24 09:54:04 +01:00
sized-borrowed-pointer.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
sized-cycle-note.rs
sized-cycle-note.stderr
sized-owned-pointer.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
sse2.rs
sse-abi-checks.rs ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +01:00
sse-abi-checks.stderr show abi_unsupported_vector_types lint in future breakage reports 2024-11-23 09:15:25 +01:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
svh-add-nothing.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
swap-1.rs
swap-overlapping.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
tail-cps.rs
tail-typeck.rs
tail-typeck.stderr
trailing-comma.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
trait-method-number-parameters.rs
trait-method-number-parameters.stderr
transmute-equal-assoc-types.rs
transmute-non-immediate-to-immediate.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
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 tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
type-param.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
type-ptr.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
type-use-i1-versus-i8.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
typeid-intrinsic.rs
typestate-multi-decl.rs
unconstrained-none.rs
unconstrained-none.stderr
unconstrained-ref.rs
unconstrained-ref.stderr
underscore-ident-matcher.rs Tweak more warnings. 2024-10-28 14:20:28 +11:00
underscore-ident-matcher.stderr Tweak more warnings. 2024-10-28 14:20:28 +11:00
underscore-lifetimes.rs
underscore-method-after-integer.rs
unevaluated_fixed_size_array_len.rs
unevaluated_fixed_size_array_len.stderr
uninit-empty-types.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
unit.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
unknown-language-item.rs
unknown-language-item.stderr
unknown-llvm-arg.rs Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
unknown-llvm-arg.stderr
unnamed_argument_mode.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
unreachable-code-1.rs
unreachable-code.rs
unsigned-literal-negation.rs
unsigned-literal-negation.stderr
unused-move-capture.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
unused-move.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
unwind-no-uwtable.rs
use-import-export.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
use-keyword-2.rs
use-module-level-int-consts.rs
use-nested-groups.rs
used.rs
used.stderr
usize-generic-argument-parent.rs
usize-generic-argument-parent.stderr
utf8_idents.rs
utf8-bom.rs Annotate input reference tests 2024-10-30 16:47:47 -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 interpret a test.

As part of an ongoing 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 a legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.