about summary refs log tree commit diff
path: root/src/librustc_middle/traits/mod.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-754/+0
2020-08-18Provide better spans for the match arm without tail expressionWonwoo Choi-0/+1
2020-08-14Rework `rustc_serialize`Matthew Jasper-10/+10
- Move the type parameter from `encode` and `decode` methods to the trait. - Remove `UseSpecialized(En|De)codable` traits. - Remove blanket impls for references. - Add `RefDecodable` trait to allow deserializing to arena-allocated references safely. - Remove ability to (de)serialize HIR. - Create proc-macros `(Ty)?(En|De)codable` to help implement these new traits.
2020-08-02Use Lift derive proc-macro in librustc_traits.Camille GILLOT-18/+17
2020-07-22Use `ty::Instance::resolve` to identify `'static` bound sourceEsteban Küber-1/+8
2020-07-22Increase accuracy of lifetime bound on trait object impl suggestionEsteban Küber-0/+2
2020-07-14Suggest boxing or borrowing unsized fieldsEsteban Küber-0/+1
2020-07-14Suggest borrowing unsized argument typesEsteban Küber-1/+1
2020-06-21Auto merge of #72936 - jackh726:chalk-more, r=nikomatsakisbors-2/+1
Upgrade Chalk Things done in this PR: - Upgrade Chalk to `0.11.0` - Added compare-mode=chalk - Bump rustc-hash in `librustc_data_structures` to `1.1.0` to match Chalk - Removed `RustDefId` since the builtin type support is there - Add a few more `FIXME(chalk)`s for problem spots I hit when running all tests with chalk - Added some more implementation code for some newer builtin Chalk types (e.g. `FnDef`, `Array`) - Lower `RegionOutlives` and `ObjectSafe` predicates - Lower `Dyn` without the region - Handle `Int`/`Float` `CanonicalVarKind`s - Uncomment some Chalk tests that actually work now - Remove the revisions in `src/test/ui/coherence/coherence-subtyping.rs` since they aren't doing anything different r? @nikomatsakis
2020-06-20int -> i32Bastian Kauschke-13/+15
2020-06-19Remove RustDefIdJack Huey-2/+1
2020-06-16Auto merge of #72962 - lcnr:ObligationCause-lrc, r=ecstatic-morsebors-5/+46
store `ObligationCause` on the heap Stores `ObligationCause` on the heap using an `Rc`. This PR trades off some transient memory allocations to reduce the size of–and thus the number of instructions required to memcpy–a few widely used data structures in trait solving.
2020-06-07use enum to represent ObligationCause::dummy without allocatingBastian Kauschke-10/+9
2020-06-07store `ObligationCause` on the heapBastian Kauschke-5/+47
2020-06-05Rename traits::ImplSourceImpl to ImplSourceUserDefined.Ana-Maria Mihalache-7/+7
2020-06-05Rename traits::Vtable to ImplSource.Ana-Maria Mihalache-80/+73
2020-05-21Auto merge of #70705 - lcnr:generic_discriminant, r=nikomatsakisbors-0/+12
Use `T`'s discriminant type in `mem::Discriminant<T>` instead of `u64`. fixes #70509 Adds the lang-item `discriminant_kind`. Updates the function signature of `intrinsics::discriminant_value`. Adds the *probably permanently unstable* trait `DiscriminantKind`. `mem::Discriminant` should now be smaller in some cases. r? @ghost
2020-05-19auto impl`DiscriminantKind` for every typeBastian Kauschke-0/+12
2020-05-18HIR passes for asm!Amanieu d'Antras-0/+2
2020-05-09Rollup merge of #71555 - cjgillot:nameless, r=matthewjasperRalf Jung-5/+5
Remove ast::{Ident, Name} reexports. The reexport of `Symbol` into `Name` confused me.
2020-05-08Remove ast::{Ident, Name} reexports.Camille GILLOT-5/+5
2020-05-07Reintegrate chalk using chalk-solveJack Huey-0/+9
2020-05-02Point at associated types when they have a default typeEsteban Küber-0/+3
Associated types with a default type in a trait can't be relied upon to remain of that default type when in use, so literals of that type can't be used in the trait's items. Point at the associated type and state that information. Reduce verbosity for associated consts of the wrong type.
2020-05-01Remove leftover chalk typesJack Huey-157/+1
2020-04-18Do not emit note for projected derived obligationsEsteban Küber-1/+6
2020-04-18Remove `AssocTypeBound` and propagate bound `Span`sEsteban Küber-9/+0
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-0/+843