about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/traits/structural_impls.rs
AgeCommit message (Collapse)AuthorLines
2024-07-29Reformat `use` declarations.Nicholas Nethercote-2/+2
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2023-08-14Remove constness from `ImplSource::Param`Deadbeef-2/+2
2023-07-30inline format!() args up to and including rustc_middleMatthias Krüger-2/+2
2023-07-25Make everything builtin!Michael Goulet-30/+6
2023-07-25Restore tuple unsizing feature gateMichael Goulet-0/+2
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-2/+2
2023-06-20yeet upcast_trait_def_id from ImplSourceObjectDataMichael Goulet-2/+2
2023-06-20yeet ImplSource::TraitAlias tooMichael Goulet-12/+0
2023-06-17Remove even more redundant builtin candidatesMichael Goulet-9/+1
2023-06-17Simplify even more candidatesMichael Goulet-36/+0
2023-06-17Simplify an ObjectData fieldMichael Goulet-2/+2
2023-06-17Simplify some impl source candidatesMichael Goulet-20/+0
2023-06-17Remove some ImplSource candidatesMichael Goulet-9/+3
2022-11-25move 2 candidates into builtin candidatelcnr-12/+0
2022-11-24Avoid `GenFuture` shim when compiling async constructsArpad Borsos-0/+12
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-07Remove tuple candidate, nothing special about itMichael Goulet-2/+0
2022-08-07Built-in implementation of Tuple traitMichael Goulet-0/+2
2022-07-21Do if-expression obligation stuff less eagerlyMichael Goulet-1/+0
2022-07-05impl TypeVisitable in type traversal macrosAlan Egerton-1/+1
2022-03-21Rename `~const Drop` to `~const Destruct`Deadbeef-3/+3
2022-01-18Check const Drop impls considering ConstIfConst boundsMichael Goulet-1/+6
2021-12-15Remove `in_band_lifetimes` from `rustc_middle`Aaron Hill-1/+1
See #91867 This was mostly straightforward. In several places, I take advantage of the fact that lifetimes are non-hygenic: a macro declares the 'tcx' lifetime, which is then used in types passed in as macro arguments.
2021-09-09fmtDeadbeef-1/+1
2021-09-09Const drop selection candidatesDeadbeef-0/+3
2021-08-18Fold `vtable_trait_upcasting_coercion_new_vptr_slot` logic into obligation ↵Charles Lew-0/+12
processing.
2021-02-15Add `ptr::Pointee` trait (for all types) and `ptr::metadata` functionSimon Sapin-0/+3
RFC: https://github.com/rust-lang/rfcs/pull/2580
2020-11-22Thread `Constness` through selectionJonas Schievink-1/+3
2020-11-16wordslcnr-1/+1
2020-09-24remove enum name from ImplSource variantsBastian Kauschke-11/+11
2020-08-30mv compiler to compiler/mark-0/+111