| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-07-25 | Make everything builtin! | Michael Goulet | -8/+11 | |
| 2023-07-25 | Restore tuple unsizing feature gate | Michael Goulet | -1/+3 | |
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -40/+35 | |
| 2023-07-12 | Re-format let-else per rustfmt update | Mark Rousskov | -2/+4 | |
| 2023-07-06 | get rid of a bit more calls to poly_select | Michael Goulet | -1/+1 | |
| 2023-06-20 | yeet ImplSource::TraitAlias too | Michael Goulet | -3/+1 | |
| 2023-06-17 | Remove even more redundant builtin candidates | Michael Goulet | -77/+60 | |
| 2023-06-17 | Simplify even more candidates | Michael Goulet | -21/+19 | |
| 2023-06-17 | Simplify some impl source candidates | Michael Goulet | -4/+2 | |
| 2023-06-01 | Rename `impl_defaultness` to `defaultness` | Deadbeef | -1/+1 | |
| 2023-05-15 | Move expansion of query macros in rustc_middle to rustc_middle::query | John Kåre Alsaker | -2/+3 | |
| 2023-05-08 | Fix miscompilation when adding default method to `Future` | Jonas Schievink | -14/+11 | |
| 2023-05-06 | make (try_)subst_and_normalize_erasing_regions take EarlyBinder | Kyle Matsuda | -2/+1 | |
| 2023-05-06 | More robust debug assertions for `Instance::resolve` on built-in traits with ↵ | Michael Goulet | -13/+71 | |
| custom items | ||||
| 2023-05-03 | Restrict `From<S>` for `{D,Subd}iagnosticMessage`. | Nicholas Nethercote | -1/+1 | |
| Currently a `{D,Subd}iagnosticMessage` can be created from any type that impls `Into<String>`. That includes `&str`, `String`, and `Cow<'static, str>`, which are reasonable. It also includes `&String`, which is pretty weird, and results in many places making unnecessary allocations for patterns like this: ``` self.fatal(&format!(...)) ``` This creates a string with `format!`, takes a reference, passes the reference to `fatal`, which does an `into()`, which clones the reference, doing a second allocation. Two allocations for a single string, bleh. This commit changes the `From` impls so that you can only create a `{D,Subd}iagnosticMessage` from `&str`, `String`, or `Cow<'static, str>`. This requires changing all the places that currently create one from a `&String`. Most of these are of the `&format!(...)` form described above; each one removes an unnecessary static `&`, plus an allocation when executed. There are also a few places where the existing use of `&String` was more reasonable; these now just use `clone()` at the call site. As well as making the code nicer and more efficient, this is a step towards possibly using `Cow<'static, str>` in `{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing the `From<&'a str>` impls to `From<&'static str>`, which is doable, but I'm not yet sure if it's worthwhile. | ||||
| 2023-04-27 | rename `needs_infer` to `has_infer` | Boxy | -2/+2 | |
| 2023-04-20 | Remove WithOptconstParam. | Camille GILLOT | -35/+8 | |
| 2023-04-20 | Feed type_of query instead of using WithOptconstParam. | Camille GILLOT | -6/+0 | |
| 2023-04-16 | fix clippy::toplevel_ref_arg and ::manual_map | Matthias Krüger | -7/+4 | |
| 2023-04-07 | Move `FnPtrAddr` error to `SessionDiagnostic` | Matthew Jasper | -4/+5 | |
| 2023-03-27 | Add a builtin `FnPtr` trait | lcnr | -1/+18 | |
| 2023-02-22 | Remove type-traversal trait aliases | Alan Egerton | -1/+1 | |
| 2023-02-16 | remove bound_type_of query; make type_of return EarlyBinder; change type_of ↵ | Kyle Matsuda | -1/+1 | |
| in metadata | ||||
| 2023-02-16 | change usages of type_of to bound_type_of | Kyle Matsuda | -2/+3 | |
| 2022-12-24 | Rename some compare_method functions | Michael Goulet | -1/+1 | |
| 2022-12-12 | normalize receiver substs and erase the regions | Takayuki Maeda | -1/+7 | |
| use a smaller example | ||||
| 2022-11-27 | Rename `fn_trait_kind_from_{from_lang=>def_id}` to better convey meaning | Maybe Waffle | -1/+1 | |
| 2022-11-25 | move 2 candidates into builtin candidate | lcnr | -2/+0 | |
| 2022-11-24 | Avoid `GenFuture` shim when compiling async constructs | Arpad Borsos | -0/+6 | |
| Previously, async constructs would be lowered to "normal" generators, with an additional `from_generator` / `GenFuture` shim in between to convert from `Generator` to `Future`. The compiler will now special-case these generators internally so that async constructs will *directly* implement `Future` without the need to go through the `from_generator` / `GenFuture` shim. The primary motivation for this change was hiding this implementation detail in stack traces and debuginfo, but it can in theory also help the optimizer as there is less abstractions to see through. | ||||
| 2022-10-27 | Accept `TyCtxt` instead of `TyCtxtAt` in `Ty::is_*` functions | Maybe Waffle | -2/+2 | |
| Functions in answer: - `Ty::is_freeze` - `Ty::is_sized` - `Ty::is_unpin` - `Ty::is_copy_modulo_regions` | ||||
| 2022-10-10 | Rollup merge of #102786 - compiler-errors:no-tuple-candidate, r=lcnr | Dylan DPC | -2/+1 | |
| Remove tuple candidate, nothing special about it r? `@lcnr` you mentioned this during the talk you gave i think | ||||
| 2022-10-07 | Remove tuple candidate, nothing special about it | Michael Goulet | -2/+1 | |
| 2022-10-07 | Change InferCtxtBuilder from enter to build | Cameron Steffen | -13/+11 | |
| 2022-10-06 | Rollup merge of #98496 - BoxyUwU:instancers_bad_equality, r=lcnr | Matthias Krüger | -31/+5 | |
| make `compare_const_impl` a query and use it in `instance.rs` Fixes #88365 the bug in #88365 was caused by some `instance.rs` code using the `PartialEq` impl on `Ty` to check that the type of the associated const in an impl is the same as the type of the associated const in the trait definition. This was wrong for two reasons: - the check typeck does is that the impl type is a subtype of the trait definition's type (see `mismatched_impl_ty_2.rs` which [was ICEing](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=f6d60ebe6745011f0d52ab2bc712025d) before this PR on stable) - it assumes that if two types are equal then the `PartialEq` impl will reflect that which isnt true for higher ranked types or type level constants when `feature(generic_const_exprs)` is enabled (see `mismatched_impl_ty_3.rs` for higher ranked types which was [ICEing on stable](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=d7af131a655ed515b035624626c62c71)) r? `@lcnr` | ||||
| 2022-10-04 | missing value to delay_span_bug | lcnr | -2/+6 | |
| 2022-09-30 | make query take `(LocalDefId, DefId)` | Boxy | -7/+3 | |
| 2022-09-30 | make `compare_const_impl` a query and use it in `instance.rs` | Boxy | -30/+8 | |
| 2022-09-27 | rustc_typeck to rustc_hir_analysis | lcnr | -1/+1 | |
| 2022-09-12 | Auto merge of #100251 - compiler-errors:tuple-trait-2, r=jackh726 | bors | -1/+2 | |
| Implement `std::marker::Tuple` Split out from #99943 (https://github.com/rust-lang/rust/pull/99943#pullrequestreview-1064459183). Implements part of rust-lang/compiler-team#537 r? `@jackh726` | ||||
| 2022-09-11 | Apply formatting fixes | Andrew Cann | -4/+4 | |
| 2022-09-11 | implement Copy/Clone for generators | Andrew Cann | -1/+4 | |
| 2022-09-09 | rename `codegen_fulfill_obligation` | lcnr | -4/+2 | |
| 2022-09-09 | `resolve_instance`: remove `BoundVarsCollector` | lcnr | -108/+3 | |
| 2022-09-01 | Always import all tracing macros for the entire crate instead of piecemeal ↵ | Oli Scherer | -2/+0 | |
| by module | ||||
| 2022-08-07 | Built-in implementation of Tuple trait | Michael Goulet | -1/+2 | |
| 2022-08-01 | Store associated item defaultness in impl_defaultness. | Camille GILLOT | -1/+1 | |
| 2022-07-22 | Do not resolve associated const when there is no provided value | Michael Goulet | -0/+5 | |
| 2022-07-06 | Update TypeVisitor paths | Alan Egerton | -1/+1 | |
| 2022-07-05 | Relax constrained generics to TypeVisitable | Alan Egerton | -2/+2 | |
| 2022-06-30 | Recover when failing to normalize closure signature. | Camille GILLOT | -2/+2 | |
