about summary refs log tree commit diff
path: root/src/librustc/traits
AgeCommit message (Collapse)AuthorLines
2019-08-05Fiddle param env through to `try_eval_bits` in most placesOliver Scherer-3/+5
2019-08-05Don't abort on unevaluated constants without at least tryting to eval themOliver Scherer-1/+1
2019-08-04Revert "Rollup merge of #62696 - chocol4te:fix_#62194, r=estebank"Ariel Ben-Yehuda-7/+2
This reverts commit df21a6f040a7011d509769a61ac7af9502636b33, reversing changes made to cc16d0486933e02237190366de2eb43df2215c11.
2019-08-03Auto merge of #63180 - varkor:trait-alias-impl-trait, r=Centrilbors-3/+3
Change opaque type syntax from `existential type` to type alias `impl Trait` This implements a new feature gate `type_alias_impl_trait` (this is slightly different from the originally proposed feature name, but matches what has been used in discussion since), deprecating the old `existential_types` feature. The syntax for opaque types has been changed. In addition, the "existential" terminology has been replaced with "opaque", as per previous discussion and the RFC. This makes partial progress towards implementing https://github.com/rust-lang/rust/issues/63063. r? @Centril
2019-08-02Replace "existential" by "opaque"varkor-3/+3
2019-08-02Fix typos in doc comments.Bruce Mitchener-2/+2
2019-07-24Stabilize the type_name intrinsic in core::anySteven Fackler-2/+2
Closes rust-lang/rfcs#1428
2019-07-23normalize use of backticks for compiler messages in remaining modulesSamy Kacimi-1/+1
https://github.com/rust-lang/rust/issues/60532
2019-07-16Suggested changeFerdia McKeogh-4/+5
2019-07-16Check that trait is exported or public before adding intercrate ambiguity hintFerdia McKeogh-2/+6
2019-07-11hygiene: Fix wording of desugaring descriptionsVadim Petrochenkov-1/+1
Use variant names rather than descriptions for identifying desugarings in `#[rustc_on_unimplemented]`. Both are highly unstable, but variant name is at least a single identifier.
2019-07-11syntax: Make def-site span mandatory in ↵Vadim Petrochenkov-6/+3
ExpnInfo/MacroBacktrace/DiagnosticSpanMacroExpansion We have to deal with dummy spans anyway Remove def-site span from expander interfaces. It's not used by the expansion infra, only by specific expanders, which can keep it themselves if they want it.
2019-07-11Rename some things in `syntax_pos/hygiene`Vadim Petrochenkov-4/+4
More consistent with other naming: ExpnFormat -> ExpnKind ExpnKind::name -> ExpnKind::descr DesugaringKind::name -> DesugaringKind::descr Shorter, no tautology: CompilerDesugaring -> Desugaring CompilerDesugaringKind -> DesugaringKind
2019-07-03Remove needless lifetimesJeremy Stucki-5/+5
2019-07-03Remove needless lifetimesJeremy Stucki-10/+10
2019-07-02pass a `&mut QueryRegionConstraints` not just outlives constraintsNiko Matsakis-6/+6
2019-07-02introduce `QueryRegionConstraints` structNiko Matsakis-13/+13
2019-07-02rename `QueryRegionConstraint` to `QueryOutlivesConstraint`Niko Matsakis-7/+7
2019-06-26Don't use lift to detect local typesJohn Kåre Alsaker-65/+84
2019-06-24HIR: rename find_by_hir_id to findljedrz-2/+2
2019-06-24HIR: rename get_parent_node_by_hir_id to get_parent_nodeljedrz-2/+2
2019-06-20replace NodeId with HirId in traits::ObligationCauseCodeljedrz-4/+4
2019-06-19rustc: disallow cloning HIR nodes.Eduard-Mihai Burtescu-2/+2
2019-06-19Rollup merge of #61842 - Zoxc:trim-lift, r=eddybMazdak Farrokhzad-19/+8
Remove unnecessary lift calls Note that some of these might be useful for sanity checking that there's no infer types or regions. r? @eddyb
2019-06-18rustc: reintroduce lifetime bounds where necessary.Eduard-Mihai Burtescu-2/+2
2019-06-18rustc: remove unused lifetimes.Eduard-Mihai Burtescu-1/+1
2019-06-18rustc: remove leftover lifetimes with no bounds from where clauses.Eduard-Mihai Burtescu-1/+0
2019-06-18rustc: remove 'x: 'y bounds (except from comments/strings).Eduard-Mihai Burtescu-9/+9
2019-06-17remove _by_hir_id if there is no NodeId counterpartljedrz-2/+2
2019-06-17replace some uses of NodeId with HirIdljedrz-4/+2
2019-06-16Auto merge of #61754 - nikomatsakis:trait-caching-perf-3, r=pnkfelixbors-82/+406
create a "provisional cache" to restore performance in the case of cycles Introduce a "provisional cache" that caches the results of auto trait resolutions but keeps them from entering the *main* cache until everything is ready. This turned out a bit more complex than I hoped, but I don't see another short term fix -- happy to take suggestions! In the meantime, it's very clear we need to rework the trait solver. This resolves the extreme performance slowdown experienced in #60846 -- I plan to add a perf.rust-lang.org regression test to track this. Caveat: I've not run `x.py test` in full yet. r? @pnkfelix cc @arielb1 Fixes #60846
2019-06-14Remove unnecessary lift callsJohn Kåre Alsaker-19/+8
2019-06-14Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-165/+143
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-390/+369
2019-06-12correctly set the `reached_depth` fieldNiko Matsakis-3/+13
2019-06-12add more debug logsNiko Matsakis-2/+40
2019-06-12add the "provisional cache"Niko Matsakis-4/+192
2019-06-12add in a depth-first number for stack entriesNiko Matsakis-0/+16
2019-06-12introduce ProvisionalEvaluationCacheNiko Matsakis-5/+16
2019-06-12execute cycle check before we consider cachingNiko Matsakis-62/+83
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-155/+146
2019-06-12rustc: remove some unnecessary lifetimes in -> TyCtxt methods.Eduard-Mihai Burtescu-1/+1
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-104/+104
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-51/+51
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-125/+125
2019-06-12Rollup merge of #61568 - Mark-Simulacrum:symbol-fmt-macros, r=estebankMazdak Farrokhzad-35/+35
Use Symbol, Span in libfmt_macros I'm not super happy with this, personally, but I think it might be a decent start -- happy to take suggestions as to how to expand this or change things further. r? @estebank Fixes #60795
2019-06-11propagate depth that was reached, not just whether there was a cycleNiko Matsakis-18/+43
I tried to propagate this information with the return value, but I found a curiosity (actually, something that I'm not keen on in general) -- in particular, the candidate cache urrently invokes evaluation, which may detect a cycle, but the "depth" that results from that are is easily propagated back out. This probably means that the candidate caching mechanism *itself* is sort of problematic, but I'm choosing to ignore that in favor of a more ambitious rewrite later.
2019-06-11introduce a stack depthNiko Matsakis-2/+16
2019-06-11rename `evaluate_obligation_recursively`Niko Matsakis-5/+6
It does not, in fact, execute in a recursive context.
2019-06-11Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-4/+1