Cristi Cobzarenco
4b308b44e1
typos: fix a grabbag of typos all over the place
2015-10-08 19:49:31 +01:00
Ariel Ben-Yehuda
2ad5a61fe2
move traits structural impls to traits::structural_impls
2015-09-14 12:55:51 +03:00
Niko Matsakis
e91bef2e05
fallout from moving def-id
2015-08-24 05:35:34 -04:00
Niko Matsakis
b1963154a1
Add two new kinds of predicates, WellFormed and ObjectSafe.
2015-08-12 17:57:57 -04:00
Eduard Burtescu
536e71b78f
rustc: compute the vtable base of a supertrait during selection. Fixes #26339 .
2015-07-04 17:51:30 +03:00
Eduard Burtescu
70365ed911
rustc: simplify ty::MethodOrigin and avoid trait item indices.
2015-07-04 06:21:00 +03:00
Eduard Burtescu
ad66c215aa
rustc: switch most remaining middle::ty functions to methods.
2015-06-26 07:34:57 +03:00
Eduard Burtescu
6db5126240
rustc: make ty::mk_* constructors into methods on ty::ctxt.
2015-06-26 07:34:56 +03:00
Jared Roesch
44bccd8842
Rename AsPredicate to ToPredicate in order to match naming conventions
2015-06-25 17:29:20 -07:00
Eduard Burtescu
6eed1662af
Remove extra fmt::Debug impl for VtableClosureData from #26147 .
2015-06-19 01:45:20 +03:00
Eduard Burtescu
0b58fdf925
rustc: remove Repr and UserString.
2015-06-19 01:39:26 +03:00
Eduard Burtescu
dfbc9608ce
rustc: replace Repr/UserString impls with Debug/Display ones.
2015-06-19 01:36:20 +03:00
Eduard Burtescu
b510ea1487
Clean up unused argument/variable warnings.
2015-06-19 01:32:45 +03:00
Eduard Burtescu
a3727559c6
rustc: use the TLS type context in Repr and UserString.
2015-06-19 01:32:44 +03:00
Ariel Ben-Yehuda
21fd312043
Normalize associated types in closure signatures
...
Fixes #25700 .
2015-06-18 23:04:57 +03:00
Joshua Landau
d7f5fa4636
Conver reborrows to .iter() calls where appropriate
2015-06-11 13:56:07 +01:00
Joshua Landau
ca7418b846
Removed many pointless calls to *iter() and iter_mut()
2015-06-10 21:14:03 +01:00
Ariel Ben-Yehuda
4b116fe38c
Use a plain Vec instead of VecPerParamSpace in trait selection.
2015-06-04 00:19:18 +03:00
Nick Cameron
5d4cce6cec
Rebasing
2015-05-13 14:35:53 +12:00
Nick Cameron
843db01bd9
eddyb's changes for DST coercions
...
+ lots of rebasing
2015-05-13 14:19:51 +12:00
Ariel Ben-Yehuda
bd1f73420a
Stop using Rc in TraitRef and TraitDef
...
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-30 15:09:11 +03:00
Sean Patrick Santos
b5499775d6
Structural changes for associated constants
...
Introduces new variants and types in syntax::ast, middle::ty, and middle::def.
2015-04-23 21:02:25 -06:00
bors
03f563a0e0
Auto merge of #24109 - sanxiyn:diverging-closure, r=pnkfelix
...
Fix #23896 .
2015-04-12 04:33:40 +00:00
Niko Matsakis
8578fee5d8
Don't use skolemized parameters but rather fresh variables in
...
coherence. Skolemized parameters wind up preventing unification.
Surprised we had no test for this! Fixes #24241 .
2015-04-09 15:57:04 -04:00
Seo Sanghyeon
e78f6319dd
Fix diverging closures
2015-04-06 22:17:35 +09:00
Niko Matsakis
03d3ba7667
Implement the changes to coherence such that we consider a type to be
...
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-04-01 11:21:40 -04:00
Alex Crichton
28a6b16130
rollup merge of #23741 : alexcrichton/remove-int-uint
...
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-27 10:10:05 -07:00
Niko Matsakis
710af0498d
Refactor object-safety test to use def-ids only
2015-03-26 17:52:39 -04:00
Alex Crichton
43bfaa4a33
Mass rename uint/int to usize/isize
...
Now that support has been removed, all lingering use cases are renamed.
2015-03-26 12:10:22 -07:00
Niko Matsakis
8bd8466e81
Refactor how we handle overflow so that it is a fatal error that aborts
...
compilation: this removes all the ungainly code that special cases
overflow so that we can ensure it propagates.
2015-03-23 18:05:20 -04:00
Tamir Duberstein
d51047ded0
Strip all leading/trailing newlines
2015-03-15 09:08:21 -07:00
Niko Matsakis
9b332ff2c7
Address nits by @nrc.
2015-03-05 05:46:12 -05:00
Niko Matsakis
cd50b4e0b1
Generalize the code so we can handle multiple supertraits.
...
Fixes #10596 . Fixes #22279 .
2015-03-04 15:06:33 -05:00
Niko Matsakis
bc9ae36dba
Separate supertrait collection from processing a TraitDef
. This allows
...
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-04 15:06:33 -05:00
Niko Matsakis
4dfa81f6fa
Extract out the filter_to_traits
functionality
2015-03-04 15:05:52 -05:00
Niko Matsakis
ba1b5ee1d1
Simplify impl of Elaborator now that we don't need stack traces anymore.
2015-03-04 15:05:52 -05:00
Flavio Percoco
b7f9d07f4c
Normalize types before collecting obligations
...
Fixes #22828
Fixes #22629
2015-02-27 14:39:48 +01:00
Flavio Percoco
f0e9bd9099
address nits
2015-02-22 02:14:25 +01:00
Flavio Percoco
d38aab397e
Rename DefTrait to DefaultImpl
2015-02-22 02:14:25 +01:00
Flavio Percoco
4b09209efe
Ensure default trait impls hold
2015-02-22 02:14:25 +01:00
Flavio Percoco
a962d47ef8
look for default trait candidates
2015-02-22 02:14:24 +01:00
Niko Matsakis
3e88b5bbf9
Rote changes to fix fallout throughout the compiler from splitting the
...
predicates and renaming some things.
2015-02-12 13:29:51 -05:00
Manish Goregaokar
703364f214
Rollup merge of #21968 - nikomatsakis:issue-21965-duplicate-preds-in-env, 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-06 16:21:13 +05:30
Niko Matsakis
8d9bb17204
Extend the solution to encompass HRTB
2015-02-05 15:50:34 -05:00
Jorge Aparicio
17bc7d8d5b
cleanup: replace as[_mut]_slice()
calls with deref coercions
2015-02-05 13:45:01 -05:00
Niko Matsakis
be8d9bb98a
When elaborating predicates, purge duplicates from the initial vector.
...
Fixes #21965 .
2015-02-05 11:48:44 -05:00
Jorge Aparicio
d5d7e6565a
for x in xs.iter()
-> for x in &xs
2015-02-02 13:40:18 -05:00
Niko Matsakis
006f3eacae
Fix a latent bug in trait dispatch where we sometimes counted associated types
...
when constructing the vtable-index. Not good.
2015-01-28 05:15:23 -05:00
Niko Matsakis
07cdb85331
Move return type an associated type of the Fn*
traits. Mostly this involves tweaking things in
...
the compiler that assumed two input types to assume two ouputs; we also have to teach `project.rs`
to project `Output` from the unboxed closure and fn traits.
2015-01-28 05:15:23 -05:00
Eduard Burtescu
11ef6f1349
Remove "unboxed" attribute in code referring to new closures.
2015-01-26 04:15:09 +02:00