| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-14 | Unconditionally register alias-relate in projection goal | Michael Goulet | -43/+0 | |
| 2023-12-14 | consistently use "next solver" instead of "new solver" | lcnr | -3834/+0 | |
| 2023-12-14 | update use of feature flags | lcnr | -119/+119 | |
| 2023-12-12 | refactor writeback: emit normalization errors with new solver | lcnr | -20/+27 | |
| 2023-12-09 | add test for inductive cycle hangs | lcnr | -4/+57 | |
| 2023-12-08 | add regression tests | lcnr | -0/+43 | |
| 2023-12-08 | implement and use `NormalizesTo` | lcnr | -11/+14 | |
| 2023-12-04 | rebase | lcnr | -2/+2 | |
| 2023-12-04 | cleanup and comments | lcnr | -0/+46 | |
| 2023-12-04 | generalize: handle occurs check failure in aliases | lcnr | -10/+4 | |
| 2023-11-24 | Show number in error message even for one error | Nilstrieb | -27/+27 | |
| Co-authored-by: Adrian <adrian.iosdev@gmail.com> | ||||
| 2023-11-22 | Stabilize RFC3324 dyn upcasting coercion | Urgau | -9/+1 | |
| Aka trait_upcasting feature. And also adjust the `deref_into_dyn_supertrait` lint. | ||||
| 2023-11-20 | self ty infer ambiguity: add proof tree cand | lcnr | -3/+0 | |
| 2023-11-17 | Auto merge of #117278 - lcnr:try-normalize-ty, r=compiler-errors | bors | -5/+32 | |
| new solver normalization improvements cool beans At the core of this PR is a `try_normalize_ty` which stops for rigid aliases by using `commit_if_ok`. Reworks alias-relate to fully normalize both the lhs and rhs and then equate the resulting rigid (or inference) types. This fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/68 by avoiding the exponential blowup. Also supersedes #116369 by only defining opaque types if the hidden type is rigid. I removed the stability check in `EvalCtxt::evaluate_goal` due to https://github.com/rust-lang/trait-system-refactor-initiative/issues/75. While I personally have opinions on how to fix it, that still requires further t-types/`@nikomatsakis` buy-in, so I removed that for now. Once we've decided on our approach there, we can revert this commit. r? `@compiler-errors` | ||||
| 2023-11-09 | update overflow handling for norm, add test | lcnr | -0/+22 | |
| 2023-11-09 | update tests | lcnr | -5/+10 | |
| 2023-11-08 | Only use normalize_param_env when normalizing predicate in check_item_bounds | Michael Goulet | -6/+20 | |
| 2023-11-03 | Auto merge of #116439 - compiler-errors:on-unimplemented, r=davidtwco | bors | -10/+10 | |
| Pretty print `Fn` traits in `rustc_on_unimplemented` I don't think that users really ever should need to think about `Fn*` traits' tupled args for a simple trait error. r? diagnostics | ||||
| 2023-11-02 | Pretty print Fn traits in rustc_on_unimplemented | Michael Goulet | -10/+10 | |
| 2023-11-02 | Use the normalizing param-env always in check_type_bounds | Michael Goulet | -20/+6 | |
| 2023-10-27 | Allows `#[diagnostic::on_unimplemented]` attributes to have multiple | Georg Semmler | -0/+2 | |
| notes This commit extends the `#[diagnostic::on_unimplemented]` (and `#[rustc_on_unimplemented]`) attributes to allow multiple `note` options. This enables emitting multiple notes for custom error messages. For now I've opted to not change any of the existing usages of `#[rustc_on_unimplemented]` and just updated the relevant compile tests. | ||||
| 2023-10-25 | Work around the fact that `check_mod_type_wf` may spuriously return ↵ | Oli Scherer | -3/+10 | |
| `ErrorGuaranteed`, even if that error is only emitted by `check_modwitem_types` | ||||
| 2023-10-20 | Rename lots of files that had `generator` in their name | Oli Scherer | -10/+10 | |
| 2023-10-20 | s/generator/coroutine/ | Oli Scherer | -20/+20 | |
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -12/+12 | |
| 2023-10-18 | Tweak wording of type errors involving type params | Esteban Küber | -1/+1 | |
| Fix #78206. | ||||
| 2023-10-15 | Suggest adding `return` if the type of unused semi return value can coerce ↵ | yukang | -6/+6 | |
| to the fn return type | ||||
| 2023-10-13 | Stabilize AFIT and RPITIT | Michael Goulet | -4/+0 | |
| 2023-10-11 | Rollup merge of #116436 - ↵ | Matthias Krüger | -0/+23 | |
| compiler-errors:structurally-normalize-for-closure, r=lcnr Structurally normalize for closure Fixes some signature deduction problems in the new trait solver (and in the case of async, an ICE). r? lcnr | ||||
| 2023-10-09 | Extend impl's def_span to include where clauses | Michael Goulet | -5/+9 | |
| 2023-10-05 | Also closures | Michael Goulet | -0/+12 | |
| 2023-10-05 | Structurally normalize async fn return type in ↵ | Michael Goulet | -0/+11 | |
| deduce_future_output_from_obligations | ||||
| 2023-10-04 | Reorder fullfillment errors to keep more interesting ones first | Esteban Küber | -57/+52 | |
| In `report_fullfillment_errors` push back `T: Sized`, `T: WellFormed` and coercion errors to the end of the list. The pre-existing deduplication logic eliminates redundant errors better that way, keeping the resulting output with fewer errors than before, while also having more detail. | ||||
| 2023-09-29 | Auto merge of #115843 - lcnr:bb-provisional-cache, r=compiler-errors | bors | -2/+78 | |
| new solver: remove provisional cache The provisional cache is a performance optimization if there are large, interleaving cycles. Such cycles generally do not exist. It is incredibly complex and unsound in all trait solvers which have one: the old solver, chalk, and the new solver ([link](https://github.com/rust-lang/rust/blob/master/tests/ui/traits/new-solver/cycles/inductive-not-on-stack.rs)). Given the assumption that it is not perf-critical and also incredibly complex, remove it from the new solver, only checking whether a goal is on the stack. While writing this, I uncovered two additional soundness bugs, see the inline comments for them. r? `@compiler-errors` | ||||
| 2023-09-23 | Bless tests. | Camille GILLOT | -1/+1 | |
| 2023-09-21 | adjust how closure/generator types and rvalues are printed | Ralf Jung | -5/+5 | |
| 2023-09-21 | update tests | lcnr | -0/+8 | |
| 2023-09-18 | remove provisional cache | lcnr | -2/+78 | |
| 2023-09-15 | Canonicalize effect vars in new solver | Michael Goulet | -0/+22 | |
| 2023-09-10 | Point out if a local trait has no implementations | Michael Goulet | -0/+5 | |
| 2023-09-03 | Don't ICE on associated type projection without feature gate | Michael Goulet | -0/+40 | |
| 2023-08-29 | add non-regression test for issue 115351 | Rémy Rakic | -0/+39 | |
| 2023-08-28 | Revert "Suggest using `Arc` on `!Send`/`!Sync` types" | David Tolnay | -1/+0 | |
| This reverts commit 9de1a472b68ed85f396b2e2cc79c3ef17584d6e1. | ||||
| 2023-08-26 | More accurately point at arguments | Esteban Küber | -2/+2 | |
| 2023-08-26 | Point at appropriate type parameter in more trait bound errors | Esteban Küber | -26/+24 | |
| 2023-08-18 | change to known bug | lcnr | -2/+2 | |
| 2023-08-18 | instantiate response: no unnecessary new universe | lcnr | -0/+157 | |
| this previously was a off-by-one error. | ||||
| 2023-08-12 | normalize in `trait_ref_is_knowable` in new solver | lcnr | -0/+103 | |
| 2023-08-10 | add and move trait solver cycle tests | lcnr | -1/+215 | |
| 2023-08-10 | make the provisional cache slightly less broken | lcnr | -15/+2 | |
