rust/tests/ui
bors 0eb0b8cb67 Auto merge of #134767 - Bryanskiy:dylibs-3, r=petrochenkov
Initial support for dynamically linked crates

This PR is an initial implementation of [rust-lang/rfcs#3435](https://github.com/rust-lang/rfcs/pull/3435) proposal.
### component 1: interface generator

Interface generator - a tool for generating a stripped version of crate source code. The interface is like a C header, where all function bodies are omitted. For example, initial crate:

```rust
#[export]
#[repr(C)]
pub struct S {
   pub x: i32
}
#[export]
pub extern "C" fn foo(x: S) {
   m1::bar(x);
}

pub fn bar(x: crate::S) {
    // some computations
}
```

generated interface:

```rust
#[export]
#[repr(C)]
pub struct S {
    pub x: i32,
}

#[export]
pub extern "C" fn foo(x: S);

pub fn bar(x: crate::S);
```

The interface generator was implemented as part of the pretty-printer. Ideally interface should only contain exportable items, but here is the first problem:
-  pass for determining exportable items relies on privacy information, which is totally available only in HIR
- HIR pretty-printer uses pseudo-code(at least for attributes)

So, the interface generator was implemented in AST. This has led to the fact that non-exportable items cannot be filtered out, but I don't think this is a major issue at the moment.

To emit an interface use a new `sdylib` crate type which is basically the same as `dylib`, but it doesn't contain metadata, and also produces the interface as a second artifact. The current interface name is `lib{crate_name}.rs`.
#### Why was it decided to use a design with an auto-generated interface?

One of the main objectives of this proposal is to allow building the library and the application with different compiler versions. This requires either a metadata format compatible across rustc versions or some form of a source code. The option with a stable metadata format has not been investigated in detail, but it is not part of RFC either. Here is the the related discussion: https://github.com/rust-lang/rfcs/pull/3435#discussion_r1202872373

Original proposal suggests using the source code for the dynamic library and all its dependencies. Metadata is obtained from `cargo check`. I decided to use interface files since it is more or less compatible with the original proposal, but also allows users to hide the source code.
##### Regarding the design with interfaces

in Rust, files generally do not have a special meaning, unlike C++. A translation unit i.e. a crate is not a single file, it consists of modules. Modules, in turn, can be declared either in one file or divided into several. That's why the "interface file" isn't a very coherent concept in Rust. I would like to avoid adding an additional level of complexity for users until it is proven necessary. Therefore, the initial plan was to make the interfaces completely invisible to users i. e. make them auto-generated. I also planned to put them in the dylib, but this has not been done yet. (since the PR is already big enough, I decided to postpone it)

There is one concern, though, which has not yet been investigated(https://github.com/rust-lang/rust/pull/134767#issuecomment-2736471828):

> Compiling the interface as pretty-printed source code doesn't use correct macro hygiene (mostly relevant to macros 2.0, stable macros do not affect item hygiene).  I don't have much hope for encoding hygiene data in any stable way, we should rather support a way for the interface file to be provided manually, instead of being auto-generated, if there are any non-trivial requirements.
### component 2: crate loader

When building dynamic dependencies, the crate loader searches for the interface in the file system, builds the interface without codegen and loads it's metadata. Routing rules for interface files are almost the same as for `rlibs` and `dylibs`. Firstly, the compiler checks `extern` options and then tries to deduce the path himself.

Here are the code and commands that corresponds to the compilation process:

```rust
// simple-lib.rs
#![crate_type = "sdylib"]

#[extern]
pub extern "C" fn foo() -> i32 {
    42
}
```

```rust
// app.rs
extern crate simple_lib;

fn main() {
    assert!(simple_lib::foo(), 42);
}
```

```
// Generate interface, build library.
rustc +toolchain1 lib.rs

// Build app. Perhaps with a different compiler version.
rustc +toolchain2 app.rs -L.
```

P.S. The interface name/format and rules for file system routing can be changed further.
### component 3: exportable items collector

Query for collecting exportable items. Which items are exportable is defined [here](https://github.com/m-ou-se/rfcs/blob/export/text/0000-export.md#the-export-attribute) .
### component 4: "stable" mangling scheme

The mangling scheme proposed in the RFC consists of two parts: a mangled item path and a hash of the signature.
#### mangled item path

For the first part of the symbol it has been decided to reuse the `v0` mangling scheme as it much less dependent on compiler internals compared to the `legacy` scheme.

The exception is disambiguators (https://doc.rust-lang.org/rustc/symbol-mangling/v0.html#disambiguator):

For example, during symbol mangling rustc uses a special index to distinguish between two impls of the same type in the same module(See `DisambiguatedDefPathData`). The calculation of this index may depend on private items, but private items should not affect the ABI. Example:

```rust
#[export]
#[repr(C)]
pub struct S<T>(pub T);

struct S1;
pub struct S2;

impl S<S1> {
    extern "C" fn foo() -> i32 {
        1
    }
}

#[export]
impl S<S2> {
    // Different symbol names can be generated for this item
    // when compiling the interface and source code.
    pub extern "C" fn foo() -> i32 {
        2
    }
}
```

In order to make disambiguation independent of the compiler version we can assign an id to each impl according to their relative order in the source code.

The second example is `StableCrateId` which is used to disambiguate different crates. `StableCrateId` consists of crate name, `-Cmetadata` arguments and compiler version. At the moment, I have decided to keep only the crate name, but a more consistent approach to crate disambiguation could be added in the future.

Actually, there are more cases where such disambiguation can be used. For instance, when mangling internal rustc symbols, but it also hasn't been investigated in detail yet.
#### hash of the signature

Exportable functions from stable dylibs can be called from safe code. In order to provide type safety, 128 bit hash with relevant type information is appended to the symbol ([description from RFC](https://github.com/m-ou-se/rfcs/blob/export/text/0000-export.md#name-mangling-and-safety)). For now, it includes:

- hash of the type name for primitive types
- for ADT types with public fields the implementation follows [this](https://github.com/m-ou-se/rfcs/blob/export/text/0000-export.md#types-with-public-fields) rules

`#[export(unsafe_stable_abi = "hash")]` syntax for ADT types with private fields is not yet implemented.

Type safety is a subtle thing here. I used the approach from RFC, but there is the ongoing research project about it. [https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html)

### Unresolved questions

Interfaces:
1. Move the interface generator to HIR and add an exportable items filter.
2. Compatibility of auto-generated interfaces and macro hygiene.
3. There is an open issue with interface files compilation: https://github.com/rust-lang/rust/pull/134767#issuecomment-2736471828
4. Put an interface into a dylib.

Mangling scheme:
1. Which information is required to ensure type safety and how should it be encoded? ([https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html))
2. Determine all other possible cases, where path disambiguation is used. Make it compiler independent.

We also need a semi-stable API to represent types. For example, the order of fields in the `VariantDef` must be stable. Or a semi-stable representation for AST, which ensures that the order of the items in the code is preserved.

There are some others, mentioned in the proposal.
2025-05-05 08:36:17 +00:00
..
abi Remove redundant min-llvm-version annotations for LoongArch tests 2025-05-01 08:50:14 +08:00
alloc-error Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
allocator compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
annotate-snippet compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
anon-params UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
argfile Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
argument-suggestions Cleaned up 4 tests in tests/ui/issues 2025-04-19 01:10:26 -06:00
array-slice-vec compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
asm allow #[rustfmt::skip] in combination with #[naked] 2025-05-03 19:15:19 +02:00
associated-consts compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
associated-inherent-types UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
associated-item Rollup merge of #137631 - TaKO8Ki:issue-137508, r=compiler-errors 2025-02-26 19:03:56 +01:00
associated-type-bounds UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
associated-types Use select in projection lookup 2025-04-30 18:07:52 +00:00
async-await Fix for async drop ice with partly dropped tuple 2025-04-29 21:41:15 +07:00
attributes Initial support for dynamically linked crates 2025-05-04 22:03:15 +03:00
auto-traits Rollup merge of #138632 - clubby789:stabilize-cfg-boolean-lit, r=davidtwco,Urgau,traviscross 2025-04-17 06:25:15 +02:00
autodiff emit a better error message for using the macro incorrectly 2025-04-08 21:54:34 -04:00
autoref-autoderef tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
auxiliary Move some tests out of tests/ui 2025-05-03 17:22:52 +02:00
backtrace tests: use needs-subprocess instead of ignore-{wasm32,emscripten,sgx} 2025-01-23 20:51:29 +08:00
bench tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
binding Remove some unnecessary parens in assert! conditions 2025-02-06 22:28:44 +00:00
binop compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
blind compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
block-result compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
bootstrap compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
borrowck compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
box tests: use needs-threads instead of ignore-emscripten 2025-01-23 20:51:29 +08:00
btreemap Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +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 compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
cast compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
cfg tests: fix a panic strategy in cfg_false_no_std-2.rs 2025-05-03 22:44:36 +08:00
check-cfg Rollup merge of #139675 - sayantn:avx10, r=Amanieu 2025-05-04 13:21:07 +10:00
closure-expected-type
closure_context
closures Auto merge of #139577 - davidtwco:sizedness-go-vroom, r=oli-obk 2025-04-14 19:54:27 +00:00
cmse-nonsecure Bless UI tests 2025-03-03 08:52:07 +01:00
codegen Remove fragile equal-pointers-unequal tests. 2025-05-02 11:19:20 +02:00
codemap_tests Rollup merge of #139967 - jieyouxu:auxiliary, r=wesleywiser 2025-04-17 21:53:25 +02:00
coercion compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
coherence Do not rely on type_var_origin in OrphanCheckErr::NonLocalInputType 2025-03-20 02:17:14 +00:00
coinduction
command Move #![crate_type] UI tests into attributes directory 2025-02-15 03:41:07 +01:00
compare-method Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
compiletest-self-test compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
conditional-compilation compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
confuse-field-and-method Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
const-generics Set groundwork for proper const normalization 2025-05-01 20:05:02 +01:00
const-ptr interpret: better error message for out-of-bounds pointer arithmetic and accesses 2025-04-30 18:45:41 +02:00
const_prop Tweak unevaluated constant in pattern error 2024-12-04 20:29:35 +00:00
consts Rollup merge of #137280 - RalfJung:const_swap_nonoverlapping, r=lcnr 2025-05-04 18:11:47 -04:00
contracts Fix unreachable expression warning 2025-04-08 10:46:31 -07:00
coroutine compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
coverage-attr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
crate-loading tests: rebless some tests as a side-effect of TEST_BUILD_DIR changes 2025-03-04 00:21:02 +08:00
cross compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
cross-crate Move some tests out of tests/ui 2025-05-03 17:22:52 +02:00
custom_test_frameworks Address review comments. 2025-04-01 16:07:23 +11:00
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 compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
definition-reachable
delegation Rollup merge of #138632 - clubby789:stabilize-cfg-boolean-lit, r=davidtwco,Urgau,traviscross 2025-04-17 06:25:15 +02:00
dep-graph compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
deprecation replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
deref-patterns Cleaned up 5 tests in tests/ui 2025-04-21 16:16:38 +09:00
derived-errors Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
derives collateral damage in derive tests, improves errors by not refering to implementation details 2025-05-02 18:09:31 +02:00
deriving Remove let_chains feature gate from even more tests 2025-04-18 15:57:29 +02:00
dest-prop
destructuring-assignment More sophisticated span trimming 2025-02-21 00:41:17 +00:00
diagnostic-flags Remove attribute #[rustc_error] 2025-03-30 01:32:21 +03:00
diagnostic-width compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
diagnostic_namespace Auto merge of #140503 - matthiaskrgr:rollup-n7zigts, r=matthiaskrgr 2025-04-30 12:09:10 +00:00
did_you_mean Auto merge of #139940 - matthiaskrgr:rollup-rd4d3fn, r=matthiaskrgr 2025-04-17 04:52:34 +00:00
directory_ownership tests: remove unused auxiliaries under tests/ui/directory_ownership/ 2025-04-17 19:45:28 +08:00
disallowed-deconstructing
dollar-crate
drop Remove let_chains feature gate from even more tests 2025-04-18 15:57:29 +02:00
drop-bounds
dropck Don't immediately panic if dropck fails without returning errors 2025-02-24 16:41:18 +00:00
dst compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
duplicate UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
dyn-compatibility UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
dyn-drop
dyn-keyword Fix suggestion when there are generics, inline some things 2025-03-08 20:44:57 +00:00
dyn-star UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
dynamically-sized-types Allow dangerous_implicit_autorefs lint in some tests 2025-04-20 11:36:28 +02:00
editions UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
empty compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
entry-point compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
enum Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
enum-discriminant compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
env-macro Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
ergonomic-clones Rollup merge of #138628 - spastorino:add-more-ergonomic-clone-tests, r=nikomatsakis 2025-04-09 20:23:09 +02:00
error-codes resolve: Support imports of associated types and glob imports from traits 2025-05-02 15:59:38 +03:00
error-emitter compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
errors ignore aix for tests/ui/erros/pic-linker.rs 2025-04-16 19:26:26 -04:00
explicit compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
explicit-tail-calls Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
expr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
extern UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
extern-flag UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
feature-gates Initial support for dynamically linked crates 2025-05-04 22:03:15 +03:00
ffi-attrs error on unsafe attributes in pre-2024 editions 2025-04-13 01:22:59 +02:00
float Implement the internal feature cfg_target_has_reliable_f16_f128 2025-04-27 19:58:44 +00:00
fmt compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
fn compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
fn-main
for Tweak multispan rendering 2024-12-12 23:36:27 +00:00
for-loop-while Remove some unnecessary parens in assert! conditions 2025-02-06 22:28:44 +00:00
force-inlining Rollup merge of #137599 - davidtwco:use-minicore-more, r=jieyouxu 2025-02-28 22:29:52 +08:00
foreign compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
fully-qualified-type compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
function-pointer Remove a duplicated check that doesn't do anything anymore. 2024-12-19 10:56:31 +00:00
functional-struct-update Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
functions-closures tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
generic-associated-types Rollup merge of #139854 - fmease:modern-diag-for-lt-in-ty, r=davidtwco 2025-04-17 00:16:22 +02:00
generic-const-items User type annotations for free consts in pattern position 2025-05-01 13:14:53 +01:00
generics compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
half-open-range-patterns Rollup merge of #138632 - clubby789:stabilize-cfg-boolean-lit, r=davidtwco,Urgau,traviscross 2025-04-17 06:25:15 +02:00
hashmap Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
hello_world
higher-ranked Auto merge of #139578 - ferrocene:pa-compiletest-edition, r=jieyouxu 2025-04-11 10:53:45 +00:00
hygiene hygiene: Rename semi-transparent to semi-opaque 2025-03-31 15:41:48 +03:00
illegal-sized-bound UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
impl-header-lifetime-elision
impl-trait compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
implied-bounds compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
imports resolve: Support imports of associated types and glob imports from traits 2025-05-02 15:59:38 +03:00
include-macros Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
incoherent-inherent-impls chore: fix typos 2024-12-31 23:46:39 +08:00
indexing Implement SliceIndex for ByteStr 2025-03-11 20:26:10 -07:00
inference compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
infinite compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
inherent-impls-overlap-check Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
inline-const UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
instrument-coverage Update the minimum external LLVM to 19 2025-04-05 11:44:38 -07:00
instrument-xray compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
interior-mutability Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
internal compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
internal-lints Remove rustc::existing_doc_keyword lint. 2024-12-17 13:56:10 +11:00
intrinsics replace some #[rustc_intrinsic] usage with use of the libcore declarations 2025-04-16 14:48:20 +02:00
invalid UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
invalid-compile-flags compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
invalid-module-declaration compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
invalid-self-argument
io-checks compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
issues compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
iterators UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
json compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
keyword Reword "crate not found" resolve message 2025-01-24 01:19:50 +00:00
kindck Remove dyn_compatible_for_dispatch 2025-02-24 18:48:40 +00:00
label replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
lang-items compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
late-bound-lifetimes Revert suggestion verbosity change 2024-07-22 22:51:53 +00:00
layout UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
lazy-type-alias Remove weak alias terminology 2025-04-24 11:59:20 +01:00
lazy-type-alias-impl-trait Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
let-else replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
lexer Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
lifetimes Auto merge of #139578 - ferrocene:pa-compiletest-edition, r=jieyouxu 2025-04-11 10:53:45 +00:00
limits UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
link-native-libs Auto merge of #139949 - matthiaskrgr:rollup-pxc5tsx, r=matthiaskrgr 2025-04-17 11:21:54 +00:00
linkage-attr tests: use specific-purpose needs-crate-type over ignore-$target directives 2025-04-10 12:52:08 +08:00
linking linker: Quote symbol names in .def files 2025-05-02 16:25:00 +03:00
lint compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
liveness omit unused args warnings for intrinsics without body 2025-01-23 14:32:21 -05:00
loops If a label is placed on the block of a loop instead of the header, suggest moving it to the header. 2025-03-17 01:59:37 -05:00
lowering Make synthetic RPITIT assoc ty name handling more rigorous. 2025-03-07 20:59:45 +11:00
lto Stabilize -Zdwarf-version as -Cdwarf-version 2025-04-14 21:26:41 -05:00
lub-glb Tweak multispan rendering 2024-12-12 23:36:27 +00:00
macro_backtrace
macros Auto merge of #140580 - jdonszelmann:variables-external-macros, r=m-ou-se 2025-05-04 15:16:06 +00:00
malformed compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
marker_trait_attr
match compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
meta Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
methods Auto merge of #140503 - matthiaskrgr:rollup-n7zigts, r=matthiaskrgr 2025-04-30 12:09:10 +00:00
mir compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
mir-dataflow Improve borrowck_graphviz_* documentation. 2025-04-16 08:57:15 +10:00
mismatched_types compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
missing UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
missing-trait-bounds Use trait name instead of full constraint in suggestion message 2024-12-07 21:29:58 +00:00
missing_non_modrs_mod tests: use //@ ignore-auxiliary with backlinked primary test file 2025-04-17 19:45:28 +08:00
modules Cleaned up 5 tests in tests/ui 2025-04-25 20:50:57 +09:00
modules_and_files_visibility tests: use //@ ignore-auxiliary with backlinked primary test file 2025-04-17 19:45:28 +08:00
moves compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
mut compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
namespace Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
never_type compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
new-range implement unstable new_range feature 2025-01-30 21:33:11 -07:00
nll Fix error message for static references or mutable references 2025-04-26 14:48:30 +09:00
no_std UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
non_modrs_mods tests: use //@ ignore-auxiliary with backlinked primary test file 2025-04-17 19:45:28 +08:00
non_modrs_mods_and_inline_mods tests: use //@ ignore-auxiliary with backlinked primary test file 2025-04-17 19:45:28 +08:00
not-panic Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
numbers-arithmetic Rollup merge of #139967 - jieyouxu:auxiliary, r=wesleywiser 2025-04-17 21:53:25 +02:00
numeric compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
object-lifetime tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
obsolete-in-place More sophisticated span trimming 2025-02-21 00:41:17 +00:00
offset-of UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
on-unimplemented Rollup merge of #140307 - mejrs:condition_parser, r=nnethercote 2025-05-05 00:20:57 -04:00
operator-recovery Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
or-patterns Rollup merge of #140029 - reddevilmidzy:move-test, r=jieyouxu 2025-04-21 15:55:58 +00:00
overloaded tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
packed UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
panic-handler error when using no_mangle on language items 2025-04-30 14:54:10 +03:00
panic-runtime tests: justify why want-abort-got-unwind{,2}.rs ignore additional errors 2025-05-03 22:44:36 +08:00
panics compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
parallel-rustc compiletest: Stricter parsing for diagnostic kinds 2025-04-07 19:13:31 +03:00
parser Auto merge of #140616 - petrochenkov:noannempty, r=jieyouxu 2025-05-04 09:38:17 +00:00
patchable-function-entry compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
pattern Auto merge of #140616 - petrochenkov:noannempty, r=jieyouxu 2025-05-04 09:38:17 +00:00
pin-macro collateral damage in derive tests, improves errors by not refering to implementation details 2025-05-02 18:09:31 +02:00
precondition-checks tests: ensure disabled tests have a reason 2025-04-12 15:24:25 +08:00
print-request UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
print_type_sizes remove support for the #[start] attribute 2025-01-21 06:59:15 -07:00
privacy Move some tests out of tests/ui 2025-05-03 17:22:52 +02:00
proc-macro Improve pretty-printing of braces. 2025-04-29 13:46:17 +10:00
process Test Command::current_dir with verbatim path 2025-03-24 18:57:22 +00:00
process-termination
ptr_ops
pub UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
qualified Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
query-system depth limit eval_to_const_value_raw 2025-01-06 08:54:27 +01:00
range Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
raw-ref-op Auto merge of #134294 - matthiaskrgr:rollup-anh6io8, r=matthiaskrgr 2024-12-14 06:44:05 +00:00
reachable Consistent with treating Ctor Call as Struct in liveness analysis 2025-04-14 14:29:14 +08:00
recursion Cleaned up 5 tests in tests/ui 2025-04-21 16:16:38 +09:00
recursion_limit compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
regions UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
repeat-expr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
repr UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
reserved
resolve compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
return compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
rfcs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
rmeta compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
runtime rtprintpanic: clarify that the error is aborting the process 2025-04-18 15:02:22 +02:00
rust-2018 Move tests from /ui directory 2025-04-29 18:19:26 +02:00
rust-2021 UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
rust-2024 Make attribute safety validation logic more obvious 2025-05-04 21:44:50 +08:00
rustc-env compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
rustdoc Check attrs: Don't try to retrieve the name of list stems 2025-03-19 23:29:35 +01:00
sanitizer Require sanitizers be enabled for asan_odr_windows.rs 2025-04-29 10:55:22 -07:00
self UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
sepcomp tests: use needs-threads instead of ignore-emscripten 2025-01-23 20:51:29 +08:00
shadowed
shell-argfiles
simd compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
single-use-lifetime
sized Only prefer Sized candidates, and only if they certainly hold 2025-03-13 21:12:07 +00:00
span Remove attribute #[rustc_error] 2025-03-30 01:32:21 +03:00
specialization handle specialization in the new trait solver 2025-04-25 17:59:33 +00:00
stability-attribute UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
stable-mir-print Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
stack-protector compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
static UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
statics Move some tests out of tests/ui 2025-05-03 17:22:52 +02:00
stats Implement super let. 2025-04-04 09:44:19 +02:00
std Specify a concrete stack size in channel tests 2025-03-19 12:55:02 -04:00
stdlib-unit-tests Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
str Implement SliceIndex for ByteStr 2025-03-11 20:26:10 -07:00
structs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
structs-enums Rollup merge of #135778 - ferrocene:ja-gh135777, r=workingjubilee 2025-02-14 16:23:27 +01:00
suggestions Handle Path<> better in error messages. 2025-05-02 08:26:39 +10:00
svh Remove the -test suffix from normalize directives 2024-12-27 19:58:16 +11:00
symbol-mangling-version compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
symbol-names compiler: compare and hash ExternAbi like its string 2025-02-11 20:18:01 -08:00
sync Remove detail from label/note that is already available in other note 2024-10-29 16:26:57 +00:00
target-cpu tests: rework amdgpu-require-explicit-cpu.rs 2025-04-19 18:42:23 +08:00
target-feature Rollup merge of #140395 - RalfJung:target-feature-tests, r=petrochenkov 2025-05-03 12:44:35 +02:00
target_modifiers Rollup merge of #138483 - azhogin:azhogin/target-modifiers-bool-fix, r=fee1-dead 2025-03-26 19:40:27 +11:00
test-attrs Remove backticks from ShouldPanic::YesWithMessage's TrFailedMsg 2025-04-28 21:40:29 +02:00
thir-print Eliminate PatKind::Path 2025-01-29 15:45:13 +00:00
thread-local Mark test as only-unix. 2025-03-27 14:11:11 +01:00
threads-sendsync Enable more tests on Windows 2025-02-03 10:39:32 -05:00
tool-attributes Do not visit whole crate to compute lints_that_dont_need_to_run. 2025-04-04 12:37:38 +00:00
track-diagnostics compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
trait-bounds Improve presentation of closure signature mismatch from Fn trait goal 2025-04-08 05:54:57 +00:00
traits Add regression test for 133065 2025-05-02 15:53:51 +09:00
transmutability transmutability: uninit transition matches unit byte only 2025-04-29 20:42:43 +02:00
transmute remove expect() in unnecessary_transmutes 2025-04-25 19:07:41 +07:00
treat-err-as-bug compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
trivial-bounds Improve the impl and diag output of lint type_alias_bounds 2024-07-23 01:48:03 +02:00
try-block replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
try-trait Point at type that doesn't implement needed trait 2025-02-21 18:30:07 +00:00
tuple compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
type compiletest: Do not require annotations on empty labels and suggestions 2025-05-03 22:49:23 +03:00
type-alias Cleaned up 5 tests in tests/ui 2025-04-25 20:50:57 +09:00
type-alias-enum-variants More sophisticated span trimming 2025-02-21 00:41:17 +00:00
type-alias-impl-trait norm nested aliases before evaluating the parent goal 2025-04-24 18:41:43 +00:00
type-inference In "specify type" suggestion, skip type params that are already known 2025-02-03 19:51:20 +00:00
typeck compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
typeof compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
ufcs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
unboxed-closures UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
underscore-imports Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
underscore-lifetime Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
uniform-paths
uninhabited UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
union Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
unknown-unstable-lints UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03: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 compiletest: Support matching on non-json lines in compiler output 2025-05-04 18:27:45 +03:00
unresolved Note potential but private items in show_candidates 2025-03-22 11:41:42 +08:00
unsafe compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
unsafe-binders UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
unsafe-fields Do not require that unsafe fields lack drop glue 2025-02-28 16:32:06 +00:00
unsized Delete tuple unsizing 2025-02-27 10:26:33 +00:00
unsized-locals UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
unused-crate-deps
unwind-abis
use resolve: Support imports of associated types and glob imports from traits 2025-05-02 15:59:38 +03:00
variance UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
variants Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
version
warnings
wasm Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
wf compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
where-clauses Implment #[cfg] and #[cfg_attr] in where clauses 2025-03-01 22:02:46 +08:00
while Quickfix //@ check-pass is enough 2025-02-04 21:42:43 +05:30
windows-subsystem compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
zero-sized
.gitattributes
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
cenum_impl_drop_cast.rs Make cenum_impl_drop_cast a hard error 2025-01-23 16:45:19 -08:00
cenum_impl_drop_cast.stderr Make cenum_impl_drop_cast a hard error 2025-01-23 16:45:19 -08:00
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 tests: use needs-threads instead of ignore-emscripten 2025-01-23 20:51:29 +08:00
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 Revert suggestion verbosity change 2024-07-22 22:51:53 +00:00
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
crate_type_flag.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
crate_type_flag.stderr Show valid crate types when the user passes unknown --crate-type value 2025-03-14 15:53:42 +08:00
custom-attribute-multisegment.rs
custom-attribute-multisegment.stderr
custom-test-frameworks-simple.rs
custom_attribute.rs
custom_attribute.stderr
deduplicate-diagnostics.deduplicate.stderr
deduplicate-diagnostics.duplicate.stderr Do not visit whole crate to compute lints_that_dont_need_to_run. 2025-04-04 12:37:38 +00:00
deduplicate-diagnostics.rs Do not visit whole crate to compute lints_that_dont_need_to_run. 2025-04-04 12:37:38 +00:00
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-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 compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
destructure-trait-ref.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
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
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 compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
elided-test.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
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-should-say-copy-not-pod.rs
error-should-say-copy-not-pod.stderr
exclusive-drop-and-copy.rs
exclusive-drop-and-copy.stderr Do not suggest using -Zmacro-backtrace for builtin macros 2025-03-14 19:50:03 +00:00
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 compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
ext-nonexistent.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
fact.rs
filter-block-view-items.rs Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
format-no-std.rs remove support for the #[start] attribute 2025-01-21 06:59:15 -07:00
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-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 Don't assemble non-env/bound candidates if projection is rigid 2025-04-18 01:44:06 +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 Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
inner-module.rs
inner-static-type-parameter.rs
inner-static-type-parameter.stderr
integral-indexing.rs
integral-indexing.stderr Implement SliceIndex for ByteStr 2025-03-11 20:26:10 -07:00
integral-variable-unification-error.rs
integral-variable-unification-error.stderr
invalid_dispatch_from_dyn_impls.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
invalid_dispatch_from_dyn_impls.stderr Consolidate and rework CoercePointee and DispatchFromDyn errors 2025-02-24 19:34:54 +00:00
issue-11881.rs
issue-15924.rs tests: remove //@ pretty-expanded usages 2024-11-26 02:50:48 +08:00
issue-16822.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
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
log-err-phi.rs
log-knows-the-names-of-variants.rs
log-poly.rs
logging-only-prints-once.rs Enable more tests on Windows 2025-02-03 10:39:32 -05:00
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
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 Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
nested-cfg-attrs.stderr
nested-class.rs
nested-ty-params.rs UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
nested-ty-params.stderr UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
new-impl-syntax.rs
new-import-syntax.rs
new-style-constants.rs
new-unicode-escapes.rs
newlambdas.rs
newtype-polymorphic.rs
newtype.rs
no-capture-arc.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
no-capture-arc.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
no-core-1.rs
no-core-2.rs
no-reuse-move-arc.rs
no-reuse-move-arc.stderr Remove CallKind::Deref hack from UseSpans 2025-01-06 03:55:19 +00:00
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
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
noexporttypeexe.rs compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
noexporttypeexe.stderr
non-constant-expr-for-arr-len.rs
non-constant-expr-for-arr-len.stderr
nonscalar-cast.fixed UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
nonscalar-cast.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
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 More sophisticated span trimming 2025-02-21 00:41:17 +00:00
nul-characters.rs
nullable-pointer-iotareduction.rs
nullable-pointer-size.rs
object-pointer-types.rs
object-pointer-types.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
objects-coerce-freeze-borrored.rs
occurs-check-2.rs increment depth of nested obligations 2025-03-31 23:58:17 +02:00
occurs-check-2.stderr increment depth of nested obligations 2025-03-31 23:58:17 +02:00
occurs-check-3.rs
occurs-check-3.stderr increment depth of nested obligations 2025-03-31 23:58:17 +02:00
occurs-check.rs
occurs-check.stderr increment depth of nested obligations 2025-03-31 23:58:17 +02:00
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 UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
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-while-printing.rs
panic_implementation-closures.rs
paren-span.rs
paren-span.stderr
partialeq_help.rs
partialeq_help.stderr
path-lookahead.fixed
path-lookahead.rs
path-lookahead.stderr
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 compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
pptypedef.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
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 update/bless tests 2025-04-06 21:41:47 +02:00
print-stdout-eprint-stderr.rs tests: use needs-subprocess instead of ignore-{wasm32,emscripten,sgx} 2025-01-23 20:51:29 +08:00
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 compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
ptr-coercion.stderr compiletest: Make diagnostic kind mandatory on line annotations 2025-04-30 10:44:24 +03:00
query-visibility.rs
raw-str.rs
realloc-16687.rs
reassign-ref-mut.rs
reassign-ref-mut.stderr
reexport-test-harness-main.rs
resource-assign-is-not-copy.rs
resource-destruct.rs
seq-args.rs
seq-args.stderr Revert suggestion verbosity change 2024-07-22 22:51:53 +00:00
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
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
stable-addr-of.rs
std-uncopyable-atomics.rs
std-uncopyable-atomics.stderr
stdio-is-blocking.rs tests: use needs-subprocess instead of ignore-{wasm32,emscripten,sgx} 2025-01-23 20:51:29 +08:00
string-box-error.rs
struct-ctor-mangling.rs
super-at-top-level.rs
super-at-top-level.stderr
super-let.borrowck.stderr Add tests for super let. 2025-04-04 16:32:18 +02:00
super-let.rs Add tests for super let. 2025-04-04 16:32:18 +02:00
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 Deprecate the unstable concat_idents! 2025-04-24 22:14:23 +00:00
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 Remove some unnecessary parens in assert! conditions 2025-02-06 22:28:44 +00:00
tail-typeck.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
tail-typeck.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
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-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-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
type_length_limit.rs tests: remove explicit long type filename hash normalization from some ui tests 2025-03-04 00:21:02 +08:00
type_length_limit.stderr tests: remove explicit long type filename hash normalization from some ui tests 2025-03-04 00:21:02 +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 Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
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-bom.rs Annotate input reference tests 2024-10-30 16:47:47 -07:00
utf8_idents.rs
virtual-call-attrs-issue-137646.rs Don't infer attributes of virtual calls based on the function body 2025-02-27 12:57:26 +08:00
wait-forked-but-failed-child.rs Use split_whitespace() when filtering lines in the ps output 2025-02-06 15:05:53 -05:00
walk-struct-literal-with.rs
walk-struct-literal-with.stderr
weak-new-uninhabited-issue-48493.rs
weird-exit-code.rs
weird-exprs.rs Remove some unnecessary parens in assert! conditions 2025-02-06 22:28:44 +00:00
write-fmt-errors.rs Implement default methods for io::Empty and io::Sink 2025-03-10 01:38:20 -07:00
wrong-hashset-issue-42918.rs