| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-01-28 | Do not assume child bound assumptions for rigid alias | Michael Goulet | -14/+49 | |
| 2025-01-23 | Rollup merge of #135766 - lcnr:candidate-assembly-3, r=compiler-errors | Matthias Krüger | -21/+28 | |
| handle global trait bounds defining assoc types This also fixes the compare-mode for - tests/ui/coherence/coherent-due-to-fulfill.rs - tests/ui/codegen/mono-impossible-2.rs - tests/ui/trivial-bounds/trivial-bounds-inconsistent-projection.rs - tests/ui/nll/issue-61320-normalize.rs I first considered the alternative to always prefer where-bounds during normalization, regardless of how the trait goal has been proven by changing `fn merge_candidates` instead. https://github.com/rust-lang/rust/blob/ecda83b30f0f68cf5692855dddc0bc38ee8863fc/compiler/rustc_next_trait_solver/src/solve/assembly/mod.rs#L785 This approach is more restrictive than behavior of the old solver to avoid mismatches between trait and normalization goals. This may be breaking in case the where-bound adds unnecessary region constraints and we currently don't ever try to normalize an associated type. I would like to detect these cases and change the approach to exactly match the old solver if required. I want to minimize cases where attempting to normalize in more places causes code to break. r? `@compiler-errors` | ||||
| 2025-01-22 | Use `structurally_normalize` instead of manual `normalizes-to` goals | Boxy | -23/+19 | |
| 2025-01-20 | handle global trait bounds defining assoc type | lcnr | -2/+22 | |
| 2025-01-20 | remove unnecessary collection | lcnr | -19/+6 | |
| 2025-01-19 | Run `clippy --fix` for `unnecessary_map_or` lint | Yotam Ofek | -1/+1 | |
| 2025-01-17 | new solver: prefer trivial builtin impls over where-clauses | Rémy Rakic | -2/+27 | |
| for now, only builtin `Sized` impls are tracked as being `Trivial` | ||||
| 2025-01-14 | Prefer lower TraitUpcasting candidates | Michael Goulet | -3/+5 | |
| 2025-01-08 | Implement const Destruct in old solver | Michael Goulet | -0/+2 | |
| 2025-01-06 | Recurse on GAT where clauses in fulfillment error proof tree visitor | Michael Goulet | -2/+2 | |
| 2025-01-06 | Add derived causes for host effect predicates | Michael Goulet | -1/+1 | |
| 2025-01-03 | Also in the new solver | Michael Goulet | -18/+27 | |
| 2024-12-22 | Begin to implement type system layer of unsafe binders | Michael Goulet | -3/+37 | |
| 2024-12-18 | update new solver candidate assembly | lcnr | -89/+180 | |
| 2024-12-18 | canonicalizer: keep 'static in the param_env | lcnr | -40/+102 | |
| 2024-12-11 | Rename projection_def_id to item_def_id | Michael Goulet | -1/+1 | |
| 2024-12-05 | do not implement unsafe auto traits for types with unsafe fields | Jack Wrenn | -0/+8 | |
| If a type has unsafe fields, its safety invariants are not simply the conjunction of its field types' safety invariants. Consequently, it's invalid to reason about the safety properties of these types in a purely structural manner — i.e., the manner in which `auto` traits are implemented. Makes progress towards #132922. | ||||
| 2024-11-28 | support revealing defined opaque post borrowck | lcnr | -33/+53 | |
| 2024-11-23 | remove remaining references to `Reveal` | lcnr | -2/+1 | |
| 2024-11-23 | no more Reveal :( | lcnr | -13/+9 | |
| 2024-11-22 | Implement ~const Destruct in new solver | Michael Goulet | -4/+97 | |
| 2024-11-21 | Rollup merge of #133218 - compiler-errors:const-opaque, r=fee1-dead | Matthias Krüger | -5/+2 | |
| Implement `~const` item bounds in RPIT an RPIT in a `const fn` is allowed to be conditionally const itself :) r? fee1-dead or reroll | ||||
| 2024-11-20 | Rip out built-in PointerLike impl | Michael Goulet | -50/+0 | |
| 2024-11-19 | Implement ~const Fn trait goals in the new solver | Michael Goulet | -17/+128 | |
| 2024-11-19 | Rename implied_const_bounds to explicit_implied_const_bounds | Michael Goulet | -5/+2 | |
| 2024-11-18 | use `TypingEnv` when no `infcx` is available | lcnr | -1/+5 | |
| the behavior of the type system not only depends on the current assumptions, but also the currentnphase of the compiler. This is mostly necessary as we need to decide whether and how to reveal opaque types. We track this via the `TypingMode`. | ||||
| 2024-11-12 | Consolidate type system const evaluation under `traits::evaluate_const` | Boxy | -8/+8 | |
| mew | ||||
| 2024-11-07 | Remove unused intercrate dependencies | clubby789 | -1/+0 | |
| 2024-11-03 | Rename the FIXMEs, remove a few that dont matter anymore | Michael Goulet | -3/+1 | |
| 2024-10-30 | Merge HostPolarity and BoundConstness | Michael Goulet | -4/+7 | |
| 2024-10-29 | remove outdated debug_assertion | lcnr | -3/+0 | |
| 2024-10-29 | TypingMode :thinking: | lcnr | -87/+73 | |
| 2024-10-24 | Add support for ~const item bounds | Michael Goulet | -1/+77 | |
| 2024-10-24 | Implement const effect predicate in new solver | Michael Goulet | -0/+300 | |
| 2024-10-24 | Remove associated type based effects logic | Michael Goulet | -121/+0 | |
| 2024-10-22 | remove unused field | lcnr | -11/+7 | |
| 2024-10-22 | fix typo | lcnr | -1/+1 | |
| 2024-10-21 | don't bail when encountering many placeholders | lcnr | -1/+2 | |
| 2024-10-21 | normalizes-to disable infer var check | lcnr | -7/+16 | |
| 2024-10-19 | Fix transmute goal | Michael Goulet | -1/+37 | |
| 2024-10-18 | Rollup merge of #131857 - WaffleLapkin:dyn-drop-principal-3, r=compiler-errors | Matthias Krüger | -1/+2 | |
| Allow dropping dyn principal Revival of #126660, which was a revival of #114679. Fixes #126313. Allows dropping principal when coercing trait objects, e.g. `dyn Debug + Send` -> `dyn Send`. cc `@compiler-errors` `@Jules-Bertholet` r? `@lcnr` | ||||
| 2024-10-17 | Rollup merge of #131825 - lcnr:probe-no-more-leak-2, r=compiler-errors | Matthias Krüger | -3/+2 | |
| SolverDelegate add assoc type for Infcx makes writing trait bounds on it a lot nicer going forward. r? `@compiler-errors` | ||||
| 2024-10-17 | Allow dropping dyn principal | Michael Goulet | -1/+2 | |
| 2024-10-17 | SolverDelegate add assoc type for Infcx | lcnr | -3/+2 | |
| 2024-10-17 | move `defining_opaque_types` out of `Canonical` | lcnr | -11/+18 | |
| 2024-10-16 | Auto merge of #131792 - matthiaskrgr:rollup-480nwg4, r=matthiaskrgr | bors | -6/+79 | |
| Rollup of 8 pull requests Successful merges: - #130822 (Add `from_ref` and `from_mut` constructors to `core::ptr::NonNull`.) - #131381 (Implement edition 2024 match ergonomics restrictions) - #131594 (rustdoc: Rename "object safe" to "dyn compatible") - #131686 (Add fast-path when computing the default visibility) - #131699 (Try to improve error messages involving aliases in the solver) - #131757 (Ignore lint-non-snake-case-crate#proc_macro_ on targets without unwind) - #131783 (Fix explicit_iter_loop in rustc_serialize) - #131788 (Fix mismatched quotation mark) r? `@ghost` `@rustbot` modify labels: rollup | ||||
| 2024-10-15 | update bootstrap configs | Josh Stone | -1/+1 | |
| 2024-10-15 | Register a dummy candidate for failed structural normalization during ↵ | Michael Goulet | -0/+20 | |
| candiate assembly | ||||
| 2024-10-15 | Be better at reporting alias errors | Michael Goulet | -9/+13 | |
| 2024-10-15 | Make sure the alias is actually rigid | Michael Goulet | -2/+51 | |
