Commit Graph

3517 Commits

Author SHA1 Message Date
Yuki Okushi aa51a0f19a
Add regression test for #92157
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2023-01-15 05:47:24 +09:00
David Tolnay dab06ccdab
Emit only one nbsp error per file 2023-01-14 11:06:22 -08:00
David Tolnay 39edcfa84e
Add more nbsp to unicode-chars test 2023-01-14 11:04:36 -08:00
Matthias Krüger f04f97cea4
Rollup merge of #106820 - m-ou-se:macro-type-error-thing, r=estebank
Deprioritize fulfillment errors that come from expansions.

Fixes (part of?) #69455
2023-01-14 18:45:27 +01:00
Matthias Krüger d7bc758638
Rollup merge of #106563 - clubby789:gce-macro-braces, r=TaKO8Ki
Fix `unused_braces` on generic const expr macro call

Fixes #106545

`@rustbot` label +A-const-generics +A-lint
2023-01-14 18:45:26 +01:00
clubby789 4f64de83bc Fix `unused_braces` on generic const expr macro call 2023-01-14 15:49:08 +00:00
Mara Bos 6821adb651 Deprioritize fulfillment errors that come from expansions. 2023-01-14 14:05:26 +01:00
Tim Neumann 869df76764 Heuristically undo path prefix mappings.
Because the compiler produces better diagnostics if it can find the
source of (potentially remapped) dependencies.
2023-01-14 12:49:37 +00:00
Ethan Brierley 1caec6fa1d fix: misleading add `dyn` to derive macro suggestion 2023-01-14 12:14:06 +00:00
Matthias Krüger 8c538f7d83
Rollup merge of #106788 - estebank:elaborate_pred_E0599, r=compiler-errors
Tweak E0599 and elaborate_predicates

CC https://github.com/rust-lang/rust/issues/86377.
2023-01-14 13:04:26 +01:00
Matthias Krüger 108b5f462b
Rollup merge of #106752 - sulami:master, r=estebank
Emit a hint for bad call return types due to generic arguments

When the return type of a function call depends on the type of an argument, e.g.

```
fn foo<T>(x: T) -> T {
    x
}
```

and the expected type is set due to either an explicitly typed binding, or because the call to the function is in a tail position without semicolon, the current error implies that the argument in the call has the wrong type.

This new hint highlights that the expected type doesn't match the returned type, which matches the argument type, and that that's why we're flagging the argument type.

Fixes #43608.
2023-01-14 13:04:26 +01:00
Matthias Krüger 3fa9be9094
Rollup merge of #106665 - JulianKnodt:better_fn_trait_note, r=cjgillot
Add note when `FnPtr` vs. `FnDef` impl trait

I encountered an instance where an `FnPtr` implemented a trait, but I was passing an `FnDef`. I was confused for an hour and to examine the source code of the trait's crate's tests in order to understand how to cast it properly (it didn't help that it was behind a reference). To the end user, it might not be immediately obvious that they are different and how to convert from an `FnDef` to an `FnPtr`, but it is necessary to cast to the generic function in order to compile. It is thus useful to suggest `as` in the help note, (even if the `Fn` output implements the trait).
2023-01-14 13:04:25 +01:00
Matthias Krüger 8e0eecdba6
Rollup merge of #106566 - clubby789:contiguous-weird-unicode, r=cjgillot
Emit a single error for contiguous sequences of unknown tokens

Closes #106101

On encountering a sequence of identical source characters which are unknown tokens, note the amount of subsequent characters and advance past them silently. The old behavior was to emit an error and 'help' note for every single one.

`@rustbot` label +A-diagnostics +A-parser
2023-01-14 13:04:24 +01:00
kadmin 2de9d679ad Add note when `FnPtr` vs. `FnDef` impl trait
I encountered an instance where an `FnPtr` implemented a trait, but I was passing an `FnDef`. To
the end user, there is really no way to differentiate each of them, but it is necessary to cast
to the generic function in order to compile. It is thus useful to suggest `as` in the help note,
(even if the Fn output implements the trait).
2023-01-14 10:37:56 +00:00
yukang 644ee8d250 add test case for issue 105601 2023-01-14 17:11:05 +08:00
yukang 7d99866bfc fix #105061, Fix unused_parens issue for higher ranked function pointers 2023-01-14 17:11:04 +08:00
Ezra Shaw be1a6db9f8
fix: don't emit `E0711` if `staged_api` not enabled 2023-01-14 22:04:42 +13:00
Yuki Okushi 7d02116832
Rollup merge of #106816 - TimNN:rental-remap, r=oli-obj
Update `rental` hack to work with remapped paths.

This PR simply switches to an already-existing helper instead of hard-coding a specific enum variant. The new revision of the test fails without the other changes in this PR.

Context: I'm exploring running UI tests with remapped paths by default in #105924 and the rental test was one of the ones that failed.

This may also be useful in the context of https://github.com/rust-lang/rfcs/pull/3127 ("New rustc and Cargo options to allow path sanitisation by default").
2023-01-14 12:04:37 +09:00
Ezra Shaw 1babece1e8
suggest fix for attempted integer identifier in patterns 2023-01-14 12:51:20 +13:00
Michael Goulet 75074e0e52 Delay normalization bugs instead of reporting them 2023-01-13 23:19:36 +00:00
Michael Goulet 6ec8c13e15 Rebase and move UI tests 2023-01-13 23:06:29 +00:00
Michael Goulet b2df88bae1 Consolidate two almost duplicated fn info extraction routines 2023-01-13 22:43:17 +00:00
Esteban Küber 22a0e4fa6e Do not incorrectly suggest restricting implied bounds
When we have already suggested bounds that imply the about to be
suggested bound, skip them.
2023-01-13 20:50:34 +00:00
Tim Neumann 496edf97c5 Update `rental` hack to work with remapped paths. 2023-01-13 20:36:03 +00:00
Esteban Küber 81ba427a7b Add tests 2023-01-13 18:20:24 +00:00
Esteban Küber 3d6b09e53e Keep obligation chain when elaborating obligations 2023-01-13 18:20:23 +00:00
Esteban Küber f6e6d2a035 Elaborate unmet obligations in E0599 for more context 2023-01-13 18:20:23 +00:00
Matthias Krüger e0f6840bb6
Rollup merge of #106793 - Mark-Simulacrum:normalize-test, r=compiler-errors
Normalize test output more thoroughly

This prevents differences in local environments, which may (for example) end up with a longer backtrace with more digits in the backtrace prefix, as happened to me. While we're at it, clean more of the output up, including the exact location of the error in the compiler.

cc https://github.com/rust-lang/rust/pull/106521 which introduced this test
2023-01-13 19:16:44 +01:00
Matthias Krüger e4d0104754
Rollup merge of #106678 - Veykril:proc-macro-panic-abort, r=eholk
Warn when using panic-strategy abort for proc-macro crates

See https://github.com/rust-lang/rust/issues/82320, this simply warns for now as that seems like the best step that can be immediately taken (opposed to straight up rejecting or ignoring)
2023-01-13 19:16:43 +01:00
Matthias Krüger 57b371ab14
Rollup merge of #106641 - chenyukang:yukang/fix-105761-segguest-this, r=estebank
Provide help on closures capturing self causing borrow checker errors

Fixes #105761

r? ````@estebank````
2023-01-13 19:16:43 +01:00
Matthias Krüger c6e3a47843
Rollup merge of #106585 - estebank:issue-46585, r=compiler-errors
When suggesting writing a fully qualified path probe for appropriate types

Address the more common part of #46585.
2023-01-13 19:16:42 +01:00
Matthias Krüger 1dc43b2e8b
Rollup merge of #106465 - compiler-errors:bump-IMPLIED_BOUNDS_ENTAILMENT, r=lcnr
Bump `IMPLIED_BOUNDS_ENTAILMENT` to Deny + ReportNow

https://github.com/rust-lang/rust/pull/105575#issuecomment-1357201969

> and then later in the same cycle increase the lint to `deny` and change it to `FutureCompatReportNow` in this nightly cycle.

r? ```@lcnr``` when they're back from holiday 😄
2023-01-13 19:16:41 +01:00
Matthias Krüger 96bb02f35c
Rollup merge of #104645 - yukiomoto:log-backtrace-option, r=oli-obk
Add log-backtrace option to show backtraces along with logging

according to #90698, I added a compiler option, `-Zlog-backtrace=filter`, where `filter` is a module name, to show backtraces for logging without rebuilding.

resolve #90698
2023-01-13 19:16:41 +01:00
bors 5ca6f7d2c3 Auto merge of #106801 - JohnTitor:rollup-xqkraw0, r=JohnTitor
Rollup of 6 pull requests

Successful merges:

 - #106608 (Render missing generics suggestion verbosely)
 - #106716 ([RFC 2397] Deny incorrect locations)
 - #106754 (Rename `Ty::is_ty_infer` -> `Ty::is_ty_or_numeric_infer`)
 - #106782 (Ignore tests move in git blame)
 - #106785 (Make blame spans better for impl wfcheck)
 - #106791 (Fix ICE formatting)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-13 10:56:53 +00:00
Maybe Waffle 57d822a904 Recover labels written as identifiers 2023-01-13 09:18:36 +00:00
Lukas Wirth 549ece7033 Warn when using panic-strategy abort for proc-macro crates 2023-01-13 10:13:49 +01:00
Yuki Okushi 5adc7a5e37
Rollup merge of #106785 - compiler-errors:better-impl-wf-spans, r=estebank
Make blame spans better for impl wfcheck

r? types
2023-01-13 16:54:24 +09:00
Yuki Okushi f6f362c332
Rollup merge of #106716 - c410-f3r:rfc-2397-1, r=davidtwco
[RFC 2397] Deny incorrect locations

cc #51992

As declared in the RFC, `#[do_not_recommend]` should only be applicable on trait implementations.
2023-01-13 16:54:23 +09:00
Yuki Okushi 9a2f3937fc
Rollup merge of #106608 - compiler-errors:missing-generics-verbose, r=estebank
Render missing generics suggestion verbosely

It's a bit easier to read like this, especially ones that are appending new generics onto an existing list, like ": `, T`" which render somewhat poorly inline.

Also don't suggest `dyn` as a type parameter to add, even if technically that's valid in edition 2015.
2023-01-13 16:54:22 +09:00
bors 4a04f252f9 Auto merge of #106092 - asquared31415:start_lang_item_checks, r=davidtwco
Add checks for the signature of the `start` lang item

Closes #105963
2023-01-13 07:45:34 +00:00
bors 279f1c9d8c Auto merge of #106004 - fee1-dead-contrib:const-closures, r=oli-obk
Const closures

cc https://github.com/rust-lang/rust/issues/106003
2023-01-13 05:04:48 +00:00
Robin Schroer a3cf3822d2
Emit a hint for bad call return types due to generic arguments
When the return type of a function call depends on the type of an
argument, e.g.

```
fn foo<T>(x: T) -> T {
    x
}
```

and the expected type is set due to either an explicitly typed
binding, or because the call to the function is in a tail position
without semicolon, the current error implies that the argument in the
call has the wrong type.

This new hint highlights that the expected type doesn't match the
returned type, which matches the argument type, and that that's why
we're flagging the argument type.

Fixes #43608.
2023-01-13 13:34:55 +09:00
Mark Rousskov 95ef76b8aa Normalize test output more thoroughly
This prevents differences in local environments, which may (for example)
end up with a longer backtrace with more digits in the backtrace prefix,
as happened to me. While we're at it, clean more of the output up,
including the exact location of the error in the compiler.
2023-01-12 21:28:20 -05:00
Michael Goulet eaa7cc84d3 Add logic to make IMPLIED_BOUNDS_ENTAILMENT easier to understand 2023-01-13 00:39:54 +00:00
Michael Goulet 5924c2511e Only point at impl self ty in WF if trait predicate shares self ty 2023-01-12 22:25:30 +00:00
Michael Goulet bf0623e363 Don't suggest dyn as parameter to add 2023-01-12 22:04:30 +00:00
Michael Goulet 950b47fb96 Render missing generics suggestion verbosely 2023-01-12 22:04:30 +00:00
Yuki Okushi bbb2a22ced
Rollup merge of #106759 - compiler-errors:revert-105255, r=cjgillot
Revert "Make nested RPITIT inherit the parent opaque's generics."

This reverts commit e2d41f4c97, and adjusts the `tests/ui/async-await/in-trait/nested-rpit.rs` test.

r? `@cjgillot`

fixes #106332, manually verified because it had no minimization :/

reopens #105197
cc #106729
2023-01-13 05:47:24 +09:00
Yuki Okushi 7e5d477ac5
Rollup merge of #106740 - petar-dambovaliev:float-iterator-hint, r=Nilstrieb
Adding a hint on iterator type errors

Issue reference https://github.com/rust-lang/rust/issues/106728

- [x] add a case in the attribute
- [x] add a test

closes #106728
2023-01-13 05:47:23 +09:00
Yuki Okushi 19ba4305b9
Rollup merge of #106675 - krtab:fix_improper_ctypes, r=davidtwco
Mark ZST as FFI-safe if all its fields are PhantomData

This presents one possible solution to issue: #106629.

This is my first (tentative) contribution to the compiler itself.

I'm looking forward for comments and feedback

Closes: #106629
2023-01-13 05:47:22 +09:00
Yuki Okushi fa8f77a1de
Rollup merge of #105795 - nicholasbishop:bishop-stabilize-efiapi, r=joshtriplett
Stabilize `abi_efiapi` feature

Tracking issue: https://github.com/rust-lang/rust/issues/65815
Closes #65815
2023-01-13 05:47:21 +09:00
Michael Goulet 54571407b2 Bump IMPLIED_BOUNDS_ENTAILMENT to Deny + ReportNow 2023-01-12 20:44:54 +00:00
Michael Goulet 2aabb0fd5d Point at impl self type for impl wf obligations 2023-01-12 20:44:47 +00:00
Michael Goulet d76e168f01 Point at HIR types when impl trait ref doesn't normalize 2023-01-12 20:44:47 +00:00
Eric Holk 96de375e67 Add a test case for #102383 2023-01-12 11:58:24 -08:00
Maybe Waffle b0609889d7 Add a test for recovery of unticked labels 2023-01-12 19:25:32 +00:00
nils 25fd633828
Rollup merge of #106579 - estebank:issue-52144, r=Nilstrieb
Suggest making private tuple struct field public

Fix #52144.
2023-01-12 15:44:51 +01:00
nils 35cf81d707
Rollup merge of #106322 - compiler-errors:CollectAllMismatches-infer-vars, r=oli-obk
Handle inference variables in `CollectAllMismatches` correctly

1. Fix #106240
2. Treat int/float type variables correctly (see `src/test/ui/iterators/invalid-iterator-chain-with-int-infer.rs`), so we can point out things like "`Iterator::Item` changed to `{integer}` here"
2023-01-12 15:44:51 +01:00
Petar Dambovaliev bdf990022a add note for float iterator 2023-01-12 15:29:53 +01:00
yukang c82545955e Provide help on closures capturing self causing borrow checker errors 2023-01-12 20:17:25 +08:00
Caio 7dd45bafb4 [RFC 2397] Deny incorrect locations 2023-01-12 08:41:21 -03:00
Arthur Carcano 797f247997 Mark ZST as FFI-safe if all its fields are PhantomData
Modify the linting behavior and add the corresponding
regression test
2023-01-12 12:21:35 +01:00
bors 606c390725 Auto merge of #106760 - compiler-errors:rollup-0bogyco, r=compiler-errors
Rollup of 8 pull requests

Successful merges:

 - #103236 (doc: rewrite doc for signed int::{carrying_add,borrowing_sub})
 - #103800 (Stabilize `::{core,std}::pin::pin!`)
 - #106097 (Migrate mir_build diagnostics 2 of 3)
 - #106170 (Move autoderef to `rustc_hir_analysis`)
 - #106323 (Stabilize f16c_target_feature)
 - #106360 (Tweak E0277 `&`-removal suggestions)
 - #106524 (Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch)
 - #106739 (Remove `<dyn AstConv<'tcx>>::fun(c, ...)` calls in favour of `c.astconv().fun(...)`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-01-12 10:46:19 +00:00
Michael Goulet d7113948d3
Rollup merge of #106524 - compiler-errors:constructor-note, r=cjgillot
Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch

Fixes #106516
2023-01-11 22:25:49 -08:00
Michael Goulet 54f6fea818
Rollup merge of #106360 - estebank:remove-borrow-suggestion, r=compiler-errors
Tweak E0277 `&`-removal suggestions

Fix #64068, fix #84837.
2023-01-11 22:25:49 -08:00
Michael Goulet 83d3b76ac2
Rollup merge of #106097 - mejrs:mir_build2, r=oli-obk
Migrate mir_build diagnostics 2 of 3

The first three commits are fairly boring, however I've made some changes to the output of the match checking diagnostics.
2023-01-11 22:25:47 -08:00
Michael Goulet 2e17a5d406
Rollup merge of #103800 - danielhenrymantilla:stabilize-pin-macro, r=dtolnay
Stabilize `::{core,std}::pin::pin!`

As discussed [over here](https://github.com/rust-lang/rust/issues/93178#issuecomment-1295843548), it looks like a decent time to stabilize the `pin!` macro.

### Public API

```rust
// in module `core::pin`

/// API: `fn pin<T>($value: T) -> Pin<&'local mut T>`
pub macro pin($value:expr $(,)?) {
    …
}
```

  - Tracking issue: #93178

(now all this needs is an FCP by the proper team?)
2023-01-11 22:25:47 -08:00
Michael Goulet 0a2b55d4c8 Revert "Make nested RPITIT inherit the parent opaque's generics." and adjust test
This reverts commit e2d41f4c97.
2023-01-12 06:07:53 +00:00
Matthias Krüger 8a13157c16
Rollup merge of #106702 - estebank:trait-bounds, r=compiler-errors
Conserve cause of `ImplDerivedObligation` in E0599

CC #86377.
2023-01-12 06:52:38 +01:00
Matthias Krüger d42d952afc
Rollup merge of #106676 - oli-obk:tait_test, r=dtolnay
Test that we cannot use trait impl methods arguments as defining uses

Addresses https://github.com/rust-lang/rust/issues/63063#issuecomment-1360053614

r? `@dtolnay`
2023-01-12 06:52:37 +01:00
Matthias Krüger 890bc3ca90
Rollup merge of #106596 - estebank:verbose-e0271, r=compiler-errors
Hide more of long types in E0271

Fix #40186.
2023-01-12 06:52:36 +01:00
Matthias Krüger e664cb2154
Rollup merge of #106532 - compiler-errors:dyn-star-to-dyn, r=jackh726
Allow codegen to unsize `dyn*` to `dyn`

`dyn* Trait` is just another type that implements `Trait`, so we should be able to unsize `&dyn* Trait` into `&dyn Trait` perfectly fine, same for `Box` and other unsizeable types.

Fixes #106488
2023-01-12 06:52:35 +01:00
Matthias Krüger 9b538e8e62
Rollup merge of #106309 - compiler-errors:prefer-non-err-candidates, r=oli-obk
Prefer non-`[type error]` candidates during selection

Fixes #102130
Fixes #106351

r? types

note: Alternatively we could filter out error where-clauses during param-env construction? But we still need to filter out impls with errors during `match_impl`, I think.
2023-01-12 06:52:34 +01:00
Matthias Krüger a8bd0c04b4
Rollup merge of #106167 - yanchen4791:issue-105544-fix, r=oli-obk
Fix invalid syntax and incomplete suggestion in impl Trait parameter type suggestions for E0311

Fixes #105544

The problems: The suggestion given for E0311 has invalid syntax when the synthetic type parameter is used for Trait type in function declaration:
```rust
fn foo(d: impl Sized) -> impl Sized
```
instead of explicitly specified like the following:
```rust
fn foo<T: Sized>(d: T) -> impl Sized
```
In addition to the syntax error, the suggestions given for E0311 are not complete when multiple elided lifetimes are involved in lifetime bounds, not all involved parameters are given the named lifetime in the suggestions. For the following test case:
```
fn foo(d: impl Sized, p: &mut ()) -> impl Sized + '_ {
    (d, p)
}
```
a good suggestion should add the lifetime 'a to both d and p, instead of d only:
```
fn foo<'a>(d: impl Sized + 'a, p: &'a mut ()) -> impl Sized + '_ {
    (d, p)
}
```

The Solution: Fix the syntax problem in the suggestions when synthetic type parameter is used, and also add lifetimes for all involved parameters.
2023-01-12 06:52:34 +01:00
Michael Goulet 0be510ee71 RPITITs are not suggestable 2023-01-12 04:20:17 +00:00
Deadbeef 42a50bac31 move to correct test 2023-01-12 04:20:00 +00:00
Deadbeef b0aa859c24 fix fmt and bless 2023-01-12 02:28:38 +00:00
Deadbeef 4fb10c0ce4 parse const closures 2023-01-12 02:28:37 +00:00
bors d4203eda5f Auto merge of #106537 - fmease:recover-where-clause-before-tuple-struct-body, r=estebank
Recover from where clauses placed before tuple struct bodies

Open to any suggestions regarding the phrasing of the diagnostic.

Fixes #100790.
`@rustbot` label A-diagnostics
r? diagnostics
2023-01-12 02:16:16 +00:00
Nicholas Bishop 46f9e878f6 Stabilize `abi_efiapi` feature
Tracking issue: https://github.com/rust-lang/rust/issues/65815
2023-01-11 20:42:13 -05:00
clubby789 a3d6bc3468 Emit a single error for contiguous sequences of Unicode homoglyphs 2023-01-12 00:15:32 +00:00
Mara Bos 525b0bb77a Bless tests. 2023-01-12 00:25:46 +01:00
mejrs a8e3abd04c Address feedback 2023-01-12 00:11:32 +01:00
mejrs f92000816e Improve proc macro attribute diagnostics 2023-01-12 00:11:11 +01:00
yanchen4791 621d412241
Fix invalid syntax in impl Trait parameter type suggestions for E0311 2023-01-11 14:49:55 -08:00
mejrs 372ac9c1a2
Translate `Overlap` eagerly 2023-01-11 14:40:13 -08:00
mejrs 8476c517c0
Don't recommend `if let` if `let else` works 2023-01-11 14:40:07 -08:00
mejrs 31c20210b9
Migrate pattern matching 2023-01-11 14:40:02 -08:00
mejrs 5d2b9a9ed0
Migrate deconstruct_pat.rs 2023-01-11 14:39:49 -08:00
asquared31415 337a97d374
add checks for the signature of the lang item 2023-01-11 14:35:08 -08:00
Daniel Henry-Mantilla 48b7e2a5b9
Stabilize `::{core,std}::pin::pin!` 2023-01-11 14:09:14 -08:00
Oli Scherer 44a5ce6f75
Test that we cannot use trait impl methods arguments as defining uses 2023-01-11 14:00:25 -08:00
Esteban Küber f1ffe823cf Hide more of long types in E0271
Fix #40186.
2023-01-11 21:40:39 +00:00
Esteban Küber 8b8cce16bf Use the root trait predicate to determine whether to remove references
Fix #84837.
2023-01-11 21:39:07 +00:00
Esteban Küber ce83be4af8 Account for type params 2023-01-11 21:38:56 +00:00
Esteban Küber 2024aa48b4 Make `&`-removal suggestion verbose 2023-01-11 21:38:54 +00:00
Esteban Küber 41e66d9025 review comments: Tweak output
* Account for `struct S(pub(super)Ty);` in suggestion
* Suggest changing field visibility in E0603 too
2023-01-11 21:36:02 +00:00
Esteban Küber ad13d9fbbe Suggest making private tuple struct field public
Fix #52144.
2023-01-11 21:35:42 +00:00
Esteban Küber c6f322bf30 review comments: account for generics 2023-01-11 21:30:32 +00:00
Esteban Küber 12ddf77811 When suggesting writing a fully qualified path probe for appropriate types
Fix #46585.
2023-01-11 21:30:10 +00:00
Matthias Krüger 90f9c681d4
Rollup merge of #106703 - compiler-errors:impl-derived-span, r=estebank
Note predicate span on `ImplDerivedObligation`

Seems obvious to point out the where-clause that introduces the `ImplDerivedObligation` :)

r? `@estebank`
2023-01-11 21:08:08 +01:00
Matthias Krüger 88765b0f59
Rollup merge of #106622 - estebank:issue-68972, r=davidtwco
Detect out of bounds range pattern value

Fix #68972.
2023-01-11 21:08:07 +01:00
Michael Goulet 83fbc71d02 Filter impl and where-clause candidates that reference errors 2023-01-11 20:03:29 +00:00
Michael Goulet 959616ef44 Handle inference variables in CollectAllMismatches correctly 2023-01-11 20:01:24 +00:00
Michael Goulet d375440dab label where constructor is defined and note that it should be called 2023-01-11 19:53:15 +00:00
Michael Goulet ede5c31af4 Be more specific about constructor `FnDef`s in type mismatch 2023-01-11 19:53:14 +00:00
Michael Goulet 70a8d8dcf3 Allow codegen to unsize dyn* to dyn 2023-01-11 19:52:42 +00:00
Michael Goulet 9a39d7e441 Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
Esteban Küber 317adda649 Tweak output 2023-01-11 19:31:34 +00:00
Esteban Küber fb5d215347 Conserve cause of `ImplDerivedObligation` in E0599
CC #86377.
2023-01-11 19:31:33 +00:00
León Orell Valerian Liehr 70ddde76df
parser: recover from where clauses placed before tuple struct bodies 2023-01-11 17:54:48 +01:00
Esteban Küber 5311938531 Detect struct literal needing parentheses
Fix #82051.
2023-01-11 16:53:21 +00:00
Esteban Küber 52d534ef63 Detect out of bounds range pattern value
Fix #68972.
2023-01-11 16:50:55 +00:00
Camille GILLOT b7bb8a5ce9 Do not filter substs in `remap_generic_params_to_declaration_params`.
The relevant filtering should have been performed by borrowck.
2023-01-11 16:29:25 +00:00
Yuki Omoto 4e2a3567bc Add log-backtrace option to show backtraces along with logging 2023-01-12 00:17:48 +09:00
Albert Larsan 40ba0e84d5
Change `src/test` to `tests` in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
Albert Larsan cf2dff2b1e
Move /src/test to /tests 2023-01-11 09:32:08 +00:00