about summary refs log tree commit diff
path: root/tests
AgeCommit message (Collapse)AuthorLines
2023-01-12Auto merge of #105603 - oli-obk:non_repeatable_queries, r=petrochenkovbors-1/+1
Harden the pre-tyctxt query system against accidental recomputation While the current compiler has no issues where we `take` and then compute the query again, in https://github.com/rust-lang/rust/pull/105462 I accidentally introduced such a case. I also took the opportunity to remove `peek_mut`, which is only ever used for `global_tcx` to then invoke `enter`. I added an `enter` method directly on the query.
2023-01-12Auto merge of #106760 - compiler-errors:rollup-0bogyco, r=compiler-errorsbors-263/+348
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-12Harden the pre-tyctxt query system against accidental recomputationOli Scherer-1/+1
2023-01-11Rollup merge of #106524 - compiler-errors:constructor-note, r=cjgillotMichael Goulet-53/+53
Label `struct/enum constructor` instead of `fn item`, mention that it should be called on type mismatch Fixes #106516
2023-01-11Rollup merge of #106360 - estebank:remove-borrow-suggestion, r=compiler-errorsMichael Goulet-38/+155
Tweak E0277 `&`-removal suggestions Fix #64068, fix #84837.
2023-01-11Rollup merge of #106097 - mejrs:mir_build2, r=oli-obkMichael Goulet-167/+137
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-11Rollup merge of #103800 - danielhenrymantilla:stabilize-pin-macro, r=dtolnayMichael Goulet-5/+3
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-12Rollup merge of #106702 - estebank:trait-bounds, r=compiler-errorsMatthias Krüger-49/+108
Conserve cause of `ImplDerivedObligation` in E0599 CC #86377.
2023-01-12Rollup merge of #106676 - oli-obk:tait_test, r=dtolnayMatthias Krüger-0/+55
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-12Rollup merge of #106596 - estebank:verbose-e0271, r=compiler-errorsMatthias Krüger-6/+62
Hide more of long types in E0271 Fix #40186.
2023-01-12Rollup merge of #106532 - compiler-errors:dyn-star-to-dyn, r=jackh726Matthias Krüger-0/+20
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-12Rollup merge of #106309 - compiler-errors:prefer-non-err-candidates, r=oli-obkMatthias Krüger-63/+49
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-12Rollup merge of #106167 - yanchen4791:issue-105544-fix, r=oli-obkMatthias Krüger-22/+288
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-12Auto merge of #106537 - ↵bors-4/+117
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-11Auto merge of #106743 - matthiaskrgr:rollup-q5dpxms, r=matthiaskrgrbors-64/+241
Rollup of 6 pull requests Successful merges: - #106620 (Detect struct literal needing parentheses) - #106622 (Detect out of bounds range pattern value) - #106703 (Note predicate span on `ImplDerivedObligation`) - #106705 (Report fulfillment errors in new trait solver) - #106726 (Fix some typos in code comments.) - #106734 (Deny having src/test exisiting in tidy) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-01-11Fix invalid syntax in impl Trait parameter type suggestions for E0311yanchen4791-22/+288
2023-01-11Translate `Overlap` eagerlymejrs-0/+1
2023-01-11Don't recommend `if let` if `let else` worksmejrs-40/+8
2023-01-11Migrate pattern matchingmejrs-135/+137
2023-01-11Migrate deconstruct_pat.rsmejrs-1/+0
2023-01-11Stabilize `::{core,std}::pin::pin!`Daniel Henry-Mantilla-5/+3
2023-01-11Test that we cannot use trait impl methods arguments as defining usesOli Scherer-0/+55
2023-01-11Hide more of long types in E0271Esteban Küber-6/+62
Fix #40186.
2023-01-11Use the root trait predicate to determine whether to remove referencesEsteban Küber-1/+68
Fix #84837.
2023-01-11Account for type paramsEsteban Küber-9/+22
2023-01-11Make `&`-removal suggestion verboseEsteban Küber-29/+66
2023-01-11Rollup merge of #106703 - compiler-errors:impl-derived-span, r=estebankMatthias Krüger-64/+176
Note predicate span on `ImplDerivedObligation` Seems obvious to point out the where-clause that introduces the `ImplDerivedObligation` :) r? `@estebank`
2023-01-11Rollup merge of #106622 - estebank:issue-68972, r=davidtwcoMatthias Krüger-0/+39
Detect out of bounds range pattern value Fix #68972.
2023-01-11Filter impl and where-clause candidates that reference errorsMichael Goulet-63/+49
2023-01-11label where constructor is defined and note that it should be calledMichael Goulet-25/+25
2023-01-11Be more specific about constructor `FnDef`s in type mismatchMichael Goulet-28/+28
2023-01-11Allow codegen to unsize dyn* to dynMichael Goulet-0/+20
2023-01-11Note predicate span on ImplDerivedObligationMichael Goulet-64/+176
2023-01-11Tweak outputEsteban Küber-83/+40
2023-01-11Conserve cause of `ImplDerivedObligation` in E0599Esteban Küber-30/+132
CC #86377.
2023-01-11parser: recover from where clauses placed before tuple struct bodiesLeón Orell Valerian Liehr-4/+117
2023-01-11Detect struct literal needing parenthesesEsteban Küber-0/+26
Fix #82051.
2023-01-11Detect out of bounds range pattern valueEsteban Küber-0/+39
Fix #68972.
2023-01-11Add a regression test for argument copies with DestinationPropagationBen Kimock-0/+12
2023-01-11Change `src/test` to `tests` in source files, fix tidy and testsAlbert Larsan-65/+65
2023-01-11Move /src/test to /testsAlbert Larsan-0/+849763