| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-14 | update use of feature flags | lcnr | -2/+2 | |
| 2023-12-07 | recurse into refs when comparing tys for diagnostics | jyn | -2/+2 | |
| 2023-11-25 | Don't ICE when encountering placeholders in implied bounds computation | Michael Goulet | -0/+14 | |
| 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-04 | fallback for `construct_generic_bound_failure` | bohan | -0/+25 | |
| 2023-11-02 | Add all RPITITs when augmenting param-env with GAT bounds in check_type_bounds | Michael Goulet | -0/+11 | |
| 2023-10-29 | On object safety error, mention new enum as alternative | Esteban Küber | -0/+5 | |
| When we encounter a `dyn Trait` that isn't object safe, look for its implementors. If there's one, mention using it directly If there are less than 9, mention the possibility of creating a new enum and using that instead. Account for object unsafe `impl Trait on dyn Trait {}`. Make a distinction between public and sealed traits. Fix #80194. | ||||
| 2023-10-24 | Remove incomplete features from RPITIT/AFIT tests | Michael Goulet | -37/+19 | |
| 2023-10-18 | Tweak wording of type errors involving type params | Esteban Küber | -2/+2 | |
| Fix #78206. | ||||
| 2023-10-16 | Fix outlives suggestion for GAT in RPITIT | Michael Goulet | -0/+41 | |
| 2023-10-13 | Test that RPITITs have RPIT scope and not impl-wide scope | Michael Goulet | -0/+38 | |
| 2023-10-13 | Stabilize AFIT and RPITIT | Michael Goulet | -118/+69 | |
| 2023-10-11 | Rollup merge of #116219 - compiler-errors:relate-alias-ty-with-variance, r=lcnr | Matthias Krüger | -0/+14 | |
| Relate alias ty with variance In the new solver, turns out that the subst-relate branch of the alias-relate predicate was relating args invariantly even for opaques, which have variance :skull:. This change is a bit more invasive, but I'd rather not special-case it [here](https://github.com/rust-lang/rust/blob/aeaa5c30e5c9041264a2e8314b68ad84c2dc3169/compiler/rustc_trait_selection/src/solve/alias_relate.rs#L171-L190) and then have it break elsewhere. I'm doing a perf run to see if the extra call to `def_kind` is that expensive, if it is, I'll reconsider. r? ``@lcnr`` | ||||
| 2023-10-05 | Rollup merge of #116296 - compiler-errors:default-return, r=estebank | Jubilee | -2/+2 | |
| More accurately point to where default return type should go When getting the "default return type" span, instead of pointing to the low span of the next token, point to the high span of the previous token. This: 1. Makes forming return type suggestions more uniform, since we expect them all in the same place. 2. Arguably makes labels easier to understand, since we're pointing to where the implicit `-> ()` would've gone, rather than the starting brace or the semicolon. r? ```@estebank``` | ||||
| 2023-10-05 | Auto merge of #116273 - compiler-errors:refine2, r=tmandry | bors | -0/+11 | |
| Only trigger `refining_impl_trait` lint on reachable traits Public but unreachable traits don't matter 😸 r? `@tmandry` | ||||
| 2023-10-04 | Point to where missing return type should go | Michael Goulet | -2/+2 | |
| 2023-10-04 | Relate AliasTy considering variance | Michael Goulet | -0/+14 | |
| 2023-10-03 | Bless tests | Michael Goulet | -3/+13 | |
| 2023-09-29 | Only trigger refine lint on reachable traits | Michael Goulet | -0/+11 | |
| 2023-09-26 | Anonymize binders for refining_impl_trait check | Michael Goulet | -0/+13 | |
| 2023-09-22 | Need to use hybrid param-env to make sure implication is not circular | Michael Goulet | -0/+42 | |
| 2023-09-22 | Use placeholders to prevent using inferred RPITIT types to imply their own ↵ | Michael Goulet | -0/+39 | |
| WF-ness | ||||
| 2023-09-07 | Add note | Michael Goulet | -0/+5 | |
| 2023-09-07 | Don't emit refining_impl_trait for private items | Michael Goulet | -43/+66 | |
| 2023-09-07 | Use self instead of the actual self ty | Michael Goulet | -2/+2 | |
| 2023-09-07 | Implement refinement lint for RPITIT | Michael Goulet | -13/+133 | |
| 2023-09-02 | Do not require associated types with Self: Sized to uphold bounds when ↵ | Michael Goulet | -1/+17 | |
| confirming object candidate | ||||
| 2023-09-02 | RPITITs are considered object-safe, they're always on Self:Sized methods | Michael Goulet | -18/+29 | |
| 2023-08-30 | Capture lifetimes for associated type bounds destined to be lowered to opaques | Michael Goulet | -0/+19 | |
| 2023-08-28 | Auto merge of #115326 - matthiaskrgr:rollup-qsoa8ar, r=matthiaskrgr | bors | -1/+0 | |
| Rollup of 8 pull requests Successful merges: - #115164 (MIR validation: reject in-place argument/return for packed fields) - #115240 (codegen_llvm/llvm_type: avoid matching on the Rust type) - #115294 (More precisely detect cycle errors from type_of on opaque) - #115310 (Document panic behavior across editions, and improve xrefs) - #115311 (Revert "Suggest using `Arc` on `!Send`/`!Sync` types") - #115317 (Devacationize oli-obk) - #115319 (don't use SnapshotVec in Graph implementation, as it looks unused; use Vec instead) - #115322 (Tweak output of `to_pretty_impl_header` involving only anon lifetimes) r? `@ghost` `@rustbot` modify labels: rollup | ||||
| 2023-08-28 | Revert "Suggest using `Arc` on `!Send`/`!Sync` types" | David Tolnay | -1/+0 | |
| This reverts commit 9de1a472b68ed85f396b2e2cc79c3ef17584d6e1. | ||||
| 2023-08-28 | Better error message for object type with GAT | Michael Goulet | -6/+12 | |
| 2023-08-28 | Test variances of opaque captures | Michael Goulet | -0/+46 | |
| 2023-08-28 | Bless tests | Michael Goulet | -9/+32 | |
| 2023-08-28 | RPITITs capture all their lifetimes | Michael Goulet | -58/+20 | |
| 2023-08-09 | Suggest using `Arc` on `!Send`/`!Sync` types | Esteban Kuber | -0/+1 | |
| 2023-08-08 | Remove dangling tests | Michael Goulet | -800/+0 | |
| 2023-08-08 | Install bidirectional outlives predicates for RPITITs (and RPITs) correctly | Michael Goulet | -0/+11 | |
| 2023-08-02 | Rollup merge of #114301 - ↵ | Matthias Krüger | -0/+35 | |
| compiler-errors:dont-error-on-missing-region-outlives, r=spastorino Don't check unnecessarily that impl trait is RPIT We have this random `return_type_impl_trait` function to detect if a function returns an RPIT which is used in outlives suggestions, but removing it doesn't actually change any diagnostics. Let's just remove it. Also, suppress a spurious outlives error from a ReError. Fixes #114274 | ||||
| 2023-08-01 | Suppress unnecessary outlives | Michael Goulet | -18/+2 | |
| 2023-07-31 | Don't check unnecessarily that impl trait is RPIT | Michael Goulet | -0/+51 | |
| 2023-07-31 | Rollup merge of #114267 - compiler-errors:rpitit-opaque-bounds, r=spastorino | Matthias Krüger | -25/+1 | |
| Map RPITIT's opaque type bounds back from projections to opaques An RPITIT in a program's AST is eventually translated into both a projection GAT and an opaque. The opaque is used for default trait methods, like: ``` trait Foo { fn bar() -> impl Sized { 0i32 } } ``` The item bounds for both the projection and opaque are identical, and both have a *projection* self ty. This is mostly okay, since we can normalize this projection within the default trait method body to the opaque, but it does two things: 1. it leads to bugs in places where we don't normalize item bounds, like `deduce_future_output_from_obligations` 2. it leads to extra match arms that are both suspicious looking and also easy to miss This PR maps the opaque type bounds of the RPITIT's *opaque* back to the opaque's self type to avoid this quirk. Then we can fix the UI test for #108304 (1.) and also remove a bunch of match arms (2.). Fixes #108304 r? `@spastorino` | ||||
| 2023-07-30 | Don't install default projection bound for RPITITs | Michael Goulet | -0/+26 | |
| 2023-07-30 | Remap explicit item bounds of RPITIT's opaque back to ty::Opaque | Michael Goulet | -25/+1 | |
| 2023-07-29 | some nits, bless test | Michael Goulet | -16/+2 | |
| 2023-07-29 | Implement assumed_wf_types for RPITITs' implementations | Michael Goulet | -0/+29 | |
| 2023-07-29 | Take RPITITs inherit the assumed_wf_types of their parent fn | Michael Goulet | -4/+0 | |
| 2023-07-28 | Rollup merge of #114147 - compiler-errors:missing-rpitits, r=spastorino | Matthias Krüger | -0/+27 | |
| Insert RPITITs that were shadowed by missing ADTs that resolve to [type error] Comment inline explains how this can happen. Fixes #113903 | ||||
| 2023-07-27 | Add additional test | Michael Goulet | -0/+44 | |
| 2023-07-27 | Insert RPITITs that were shadowed by missing ADTs that resolve to type error | Michael Goulet | -0/+27 | |
