rust/tests/ui
bors d4822c2d84 Auto merge of #127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez
rustdoc-search: simplify rules for generics and type params

**Heads up!**: This PR is a follow-up that depends on #124544. It adds 12dc24f460, a change to the filtering behavior, and 9900ea48b5, a minor ranking tweak.

Part of https://github.com/rust-lang/rust-project-goals/issues/112

This PR overturns https://github.com/rust-lang/rust/pull/109802

## Preview

* no results: [`Box<[A]> -> Vec<B>`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=Box%3C%5BA%5D%3E%20-%3E%20Vec%3CB%3E)
* results: [`Box<[A]> -> Vec<A>`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=Box%3C%5BA%5D%3E%20-%3E%20Vec%3CA%3E)
* [`T -> U`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=T%20-%3E%20U)
* [`Cx -> TyCtxt`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3-compiler/rustdoc/index.html?search=Cx%20-%3E%20TyCtxt)

![image](https://github.com/user-attachments/assets/015ae28c-7469-4f7f-be03-157d28d7ec97)

## Description

This commit is a response to feedback on the displayed type signatures results, by making generics act stricter.

- Order within generics is significant. This means `Vec<Allocator>` now matches only with a true vector of allocators, instead of matching the second type param. It also makes unboxing within generics stricter, so `Result<A, B>` only matches if `B` is in the error type and `A` is in the success type. The top level of the function search is unaffected.
- Generics are only "unboxed" if a type is explicitly opted into it. References and tuples are hardcoded to allow unboxing, and Box, Rc, Arc, Option, Result, and Future are opted in with an unstable attribute. Search result unboxing is the process that allows you to search for `i32 -> str` and get back a function with the type signature `&Future<i32> -> Box<str>`.
- Instead of ranking by set overlap, it ranks by the number of items in the type signature. This makes it easier to find single type signatures like transmute.

## Find the discussion on

* <https://rust-lang.zulipchat.com/#narrow/stream/393423-t-rustdoc.2Fmeetings/topic/meeting.202024-07-08/near/449965149>
* <https://github.com/rust-lang/rust/pull/124544#issuecomment-2204272265>
* <https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/deciding.20on.20semantics.20of.20generics.20in.20rustdoc.20search>
2024-11-11 12:26:00 +00: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 UI tests: Rename "object safe" to "dyn compatible" 2024-10-10 01:13:29 +02:00
annotate-snippet
anon-params
argfile
argument-suggestions Added more scenarios where commas need to be removed 2024-10-20 17:14:53 +08:00
array-slice-vec Tweak more warnings. 2024-10-28 14:20:28 +11:00
asm Stabilize Arm64EC inline assembly 2024-11-10 17:43:46 +09:00
associated-consts Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
associated-inherent-types use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
associated-item
associated-type-bounds Actually capture all in-scope lifetimes. 2024-10-30 16:22:23 +00:00
associated-types Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
async-await Manually register some bounds for a better span 2024-11-08 04:56:08 +00:00
attributes misapplied optimize attribute throws a compilation error (#128488) 2024-10-20 08:34:15 -06:00
auto-traits Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
autodiff Add pretty, ui, and feature-gate tests for the enzyme/autodiff frontend 2024-10-11 20:38:43 +02:00
autoref-autoderef
auxiliary mark some target features as 'forbidden' so they cannot be (un)set 2024-11-04 22:56:47 +01:00
backtrace Emscripten: Xfail backtrace ui tests 2024-10-16 12:22:14 +02:00
bench
binding
binop Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +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
borrowck Re-do recursive const stability checks 2024-10-25 20:31:40 +02:00
box use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
btreemap
builtin-superkinds
c-variadic
cast Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
cfg Handle gracefully true/false in cfg(target(..)) compact 2024-10-16 09:41:49 +02:00
check-cfg Stabilize WebAssembly multivalue, reference-types, and tail-call target features 2024-11-10 07:45:14 -08:00
closure_context
closure-expected-type
closures Auto merge of #132580 - compiler-errors:globs, r=Noratrieb 2024-11-05 08:30:56 +00:00
cmse-nonsecure improve error messages for C-cmse-nonsecure-entry functions 2024-10-14 22:32:32 +02:00
codegen move strict provenance lints to new feature gate, remove old feature gates 2024-10-21 15:22:17 +01:00
codemap_tests Add Unicode block-drawing compiler output support 2024-11-10 23:57:18 +01:00
coercion
coherence Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +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 tests/ui: add minicore compiletest self-test 2024-10-31 18:20:11 +08: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
const_prop
const-generics Yeet effects feature 2024-11-03 18:59:31 +00:00
const-ptr
consts core: move intrinsics.rs into intrinsics folder 2024-11-07 17:49:45 +01:00
coroutine Add --diagnostic-width to some tests failing after 1a0c502183 2024-11-06 20:02:42 +01: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
definition-reachable
delegation Yeet effects feature 2024-11-03 18:59:31 +00:00
dep-graph
deprecation
deref-patterns
derived-errors
derives Rollup merge of #131153 - VulnBandit:copy_impl_vuln, r=compiler-errors 2024-11-04 20:40:44 -08:00
deriving Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
dest-prop
destructuring-assignment add third help hint to diagnostic error E0027 2024-10-24 03:17:28 -04:00
diagnostic_namespace Rollup merge of #132583 - mejrs:tuples, r=compiler-errors 2024-11-04 18:12:48 +01: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 Rollup merge of #131984 - dingxiangfei2009:stabilize-if-let-rescope, r=traviscross,lcnr 2024-10-29 18:38:57 +01:00
drop-bounds
dropck Tweak E0320 overflow error wording 2024-11-05 21:54:45 +00:00
dst Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
duplicate
dyn-compatibility Don't assume traits used as type are trait objs 2024-10-11 17:36:04 +02: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
dynamically-sized-types
editions And also suggest for qpaths 2024-11-01 01:46:23 +00:00
empty
entry-point
enum Properly suggest E::assoc when we encounter E::Variant::assoc 2024-11-03 18:55:19 +00:00
enum-discriminant
env-macro
error-codes remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 2024-11-08 09:16:00 +01:00
error-emitter Add Unicode block-drawing compiler output support 2024-11-10 23:57:18 +01:00
errors Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
explicit
explicit-tail-calls
expr
extern remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 2024-11-08 09:16:00 +01:00
extern-flag
feature-gates Auto merge of #127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez 2024-11-11 12:26:00 +00:00
ffi-attrs
float move f16/f128 const fn under f16/f128 feature gate 2024-10-05 10:13:18 +02:00
fmt Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
fn
fn-main
for Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
for-loop-while
foreign
fuel
fully-qualified-type
function-pointer Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
functional-struct-update
functions-closures
generic-associated-types Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
generic-const-items Yeet effects feature 2024-11-03 18:59:31 +00:00
generics
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 Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
hygiene
illegal-sized-bound
impl-header-lifetime-elision
impl-trait Dont suggest use<APIT> 2024-11-09 19:41:53 +00:00
implied-bounds
imports use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
include-macros
incoherent-inherent-impls
indexing Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
inference use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08: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
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
intrinsics remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 2024-11-08 09:16:00 +01:00
invalid
invalid-compile-flags Rollup merge of #132259 - mrkajetanp:branch-protection-pauth-lr, r=davidtwco 2024-11-05 20:10:49 +01:00
invalid-module-declaration
invalid-self-argument
io-checks
issues use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
iterators Don't suggest .into_iter() on iterators 2024-11-08 17:43:13 -08:00
json Annotate input reference tests 2024-10-30 16:47:47 -07:00
keyword
kindck Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
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
lexer Annotate input reference tests 2024-10-30 16:47:47 -07:00
lifetimes Rollup merge of #132363 - compiler-errors:raw-lt-id-valid, r=wesleywiser 2024-11-09 19:16:43 +01:00
limits
linkage-attr port tests/ui/linkage-attr/framework to run-make 2024-10-27 21:23:28 -04:00
lint Rollup merge of #132426 - Urgau:unreach_pub-super, r=petrochenkov 2024-11-10 22:20:35 +01:00
liveness
loops
lowering
lto
lub-glb
macro_backtrace
macros use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
malformed
manual
marker_trait_attr
match
meta Remap path refix in the panic message 2024-10-12 09:41:42 +08:00
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 Add a regression test for #132353 2024-10-31 13:12:22 +08:00
mir-dataflow
mismatched_types Add test for str for "expected primitive, found type" 2024-11-09 00:23:53 -06:00
missing
missing_non_modrs_mod
missing-trait-bounds
modules Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
modules_and_files_visibility
moves
mut Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
namespace
native-library-link-flags
never_type Rollup merge of #132528 - compiler-errors:fallback-sugg-opt, r=jieyouxu 2024-11-03 12:08:54 +01:00
nll stabilize if_let_rescope 2024-10-24 04:33:14 +08: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
numeric
object-lifetime
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 Tweak more warnings. 2024-10-28 14:20:28 +11:00
overloaded Suggest creating unary tuples 2024-11-04 12:06:19 +01:00
packed
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 Auto merge of #126597 - estebank:unicode-output, r=fmease 2024-11-11 00:00:58 +00:00
patchable-function-entry
pattern Get rid of check_opaque_type_well_formed 2024-11-08 03:46:27 +00:00
pin-macro use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
polymorphization
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 Add --print host-triple 2024-11-02 21:29:59 +01:00
privacy Rename Receiver -> LegacyReceiver 2024-10-22 12:55:16 +00:00
proc-macro use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
process Fix most ui tests on emscripten target 2024-10-15 14:25:55 +02:00
process-termination
ptr_ops
pub
qualified
query-system
range Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
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 Tweak E0320 overflow error wording 2024-11-05 21:54:45 +00:00
recursion_limit
regions
repeat-expr
repr remove support for extern-block const intrinsics 2024-11-04 23:27:45 +01:00
reserved
resolve use verbose for path separator suggestion 2024-11-08 16:58:19 +00:00
return
rfcs Add more places where expressions can occur 2024-11-10 01:18:35 +01:00
rmeta
runtime std: fix stdout-before-main 2024-10-12 13:01:36 +02:00
rust-2018
rust-2021 Don't assume traits used as type are trait objs 2024-10-11 17:36:04 +02:00
rust-2024 Remove unadorned 2024-10-11 11:30:08 -04:00
rustc-env
rustdoc
sanitizer Warn on redundant --cfg directive when revisions are used 2024-10-19 12:40:12 +00:00
self Reject generic self types. 2024-10-30 10:48:08 +00:00
sepcomp
shadowed
shell-argfiles
simd
single-use-lifetime
sized On function and method calls in patterns, link to the book 2024-10-06 01:44:59 +00:00
span
specialization Gate checking ~const bounds on const_trait_impl 2024-11-03 18:48:24 +00:00
stability-attribute remove support for extern-block const intrinsics 2024-11-04 23:27:45 +01:00
stable-mir-print [StableMIR] A few fixes to pretty printing 2024-11-07 16:16:38 -08:00
stack-protector
static Don't emit null pointer lint for raw ref of null deref 2024-10-06 22:36:51 -04:00
statics Rollup merge of #132095 - gechelberger:fix-131977, r=wesleywiser 2024-11-07 18:48:21 -08:00
stats Represent TraitBoundModifiers as distinct parts in HIR 2024-10-22 19:48:44 +00:00
std This test needs threads 2024-11-07 18:18:34 -08:00
stdlib-unit-tests
str Trim output of E0277 in some cases 2024-11-02 03:08:04 +00:00
structs add third help hint to diagnostic error E0027 2024-10-24 03:17:28 -04:00
structs-enums remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead 2024-11-08 09:16:00 +01:00
suggestions use verbose for path separator suggestion 2024-11-08 16:58:19 +00:00
svh
symbol-mangling-version
symbol-names
sync Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
target-feature Add v9 and leoncasa target feature to sparc 2024-11-09 03:17:24 +09:00
test-attrs
thir-print Lower AST node id only once 2024-10-28 14:12:17 +08:00
thread-local
threads-sendsync
tool-attributes
track-diagnostics
trait-bounds Validate associated type bounds on ? 2024-10-31 00:09:52 +00:00
traits give a hint which feature is missing 2024-11-09 23:32:06 +01:00
transmutability use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
transmute
treat-err-as-bug
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
type use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08:00
type-alias
type-alias-enum-variants
type-alias-impl-trait Manually register some bounds for a better span 2024-11-08 04:56:08 +00:00
type-inference
typeck fix test 2024-11-07 20:56:36 +00:00
typeof
ufcs
unboxed-closures
underscore-imports
underscore-lifetime
uniform-paths
uninhabited
union Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
unknown-unstable-lints
unop
unpretty Print unsafety of attribute in AST unpretty 2024-10-26 13:33:36 +02:00
unresolved
unsafe A raw ref of a deref is always safe 2024-10-06 22:35:40 -04:00
unsized Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00: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 Suppress import errors for traits that couldve applied in method lookup on error 2024-10-14 14:40:11 -04: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 Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
where-clauses On long E0277 primary span label, move it to a help 2024-11-02 03:08:04 +00:00
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 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
explore-issue-38412.rs use backticks instead of single quotes when reporting "use of unstable library feature" 2024-11-03 13:55:52 -08: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
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 stabilize -Znext-solver=coherence 2024-10-15 13:11:00 +02:00
impl-unused-tps.stderr stabilize -Znext-solver=coherence 2024-10-15 13:11:00 +02: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
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 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
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
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.rs Emit warning when calling/declaring functions with unavailable vectors. 2024-11-01 22:24:35 +01:00
simd-abi-checks.stderr Emit warning when calling/declaring functions with unavailable vectors. 2024-11-01 22:24:35 +01:00
sized-borrowed-pointer.rs
sized-cycle-note.rs
sized-cycle-note.stderr
sized-owned-pointer.rs
sse2.rs
sse-abi-checks.rs Emit warning when calling/declaring functions with unavailable vectors. 2024-11-01 22:24:35 +01:00
sse-abi-checks.stderr Emit warning when calling/declaring functions with unavailable vectors. 2024-11-01 22:24:35 +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 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
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 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 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>.