summary refs log tree commit diff
path: root/src/librustc/traits/specialize
AgeCommit message (Collapse)AuthorLines
2016-05-17introduce a specializes cacheNiko Matsakis-2/+30
This query is frequently used during trait selection and caching the result can be a reasonable performance win.
2016-05-11rustc: Split local type contexts interners from the global one.Eduard Burtescu-5/+11
2016-05-11rustc: More interning for data used in Ty<'tcx>.Eduard Burtescu-2/+2
2016-05-11rustc: Generalize a minimum set of functions over 'tcx != 'gcx.Eduard Burtescu-22/+23
2016-05-11rustc: Wrap users of InferCtxt in an anonymous scope.Eduard Burtescu-52/+67
2016-05-11rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.Eduard Burtescu-16/+23
2016-05-11rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.Eduard Burtescu-23/+23
2016-05-11rustc: Avoid free functions taking &TyCtxt and &InferCtxt.Eduard Burtescu-7/+6
2016-05-11infer: Use methods for creating an InferCtxt.Eduard Burtescu-3/+3
2016-04-12Remove unused trait importsSeo Sanghyeon-2/+0
2016-04-07Rollup merge of #32748 - aturon:simplified-spec, r=nikomatsakisManish Goregaokar-56/+149
Reinstate fast_reject for overlap checking The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499 r? @nikomatsakis
2016-04-06rustc: move middle::{def,def_id,pat_util} to hir.Eduard Burtescu-2/+2
2016-04-05Reinstate fast_reject for overlap checkingAaron Turon-56/+149
The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499
2016-03-31librustc: replace panic!() with bug!()Benjamin Herr-2/+2
2016-03-31librustc: replace tcx.sess.bug calls with bug!()Benjamin Herr-4/+2
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-0/+614