rust/tests/ui
Jacob Pratt b9cd5eb190
Rollup merge of #133216 - compiler-errors:const-fn, r=lcnr
Implement `~const Fn` trait goal in the new solver

Split out from https://github.com/rust-lang/rust/pull/132329 since this should be easier to review on its own.

r? lcnr
2024-11-20 01:54:27 -05:00
..
abi Add v8plus target feature to sparc and use it in create_object_file 2024-11-09 03:22:09 +09:00
alloc-error
allocator
annotate-snippet
anon-params
argfile
argument-suggestions
array-slice-vec
asan-odr-win PassWrapper: disable UseOdrIndicator for Asan Win32 2024-11-14 04:20:18 +08:00
asm Stabilize Arm64EC inline assembly 2024-11-10 17:43:46 +09:00
associated-consts
associated-inherent-types
associated-item
associated-type-bounds
associated-types Make sure to ignore elided lifetimes when pointing at args for fulfillment errors 2024-11-12 02:08:39 +00:00
async-await
attributes
auto-traits
autodiff
autoref-autoderef
auxiliary stability: remove skip_stability_check_due_to_privacy 2024-11-18 08:07:46 +01:00
backtrace
bench
binding
binop
blind
block-result
bootstrap Add a ui test for RUSTC_BOOTSTRAP vs rustc's stability 2024-11-17 19:59:52 +08:00
borrowck
box
btreemap
builtin-superkinds
c-variadic
cast
cfg
check-cfg Report unexpected_cfgs lint in external macros 2024-11-18 18:52:27 +01:00
closure_context
closure-expected-type
closures Suggest borrowing arguments in generic positions when trait bounds are satisfied 2024-11-13 20:29:40 -08:00
cmse-nonsecure
codegen
codemap_tests Add Unicode block-drawing compiler output support 2024-11-10 23:57:18 +01:00
coercion add parentheses when unboxing suggestion needed 2024-11-12 18:23:57 +08:00
coherence
coinduction
command
compare-method
compiletest-self-test
conditional-compilation
confuse-field-and-method
const_prop
const-generics Introduce min_generic_const_args and directly represent paths 2024-11-19 05:07:43 +00:00
const-ptr
consts Auto merge of #133164 - RalfJung:promoted-oom, r=jieyouxu 2024-11-19 13:24:09 +00:00
coroutine
coverage-attr
crate-loading
cross
cross-crate
custom_test_frameworks
cycle-trait
debuginfo When the required discriminator value exceeds LLVM's limits, drop the debug info for the function instead of panicking. 2024-11-19 05:19:09 -08: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
deriving
dest-prop
destructuring-assignment
diagnostic_namespace Add reference annotations for diagnostic attributes 2024-11-18 10:45:26 -08:00
diagnostic-flags
diagnostic-width Add Unicode block-drawing compiler output support 2024-11-10 23:57:18 +01:00
did_you_mean
directory_ownership
disallowed-deconstructing
dollar-crate
drop
drop-bounds
dropck
dst
duplicate
dyn-compatibility
dyn-drop
dyn-keyword
dyn-star
dynamically-sized-types
editions Mention both release *and* edition breakage for never type lints 2024-11-14 01:32:54 +01:00
empty
entry-point
enum
enum-discriminant
env-macro
error-codes
error-emitter Add Unicode block-drawing compiler output support 2024-11-10 23:57:18 +01:00
errors
explicit
explicit-tail-calls
expr
extern
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 Introduce min_generic_const_args and directly represent paths 2024-11-19 05:07:43 +00:00
ffi-attrs
float
fmt
fn
fn-main
for
for-loop-while
foreign
fuel
fully-qualified-type
function-pointer
functional-struct-update
functions-closures
generic-associated-types
generic-const-items
generics
half-open-range-patterns
hashmap
hello_world
higher-ranked Make sure to ignore elided lifetimes when pointing at args for fulfillment errors 2024-11-12 02:08:39 +00:00
hygiene
illegal-sized-bound
impl-header-lifetime-elision
impl-trait Check use<..> in RPITIT for refinement 2024-11-18 00:27:44 +00:00
implied-bounds
imports
include-macros
incoherent-inherent-impls
indexing
inference
infinite
inherent-impls-overlap-check
inline-const Add test cases 2024-11-13 22:35:39 +02:00
instrument-coverage
instrument-xray
interior-mutability
internal
internal-lints
intrinsics Likely unlikely fix 2024-11-17 21:49:10 +01:00
invalid Fix ICE when passing DefId-creating args to legacy_const_generics. 2024-11-16 01:07:51 +01:00
invalid-compile-flags
invalid-module-declaration
invalid-self-argument
io-checks
issues Increase accuracy of if condition misparse suggestion 2024-11-16 20:03:31 +00:00
iterators Don't suggest .into_iter() on iterators 2024-11-08 17:43:13 -08:00
json
keyword
kindck
label
lang-items
late-bound-lifetimes
layout Auto merge of #132173 - veluca93:abi_checks, r=RalfJung,compiler-errors 2024-11-10 02:52:25 +00:00
lazy-type-alias
lazy-type-alias-impl-trait
let-else Reword suggestion message 2024-11-16 20:03:31 +00:00
lexer
lifetimes ensure that tail expr receive lifetime extension 2024-11-11 20:34:36 +08:00
limits
linkage-attr
lint Rollup merge of #132732 - gavincrawford:as_ptr_attribute, r=Urgau 2024-11-20 01:54:24 -05:00
liveness
loops
lowering
lto
lub-glb
macro_backtrace
macros
malformed
manual
marker_trait_attr
match
meta
methods
mir Validate and test -Zmir-enable-passes 2024-11-12 13:28:05 +00:00
mir-dataflow
mismatched_types Add test for str for "expected primitive, found type" 2024-11-09 00:23:53 -06:00
missing Reword suggestion message 2024-11-16 20:03:31 +00:00
missing_non_modrs_mod
missing-trait-bounds
modules
modules_and_files_visibility
moves suggest_borrow_generic_arg: instantiate clauses properly 2024-11-17 18:09:36 -08:00
mut
namespace
native-library-link-flags Add some UI tests for -l modifier parsing 2024-11-18 15:55:12 +11:00
never_type Mark never_type_fallback_flowing_into_unsafe as a semantic change 2024-11-14 06:01:14 +01:00
nll
no_std
non_modrs_mods
non_modrs_mods_and_inline_mods
not-panic
numbers-arithmetic
numeric
object-lifetime
obsolete-in-place
offset-of
on-unimplemented
operator-recovery
or-patterns
overloaded
packed
panic-handler
panic-runtime
panics
parallel-rustc
parser Diagnostics for let mut in item context 2024-11-17 22:30:11 +00:00
patchable-function-entry
pattern Also check if let chains with multiple lets in these two tests 2024-11-16 05:01:52 +01:00
pin-macro
polymorphization
precondition-checks
print_type_sizes
print-request
privacy
proc-macro remove attributes from generics in built-in derive macros 2024-11-11 21:20:02 +02:00
process
process-termination
ptr_ops
pub
qualified
query-system
range
raw-ref-op
reachable
recursion
recursion_limit
regions
repeat-expr
repr
reserved
resolve
return
rfcs Add regression test for issue #103476, fixed in edition 2024 2024-11-16 05:21:09 +01:00
rmeta
runtime
rust-2018
rust-2021
rust-2024
rustc-env
rustdoc
sanitizer
self
sepcomp
shadowed
shell-argfiles
simd
single-use-lifetime
sized
span
specialization
stability-attribute
stable-mir-print
stack-protector
static
statics
stats Merge -Zhir-stats into -Zinput-stats 2024-11-15 12:46:40 -05:00
std
stdlib-unit-tests
str
structs
structs-enums make UI test OS-agnostic 2024-11-15 16:37:18 +01:00
suggestions Provide placeholder generic arguments for traits in "no method found for type parameter" suggestions 2024-11-11 12:33:15 -08:00
svh
symbol-mangling-version
symbol-names fixup some test directives 2024-11-17 22:15:54 +00:00
sync
target-feature
test-attrs
thir-print
thread-local
threads-sendsync
tool-attributes
track-diagnostics
trait-bounds
traits Implement ~const Fn trait goals in the new solver 2024-11-19 21:22:17 +00:00
transmutability
transmute
treat-err-as-bug
trivial-bounds
try-block
try-trait
tuple
type
type-alias
type-alias-enum-variants
type-alias-impl-trait Deny capturing late-bound ty/ct params in nested opaques 2024-11-10 04:30:33 +00:00
type-inference
typeck
typeof
ufcs
unboxed-closures
underscore-imports
underscore-lifetime
uniform-paths
uninhabited
union
unknown-unstable-lints
unop
unpretty
unresolved
unsafe Reword suggestion message 2024-11-16 20:03:31 +00:00
unsized
unsized-locals
unused-crate-deps
unwind-abis
use
variance
variants
version
warnings
wasm Stabilize WebAssembly multivalue, reference-types, and tail-call target features 2024-11-10 07:45:14 -08:00
wf
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
duplicate-label-E0381-issue-129274.stderr
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
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 stability: remove skip_stability_check_due_to_privacy 2024-11-18 08:07:46 +01:00
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
impl-unused-tps.stderr
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
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 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
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
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
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 ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +01:00
simd-abi-checks.rs ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +01:00
simd-abi-checks.stderr ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +01:00
sized-borrowed-pointer.rs
sized-cycle-note.rs
sized-cycle-note.stderr
sized-owned-pointer.rs
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 ABI checks: add support for tier2 arches 2024-11-12 22:34:31 +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
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
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
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>.