33494 Commits

Author SHA1 Message Date
bors
d1bfd6515c auto merge of : gamazeps/rust/issue18218, r=steveklabnik
Closes 
2014-10-28 14:36:54 +00:00
bors
58dc0a05ab auto merge of : nikomatsakis/rust/issue-18208, r=pnkfelix
Avoid O(n^2) performance by reconsidering the full set of obligations only when we are about to report an error (). I found it is still important to consider the full set in order to make tests like `let x: Vec<_> = obligations.iter().collect()` work.

I think we lack the infrastructure to write a regression test for this, but when I did manual testing I found a massive reduction in type-checking time for extreme examples like those found in  vs stage0.

f? @dotdash
2014-10-28 12:26:50 +00:00
Niko Matsakis
1da73ff126 Avoid O(n^2) performance by reconsidering the full set of obligations only when we are about to report an error (). I found it is still important to consider the full set in order to make tests like let x: Vec<_> = obligations.iter().collect() work. 2014-10-28 08:18:21 -04:00
bors
9a778bc550 auto merge of : areski/rust/pr-fix-vec-doc-example, r=alexcrichton
- shrink_to_fit example is now more clear by asserting the capacity value
- annotation [0, mid) changed for [0, mid]
2014-10-28 10:11:51 +00:00
bors
faed6489da auto merge of : alexcrichton/rust/deriving-arc, r=aturon
This adds impls of Eq/Ord/PartialEq/PartialOrd/Show/Default to Arc<T>, and it
also removes the `Send + Sync` bound on the `Clone` impl of Arc to make it more
deriving-friendly. The `Send + Sync` requirement is still enforce on
construction, of course!
2014-10-28 08:01:52 +00:00
bors
3f37e2efac auto merge of : jmesmon/rust/platform-generic, r=alexcrichton
The goal here is to make it easier to add new platform definitions,
especially when the additions are programmatic (ie: in build scripts).
2014-10-28 05:46:53 +00:00
Alex Crichton
35ad00d2ec alloc: Make deriving more friendly with Arc
This adds impls of Eq/Ord/PartialEq/PartialOrd/Show/Default to Arc<T>, and it
also removes the `Send + Sync` bound on the `Clone` impl of Arc to make it more
deriving-friendly. The `Send + Sync` requirement is still enforce on
construction, of course!
2014-10-27 22:45:44 -07:00
bors
823f805453 auto merge of : bkoropoff/rust/mighty-monomorphizin-unboxed-closures, r=nikomatsakis
This allows unboxed closures that reference free type/region parameters to be monomorphized correctly in trans.

It was necessary to make `ty_unboxed_closure` carry around a `Substs` to accomplish this.  Plumbing this through typeck revealed several areas where type/region parameters in unboxed closure types are possibly not being handled correctly.  Since my goal was just to fix trans, I decided to leave FIXME comments on areas that still need attention and seek feedback on the best way to clean them up, possibly as a follow-up PR.

Closes 
2014-10-28 03:26:52 +00:00
Brian Koropoff
e46af8caec Add regression test for issue 2014-10-27 18:51:43 -07:00
Brian Koropoff
f0cc3a9365 Fix monomorphization of unboxed closures
This adds a `Substs` field to `ty_unboxed_closure` and plumbs basic
handling of it throughout the compiler. trans now correctly
monomorphizes captured free variables and llvm function defs.  This
fixes uses of unboxed closures which reference a free type or region
parameter from their environment in either their signature or free
variables.  Closes 
2014-10-27 18:51:27 -07:00
bors
bd7138dd69 auto merge of : alexcrichton/rust/rollup, r=alexcrichton 2014-10-27 23:02:55 +00:00
Alex Crichton
4dc06dceb2 rollup merge of : alexcrichton/snapshots 2014-10-27 15:12:48 -07:00
Alex Crichton
a33d7617c5 Test fixes and rebase conflicts from rollup 2014-10-27 15:12:48 -07:00
Alex Crichton
40811f84ef rollup merge of : csherratt/arc-encodable 2014-10-27 15:12:48 -07:00
Alex Crichton
6e9d5a6d9d rollup merge of : aochagavia/ascii 2014-10-27 15:12:48 -07:00
Alex Crichton
c5cc27f9a2 rollup merge of : cakebaker/missing_a 2014-10-27 15:12:48 -07:00
Alex Crichton
20b9897c58 rollup merge of : kevinmehall/pprint-struct-pat-shorthand 2014-10-27 15:12:47 -07:00
Alex Crichton
c381752b0e rollup merge of : jakub-/const-pattern-suptype 2014-10-27 15:12:47 -07:00
Alex Crichton
a1d719dad4 rollup merge of : cakebaker/ffi 2014-10-27 15:12:47 -07:00
Alex Crichton
15547e1d72 rollup merge of : aochagavia/closure-fields 2014-10-27 15:12:47 -07:00
Alex Crichton
cfeff3e1c7 rollup merge of : aochagavia/show-arc 2014-10-27 15:12:47 -07:00
Alex Crichton
1cc938a69a rollup merge of : bkoropoff/unboxed-imm-upvar-fixes 2014-10-27 15:12:45 -07:00
Alex Crichton
175d6a7435 rollup merge of : jbcrail/fix-comments 2014-10-27 15:12:30 -07:00
Alex Crichton
287df9e0eb rollup merge of : sfackler/memwriter-clear 2014-10-27 15:12:30 -07:00
Alex Crichton
ed7f4a8da4 rollup merge of : vadimcn/17982 2014-10-27 15:12:30 -07:00
Alex Crichton
650214b170 rollup merge of : sfackler/cfg-final 2014-10-27 15:12:30 -07:00
Alex Crichton
f1118cc084 rollup merge of : jakub-/eneedstest 2014-10-27 15:12:30 -07:00
Alex Crichton
dac3234bba rollup merge of : chastell/guide_refresh_testing_output 2014-10-27 15:12:29 -07:00
Alex Crichton
54647bd317 rollup merge of : chastell/guide_simplify_formatting 2014-10-27 15:12:29 -07:00
Alex Crichton
9dc9eccf3d rollup merge of : thestinger/raw 2014-10-27 15:12:29 -07:00
Alex Crichton
abfc2f3b8d rollup merge of : arielb1/constexpr-addr 2014-10-27 15:12:29 -07:00
Alex Crichton
0c736c7b1d rollup merge of : cakebaker/fix_off_by_one 2014-10-27 15:12:29 -07:00
areski
a446b68380 Add @thestinger comment explaining that shrink_to_fit might drop down as close as possible but not to the minimun 2014-10-27 22:32:53 +01:00
Alex Crichton
ee32c04d60 rollup merge of : cgaebel/make-vec-match-slice 2014-10-27 12:53:02 -07:00
Alex Crichton
dea37d73ca rollup merge of : nick29581/vtable2.rs 2014-10-27 12:53:02 -07:00
Alex Crichton
dc5a18c6e0 rollup merge of : jakub-/mailmap 2014-10-27 12:53:02 -07:00
Alex Crichton
ecdb19cc98 rollup merge of : globin/master 2014-10-27 12:53:02 -07:00
Alex Crichton
2f8ee08f66 rollup merge of : SimonSapin/view_item_to_string 2014-10-27 12:53:02 -07:00
Alex Crichton
6f65ad1a44 rollup merge of : steveklabnik/build_module_guide 2014-10-27 12:53:02 -07:00
Alex Crichton
e9537735c1 rollup merge of : dotdash/fix_aliasing 2014-10-27 12:53:01 -07:00
Alex Crichton
a6883d4054 rollup merge of : areski/pr-fix-string-doc 2014-10-27 12:53:01 -07:00
Alex Crichton
bb70ce6804 rollup merge of : msiemens/fix-ice-rename-failed 2014-10-27 12:53:01 -07:00
Alex Crichton
0c756de6c5 rollup merge of : nikomatsakis/issue-18209 2014-10-27 12:53:01 -07:00
Alex Crichton
da57aa57d4 rollup merge of : cakebaker/fix_greater_than_forty_two_closure 2014-10-27 12:53:01 -07:00
Alex Crichton
b3c676ed86 rollup merge of : bjz/ttdelim 2014-10-27 12:53:01 -07:00
Alex Crichton
83e91fb489 rollup merge of : jkleint/guide-boxes 2014-10-27 12:53:00 -07:00
bors
e05c3b7799 auto merge of : arielb1/rust/remaining-garbage, r=nikomatsakis
it seems to be some kind of leftover GC-related detritus
2014-10-27 16:57:46 +00:00
Ariel Ben-Yehuda
19faaf1a9e Remove cat_discr
it seems to be some kind of GC-related mess
2014-10-27 19:06:50 +02:00
Adolfo Ochagavía
2ce77b33b0 Add test for issue 18343 2014-10-27 16:28:24 +01:00
Adolfo Ochagavía
9dab88712f Show a note when closure field is called as method
Closes https://github.com/rust-lang/rust/issues/18343
2014-10-27 16:15:50 +01:00