Jorge Aparicio
4c6e76b7c8
libtime: use #[deriving(Copy)]
2014-12-19 10:51:01 -05:00
Jorge Aparicio
ce92437769
libtest: use #[deriving(Copy)]
2014-12-19 10:51:01 -05:00
Jorge Aparicio
64234b3541
libterm: use #[deriving(Copy)]
2014-12-19 10:51:01 -05:00
Jorge Aparicio
86f8c127dd
libsyntax: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
a77e8a63d5
libstd: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
2df30a47e2
libserialize: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
1d25271e05
librustrt: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
4c007568bf
librustdoc: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
fa0383f38d
librustc_typeck: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
5e2bca9e86
librustc_trans: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
463475b7fa
librustc_llvm: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
db45be2616
librustc_driver: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
392ea799b8
librustc_borrowck: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
e64a0072d6
librustc: use #[deriving(Copy)]
2014-12-19 10:51:00 -05:00
Jorge Aparicio
f2ef2cda52
libregex: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
fd4a5d9ef1
librbml: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
a18d090c3c
librand: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
e0a88a78da
liblog: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
c407785ac0
libgetopts: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
4c62c76ef9
libfmt_macros: use #[deriving(Copy)]
2014-12-19 10:43:24 -05:00
Jorge Aparicio
30cefcbdfd
libcore: use #[deriving(Copy)]
2014-12-19 10:43:23 -05:00
Jorge Aparicio
c32a48293a
libcollections: use #[deriving(Copy)]
2014-12-19 10:43:23 -05:00
Clark Gaebel
525f65ebbf
Add RingBuf::as_slices as per collections reform v2.
...
See: https://github.com/rust-lang/rfcs/pull/509
Not sure if this is allowed to land before the RFC. Either way,
it's here for review.
r? @Gankro
cc: @bfops
2014-12-19 09:41:30 -05:00
Valerii Hiora
e5d8c85507
iOS: fallout of runtime removal
2014-12-19 16:34:01 +02:00
Mathieu Poumeyrol
8920181052
ack parser.parse_ty change in quote_ty! (+ test)
2014-12-19 15:25:02 +01:00
Bheesham Persaud
611ef49f2f
Took out all of the metrics stuff from tests.mk
...
References rust-lang/rust/#19145
modified: src/llvm (new commits)
2014-12-19 08:57:15 -05:00
Michael Woerister
87c5927b79
debuginfo: Add test case for destructured for-loop variable.
2014-12-19 14:46:42 +01:00
bors
bd90b936d7
auto merge of #19884 : nikomatsakis/rust/issue-19730-perfect-forwarding, r=pnkfelix
...
Rewrite how the HRTB algorithm matches impls against obligations. Instead of impls providing higher-ranked trait-references, impls now once again only have early-bound regions. The skolemization checks are thus moved out into trait matching itself. This allows to implement "perfect forwarding" impls like those described in #19730 . This PR builds on a previous PR that was already reviewed by @pnkfelix.
r? @pnkfelix
Fixes #19730
2014-12-19 13:22:10 +00:00
Michael Woerister
34a6fcf195
debuginfo: Clean the debuginfo module up a bit.
2014-12-19 12:07:17 +01:00
Philip Munksgaard
3bb91aa28f
Add a check for uninferred type parameter
...
This fixes #19978 . The bug was introduced by 570325d
, where if the type
of an Fn has not been inferred (strs[0] is "_") we slice from 1 to
0. We now explicitly check if `strs[0]` is a single element tuple.
2014-12-19 11:06:38 +01:00
Kevin Ballard
14a5992ef6
Allow marker types to have unsized parameters
...
Tweak CovariantType, ContravariantType, and InvariantType to allow their
type parameter to be unsized.
2014-12-19 01:12:57 -08:00
Michael Woerister
b048114718
debuginfo: Create debuginfo for for-loop variables again.
2014-12-19 09:48:28 +01:00
Niko Matsakis
ebf1e4f23a
Three random test cases that seem to produce more errors now. I've
...
not dug deeply into what is going on here, although the errors ARE
somewhat surprising.
2014-12-19 03:29:59 -05:00
Niko Matsakis
a04ce71172
Modify the Bytes
type so that it remains cloneable even
...
though it includes a `fn()`. This is really a more general
problem but I wanted to ensures that `bytes` in particular
remains working due to #12677 .
2014-12-19 03:29:59 -05:00
Niko Matsakis
89922e52b0
Correct comment on Binder.
2014-12-19 03:29:59 -05:00
Niko Matsakis
1085012cd2
Kill some warnings about shadowed lifetimes
2014-12-19 03:29:59 -05:00
Niko Matsakis
d4f8a5abc5
Work around #19982 by rewriting test impls to not use anonymous
...
lifetimes. This currently causes an ICE; it should (ideally) work, but
failing that at least give a structured error. For the purposes of
this PR, though, workaround is fine.
2014-12-19 03:29:59 -05:00
Niko Matsakis
aa20e2ff36
Document new algorithm at a high-level.
2014-12-19 03:29:31 -05:00
Niko Matsakis
0b88c5d392
Remove text on method matching, which is now out of date.
2014-12-19 03:29:31 -05:00
Niko Matsakis
dab6e70e03
Convert gigantic comment away from //!
form. It is annoying to
...
read (`//!` is intrusive) and annoying to edit (must maintain a prefix
on every line). Since the only purpose of a `doc.rs` file is to have a
bunch of text, using `/*!` and `*/` without indentations seems
appropriate.
2014-12-19 03:29:31 -05:00
Niko Matsakis
f45c0ef51e
Implement "perfect forwarding" for HR impls ( #19730 ).
2014-12-19 03:29:31 -05:00
Niko Matsakis
c2ca1a4b62
Make all predicates higher-ranked, not just trait references.
2014-12-19 03:29:30 -05:00
Niko Matsakis
4f34524fcb
Move leak_check
into its own method, and ensure that all higher-ranked code is in
...
`higher_ranked.rs`.
2014-12-19 03:29:30 -05:00
Niko Matsakis
1205fd88df
Centralize on using Binder
to introduce new binding levels, rather than having FnSig carry an implicit binding level. This means that we be more typesafe in general, since things that instantiate bound regions can drop the Binder to reflect that.
2014-12-19 03:29:30 -05:00
Niko Matsakis
ed4952ef39
Add (currently unused) helper routine for skolemizing bound regions.
2014-12-19 03:29:30 -05:00
Niko Matsakis
416e62924e
Rename the code that replaces unbound variables to "freshen" rather than "skolemize" -- strictly speaking, this is not skolemization, because it is not discharging quantifiers. Also, the trait selection code will still be doing true skolemization, so it would be a confusing overlap of names.
2014-12-19 03:29:30 -05:00
Niko Matsakis
3cf0fbeee9
Create distinct types for a PolyTraitRef (with bindings) and a normal TraitRef.
2014-12-19 03:29:30 -05:00
Niko Matsakis
b3dcb85404
Fix a bug in the opt-in-copy work: it was failing to liberate the regions bound in the impl before searching for Copy
implements for all fields, leading to problems in the "copyability check". Basically the copyability check would wind up looking for an impl of for<'tcx> Foo<&'tcx T>
. The impl that exists however is impl<T> Copy for Foo<T>
and the current rules do not consider that a match (something I would like to revise in a later PR).
2014-12-19 03:29:30 -05:00
Niko Matsakis
1b24602ca0
Extract leak check into a distinct subroutine.
2014-12-19 03:29:30 -05:00
Niko Matsakis
885f7ee12e
Extract skolemize_regions() helper function.
2014-12-19 03:29:30 -05:00