about summary refs log tree commit diff
path: root/src/librustc/middle/traits/util.rs
AgeCommit message (Collapse)AuthorLines
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-508/+0
2016-03-27rustc: move middle::subst into middle::ty.Eduard Burtescu-1/+1
2016-03-22try! -> ?Jorge Aparicio-1/+1
Automated conversion using the untry tool [1] and the following command: ``` $ find -name '*.rs' -type f | xargs untry ``` at the root of the Rust repo. [1]: https://github.com/japaric/untry
2016-03-14Initial incorporation of specialization:Aaron Turon-1/+0
- Rewrites the overlap checker to instead build up a specialization graph, checking for overlap errors in the process. - Use the specialization order during impl selection. This commit does not yet handle associated types correctly, and assumes that all items are `default` and are overridden.
2016-03-14Refactor `impl_trait_ref_and_oblig`, making it generally available as a utilityAaron Turon-2/+34
2016-03-03Rename middle::ty::ctxt to TyCtxtJeffrey Seyfried-18/+18
2015-10-08typos: fix a grabbag of typos all over the placeCristi Cobzarenco-1/+1
2015-09-14move traits structural impls to traits::structural_implsAriel Ben-Yehuda-109/+2
2015-08-24fallout from moving def-idNiko Matsakis-12/+12
2015-08-12Add two new kinds of predicates, WellFormed and ObjectSafe.Niko Matsakis-1/+21
2015-07-04rustc: compute the vtable base of a supertrait during selection. Fixes #26339.Eduard Burtescu-35/+32
2015-07-04rustc: simplify ty::MethodOrigin and avoid trait item indices.Eduard Burtescu-14/+17
2015-06-26rustc: switch most remaining middle::ty functions to methods.Eduard Burtescu-10/+10
2015-06-26rustc: make ty::mk_* constructors into methods on ty::ctxt.Eduard Burtescu-2/+2
2015-06-25Rename AsPredicate to ToPredicate in order to match naming conventionsJared Roesch-4/+4
2015-06-19Remove extra fmt::Debug impl for VtableClosureData from #26147.Eduard Burtescu-6/+0
2015-06-19rustc: remove Repr and UserString.Eduard Burtescu-5/+4
2015-06-19rustc: replace Repr/UserString impls with Debug/Display ones.Eduard Burtescu-95/+43
2015-06-19Clean up unused argument/variable warnings.Eduard Burtescu-2/+1
2015-06-19rustc: use the TLS type context in Repr and UserString.Eduard Burtescu-51/+51
2015-06-18Normalize associated types in closure signaturesAriel Ben-Yehuda-4/+17
Fixes #25700.
2015-06-11Conver reborrows to .iter() calls where appropriateJoshua Landau-1/+1
2015-06-10Removed many pointless calls to *iter() and iter_mut()Joshua Landau-1/+1
2015-06-04Use a plain Vec instead of VecPerParamSpace in trait selection.Ariel Ben-Yehuda-4/+4
2015-05-13RebasingNick Cameron-1/+1
2015-05-13eddyb's changes for DST coercionsNick Cameron-8/+13
+ lots of rebasing
2015-04-30Stop using Rc in TraitRef and TraitDefAriel Ben-Yehuda-10/+9
The former stopped making sense when we started interning substs and made TraitRef a 2-word copy type, and I'm moving the latter into an arena as they live as long as the type context.
2015-04-23Structural changes for associated constantsSean Patrick Santos-3/+3
Introduces new variants and types in syntax::ast, middle::ty, and middle::def.
2015-04-12Auto merge of #24109 - sanxiyn:diverging-closure, r=pnkfelixbors-1/+1
Fix #23896.
2015-04-09Don't use skolemized parameters but rather fresh variables inNiko Matsakis-29/+0
coherence. Skolemized parameters wind up preventing unification. Surprised we had no test for this! Fixes #24241.
2015-04-06Fix diverging closuresSeo Sanghyeon-1/+1
2015-04-01Implement the changes to coherence such that we consider a type to beNiko Matsakis-5/+33
local only if matches `FUNDAMENTAL(LocalType)`, where `FUNDAMENTAL` includes `&T` and types marked as fundamental (which includes `Box`). Also apply these tests to negative reasoning.
2015-03-27rollup merge of #23741: alexcrichton/remove-int-uintAlex Crichton-5/+5
Conflicts: src/librustc/middle/ty.rs src/librustc_trans/trans/adt.rs src/librustc_typeck/check/mod.rs src/libserialize/json.rs src/test/run-pass/spawn-fn.rs
2015-03-26Refactor object-safety test to use def-ids onlyNiko Matsakis-0/+41
2015-03-26Mass rename uint/int to usize/isizeAlex Crichton-5/+5
Now that support has been removed, all lingering use cases are renamed.
2015-03-23Refactor how we handle overflow so that it is a fatal error that abortsNiko Matsakis-3/+0
compilation: this removes all the ungainly code that special cases overflow so that we can ensure it propagates.
2015-03-15Strip all leading/trailing newlinesTamir Duberstein-2/+0
2015-03-05Address nits by @nrc.Niko Matsakis-8/+8
2015-03-04Generalize the code so we can handle multiple supertraits.Niko Matsakis-9/+5
Fixes #10596. Fixes #22279.
2015-03-04Separate supertrait collection from processing a `TraitDef`. This allowsNiko Matsakis-3/+11
us to construct trait-references and do other things without forcing a full evaluation of the supertraits. One downside of this scheme is that we must invoke `ensure_super_predicates` before using any construct that might require knowing about the super-predicates.
2015-03-04Extract out the `filter_to_traits` functionalityNiko Matsakis-9/+22
2015-03-04Simplify impl of Elaborator now that we don't need stack traces anymore.Niko Matsakis-44/+12
2015-02-27Normalize types before collecting obligationsFlavio Percoco-1/+1
Fixes #22828 Fixes #22629
2015-02-22address nitsFlavio Percoco-3/+3
2015-02-22Rename DefTrait to DefaultImplFlavio Percoco-4/+4
2015-02-22Ensure default trait impls holdFlavio Percoco-7/+40
2015-02-22look for default trait candidatesFlavio Percoco-0/+3
2015-02-12Rote changes to fix fallout throughout the compiler from splitting theNiko Matsakis-1/+1
predicates and renaming some things.
2015-02-06Rollup merge of #21968 - nikomatsakis:issue-21965-duplicate-preds-in-env, ↵Manish Goregaokar-9/+47
r=pnkfelix We were already building a hashset to check for duplicates, but we assumed that the initial vector had no duplicates. Fixes #21965. r? @pnkfelix
2015-02-05Extend the solution to encompass HRTBNiko Matsakis-4/+45