about summary refs log tree commit diff
path: root/src/librustc/traits/util.rs
AgeCommit message (Collapse)AuthorLines
2019-03-25Utilize `?` instead of `return None`.Corey Farwell-5/+1
2019-02-27rename Substs to InternalSubstscsmoe-2/+2
Change-Id: I3fa00e999a2ee4eb72db1fdf53a8633b49176a18
2019-02-10Auto merge of #58151 - ljedrz:HirIdify_rustc, r=Zoxcbors-3/+3
Partially HirId-ify rustc Another step towards https://github.com/rust-lang/rust/pull/57578.
2019-02-05rustc: partially HirIdifyljedrz-3/+3
2019-02-05move librustc to 2018Mark Mansi-7/+7
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07Re-added accidentally-removed imports.Alexander Regueiro-1/+2
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-3/+2
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-2/+2
2018-11-11Rollup merge of #55745 - nnethercote:outlives_components-SmallVec, ↵Pietro Albini-1/+3
r=matthewjasper Convert `outlives_components`' return value to a `SmallVec` outparam. This avoids some allocations, reducing instruction counts by 1% on a couple of benchmarks.
2018-11-08Use `SmallVec` outparams in several functions.Nicholas Nethercote-1/+3
This avoids some allocations, reducing instruction counts by 1% on a couple of benchmarks.
2018-11-07Look at projections from supertraits when constructing trait objects.Alexander Regueiro-1/+1
2018-11-03Extended elaboration for trait aliases to include arbitrary bounds.Alexander Regueiro-1/+1
2018-10-29Take advantage of impl Iterator in (transitive/elaborate)_boundsljedrz-4/+3
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-1/+1
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-1/+1
2018-09-28rustc: keep a Span for each predicate in ty::GenericPredicates.Eduard-Mihai Burtescu-2/+2
2018-09-18A few cleanups and minor improvements to rustc/traitsljedrz-2/+1
2018-08-16Implement Iterator::size_hint for Elaborator.Corey Farwell-0/+4
2018-07-16ItemKindcsmoe-1/+1
2018-05-21rustc: make mk_substs_trait take &[Kind] instead of &[Ty].Eduard-Mihai Burtescu-5/+5
2018-05-15Pull common parameters into GenericParamDefvarkor-1/+1
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-04-24Make Binder's field private and clean up its usageTyler Mandry-4/+4
2018-03-20Implement some trivial size_hints for various iteratorsPhlosioneer-0/+5
This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708.
2018-03-14remove defaulting to unitAndrew Cann-1/+1
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-04Remove ty::Predicate::Equate and ty::EquatePredicate (dead code)Tatsuyuki Ishi-8/+0
2017-11-18make `ty::Predicate` carry a `ClosureSubsts`Niko Matsakis-2/+2
2017-09-11rustc: evaluate fixed-length array length expressions lazily.Eduard-Mihai Burtescu-0/+7
2017-09-05rustc: Move `impl_defaultness` to a queryAlex Crichton-2/+0
2017-07-28Remove support for `gen arg`Alex Crichton-1/+1
2017-07-28Rename suspend to yieldJohn Kåre Alsaker-1/+1
2017-07-28Fix tidy warningsAlex Crichton-1/+1
2017-07-28Generator literal supportJohn Kåre Alsaker-0/+13
2017-07-05use field init shorthand in src/librustcZack M. Davis-6/+6
The field init shorthand syntax was stabilized in 1.17.0 (aebd94f); we are now free to use it in the compiler.
2017-06-01strip param-env from infcxNiko Matsakis-9/+15
2017-05-13rustc: treat ReEarlyBound as free without replacing it with ReFree.Eduard-Mihai Burtescu-2/+2
2017-04-27Auto merge of #37860 - giannicic:defaultimpl, r=nagisabors-0/+26
#37653 support `default impl` for specialization this commit implements the first step of the `default impl` feature: > all items in a `default impl` are (implicitly) `default` and hence > specializable. In order to test this feature I've copied all the tests provided for the `default` method implementation (in run-pass/specialization and compile-fail/specialization directories) and moved the `default` keyword from the item to the impl. See [referenced](https://github.com/rust-lang/rust/issues/37653) issue for further info r? @aturon
2017-04-26 support `default impl` for specializationGianni Ciccarelli-0/+5
`[default] [unsafe] impl` and typecheck
2017-04-25 support `default impl` for specializationGianni Ciccarelli-0/+21
pr review
2017-04-24rustc: rename some of the queries to match tcx methods.Eduard-Mihai Burtescu-3/+3
2017-04-11add Subtype predicateNiko Matsakis-1/+8
2017-02-25rustc: combine BareFnTy and ClosureTy into FnSig.Eduard-Mihai Burtescu-1/+1
2017-02-03Add warning for () to ! switchAndrew Cann-1/+1
2016-12-05Refactor ty::FnSig to privatize all fieldsMark-Simulacrum-3/+4
2016-11-28Remove BuiltinBound and BuiltinBounds.Mark-Simulacrum-31/+0
2016-11-10rustc: clean up lookup_item_type and remove TypeScheme.Eduard Burtescu-3/+3
2016-11-10rustc: unify and simplify managing associated items.Eduard Burtescu-10/+6
2016-11-08Replace FnvHasher use with FxHasher.Nicholas Nethercote-4/+4
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-11-01apply review feedback nitsNiko Matsakis-2/+1
- correct indentation - rename `from_cause` to `from_obligation_cause` - break up `compare_impl_method` into fns - delete some blank lines and correct comment
2016-11-01elaborate `T: 'a` dependenciesNiko Matsakis-20/+58