| Age | Commit message (Collapse) | Author | Lines |
|
Since commit 9452a8dfa3ba, the new debug info format is only generated
for LLVM 8 and newer versions. However, the tests still assume that LLVM
7 will use the new debug info format. Fix the tests (and a comment in
the code) to match the actual version check.
|
|
|
|
Rename `VaList::copy` to `VaList::with_copy`.
|
|
Move one test from run-make-fulldeps to ui
The test was written when `--extern` without path didn't exist.
|
|
cleanup: Remove compile-fail-fulldeps directory again
It was already removed once in https://github.com/rust-lang/rust/pull/56444, but was partially resurrected by rebase of some other PR.
|
|
use suggestions for "enum instead of variant" error
|
|
Tweak incorrect escaped char diagnostic
|
|
Unify E0109, E0110 and E0111
Error messages should no longer be restricted to specific generic kinds.
|
|
convert field/method confusion help to suggestions
|
|
Do not complain about non-existing fields after parse recovery
When failing to parse struct-like enum variants, the ADT gets recorded
as having no fields. Record that we have actually recovered during
parsing of this variant to avoid complaing about non-existing fields
when actually using it.
Fix #57361.
|
|
consistent naming for Rhs type parameter in libcore/ops
Rename RHS type parameter occurrences RHS->Rhs to make it consistent throughout files and follow naming conventions.
|
|
When encountering `||{}()`, suggest the likely intended `(||{})()`
Fix #55851.
|
|
Recover from missing comma between enum variants and from bad `pub` kw
Fix #56579. Fix #56473.
|
|
|
|
Point at coercion reason for `if` expressions without else clause if caused by return type
```
error[E0317]: if may be missing an else clause
--> $DIR/if-without-else-as-fn-expr.rs:2:5
|
LL | fn foo(bar: usize) -> usize {
| ----- found `usize` because of this return type
LL | / if bar % 5 == 0 {
LL | | return 3;
LL | | }
| |_____^ expected (), found usize
|
= note: expected type `()`
found type `usize`
= note: `if` expressions without `else` must evaluate to `()`
```
Fix #25228.
|
|
|
|
|
|
|
|
Add default keyword handling in rustdoc
Fixes #58898.
r? @QuietMisdreavus
|
|
Fixes for the generator transform
* Moves cleanup annotations in pretty printed MIR so that they can be tested
* Correctly determines which drops are in cleanup blocks when elaborating generator drops
* Use the correct state for poisoning a generator
Closes #58892
|
|
|
|
|
|
|
|
|
|
|
|
Introduce assembly tests suite
The change introduces a new test suite - **Assembly** tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (`i128` and libcalls in the past, and still full atomics support) due to different reasons.
Prior to this change, basic NVPTX assembly tests were implemented within `run-make` suite. Now, it's easier to write additional and maintain existing tests for the target.
cc @gnzlbg @peterhj
cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967
|
|
|
|
Keep last redundant linker flag, not first
When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1. You'd end up with a (simplified) linker command that looks like:
```
-l2 -l1 -l3 -l1
```
With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in:
```
-l2 -l1 -l3
```
This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*. So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors.
A better behavior is to keep the *last* instance of the library:
```
-l2 -l3 -l1
```
This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced.
Fixes rust-lang#47989
|
|
|
|
|
|
|
|
|
|
Run branch cleanup after copy prop
This is preliminary work for https://github.com/rust-lang/rust/pull/59288#issuecomment-474277172 which gets rid of `if` in the HIR.
cc @rust-lang/wg-mir-opt @Centril
|
|
Be more discerning on when to attempt suggesting a comma in a macro invocation
Fix #58796.
|
|
dbg!() without parameters
Fixes #57845.
|
|
pnkfelix:issue-55748-pat-types-are-constraints-on-bindings-too, r=nikomatsakis
extra testing of how NLL handles wildcard type `_`
test that wildcard type `_` is not duplicated by `type Foo<X> = (X, X);` and potentially instantiated at different types when used in type ascriptions in let bindings.
(NLL's handling of this for the type ascription *expression form* is currently broken, or at least differs from what AST-borrowck does. I'll file a separate bug about that. Its not something critical to address since that expression is guarded by `#![feature(type_ascription)]`.)
cc #55748
|
|
|
|
Define queries using a proc macro
cc @rust-lang/compiler
|
|
|
|
Remove metadata only codegen backend
It is unused and probably broken at the moment.
|
|
Adds help message in error for invalid `impl for T` syntax
Fixes #56031.
|
|
names
|
|
|
|
When failing to parse struct-like enum variants, the ADT gets recorded
as having no fields. Record that we have actually recovered during
parsing of this variant to avoid complaing about non-existing fields
when actually using it.
|
|
overhaul intra-doc-link ambiguity warning
Fixes #52784.
- Makes the warning part of the `intra_doc_link_resolution_failure`
lint.
- Tightens the span to just the ambiguous link.
- Reports ambiguities across all three namespaces.
- Uses structured suggestions for disambiguation.
- Adds a test for the warnings.
r? @QuietMisdreavus
|
|
Filter ui revision tests
Updates UI test output filtering to also filter away test annotations for revisions:
Previously filtered: //~ ERROR [XXXX]
Now also filters: //[revision]~ ERROR [XXXX]
I reckon, if we have the one, we should have the other for consistency, its lack was probably an oversight (the existence of revision testing is not really well documented...)
|
|
Hide deprecation warnings inside derive expansions
Fixes #58822
|
|
resolve: Account for new importable entities
Fixes the ICE encountered in https://github.com/rust-lang/rust/pull/58837
r? @Centril
|
|
|
|
|