Alex Crichton
47ef20014c
Shuffle around ownership in concurrent queues
...
Beforehand, using a concurrent queue always mandated that the "shared state" be
stored internally to the queues in order to provide a safe interface. This isn't
quite as flexible as one would want in some circumstances, so instead this
commit moves the queues to not containing the shared state.
The queues no longer have a "default useful safe" interface, but rather a
"default safe" interface (minus the useful part). The queues have to be shared
manually through an Arc or some other means. This allows them to be a little
more flexible at the cost of a usability hindrance.
I plan on using this new flexibility to upgrade a channel to a shared channel
seamlessly.
2014-02-11 16:32:00 -08:00
bors
a4a908eafd
auto merge of #11961 : niftynif/rust/btree, r=brson
...
I implemented an add method for the btree in progress. It is intended to be refactored later using an alternative to .clone() that passes the borrow checker, but for now, it works as intended. r? @catamorphism
2014-02-11 16:31:48 -08:00
Vadim Chugunov
b7651325eb
Build compiler-rt and link it to all crates, similarly to morestack.
2014-02-11 15:59:59 -08:00
bors
0ac6e5afda
auto merge of #12158 : nikomatsakis/rust/issue-6801-borrowck-closures, r=pcwalton
...
I factored the commits by affected files, for the most part. The last 7 or 8 contain the meat of the PR. The rest are small changes to closures found in the codebase. Maybe interesting to read to see some of the impact of the rules.
r? @pcwalton
Fixes #6801
2014-02-11 15:06:49 -08:00
Derek Guenther
0465fd7fae
Fixed fourcc example doc
2014-02-11 17:03:59 -06:00
WebeWizard
bed34ecd08
Added examples for converting vectors of u8 into strings. Also fixed some styling
2014-02-11 16:41:19 -06:00
Vadim Chugunov
5d12d84f45
Added compiler-rt submodule.
2014-02-11 13:58:25 -08:00
Niko Matsakis
484f0f11e6
Correct nits from @pcwalton
2014-02-11 16:55:25 -05:00
Niko Matsakis
c9e3cb678d
test -- add new tests specifically examining closure borrows
2014-02-11 16:55:25 -05:00
Niko Matsakis
3805c5416e
test -- update tests with new error messages
2014-02-11 16:55:25 -05:00
Niko Matsakis
1bd7b182c5
dataflow -- do not consider the interprocedural case
2014-02-11 16:55:25 -05:00
Niko Matsakis
6b8b751429
borrowck -- treak borrows from closures like other borrows
2014-02-11 16:55:25 -05:00
Niko Matsakis
db38192daf
mem_categorization -- parameterize over TYPER interface, treat upvar refs as
...
deref'd borrowed pointers
2014-02-11 16:55:24 -05:00
Niko Matsakis
d45dd2754e
regionck -- rewrite in terms of mem_categorization, compute upvar borrow kinds
2014-02-11 16:55:24 -05:00
Niko Matsakis
b1962a2b2e
add upvar_borrow_map to tcx and fcx in typeck
2014-02-11 16:55:24 -05:00
Niko Matsakis
807def022a
region -- Improve comments in region.rs
2014-02-11 16:55:24 -05:00
Niko Matsakis
844eab1940
librustuv -- fix unsafe sharing in rustuv
2014-02-11 16:55:24 -05:00
Niko Matsakis
56c5d4cec3
libsyntax -- fix unsafe sharing in closures
2014-02-11 16:55:24 -05:00
Niko Matsakis
c7560387af
libgetopts -- fix unsafe sharing in closures
2014-02-11 16:55:24 -05:00
Niko Matsakis
7ffa67ce92
front -- collapse iterator actions that require access to the same &mut state
2014-02-11 16:55:24 -05:00
Niko Matsakis
ec6d122826
libsyntax -- combine two iter ops into one so that fld
does not need to be mutably shared between them both
2014-02-11 16:55:24 -05:00
Niko Matsakis
e3ca1c2fca
str -- borrow fields of self for use in closure since self.iter is borrowed
2014-02-11 16:55:24 -05:00
Niko Matsakis
b0ac40a243
sha2 -- introduce locals to clarify which subportions are being borrowed
2014-02-11 16:55:24 -05:00
Niko Matsakis
8dff89c238
librustdoc -- move closure to clarify scope
2014-02-11 16:55:24 -05:00
Niko Matsakis
c9c8049cda
io -- introduce local to avoid conflicting borrow
2014-02-11 16:55:23 -05:00
Niko Matsakis
42cd820c62
ppaux -- add Repr implementations
2014-02-11 16:55:23 -05:00
Niko Matsakis
95c53c049c
back/link -- introduce block to clarify scope of closure
2014-02-11 16:55:23 -05:00
Niko Matsakis
8b760fd844
vec -- introduce local var to make clear what subportion is being borrowed
2014-02-11 16:55:23 -05:00
Niko Matsakis
7ba5bef86e
syntax/fold -- remove conflicting (and rather pointless) closures
2014-02-11 16:55:23 -05:00
Niko Matsakis
ca65c00ef2
syntax/ext/format -- rewrite conflicting closures into methods
2014-02-11 16:55:23 -05:00
Niko Matsakis
b2b4c79b17
resolve -- rewrite conflict closure into method
2014-02-11 16:55:23 -05:00
Niko Matsakis
949e1c7935
metadata -- remove tiny convenience closure that was causing conflicting mutable borrows
2014-02-11 16:55:23 -05:00
Niko Matsakis
7286e35c6b
error_reporting -- explain reborrowed upvar constraints in a hopefully useful way
2014-02-11 16:55:23 -05:00
Niko Matsakis
64c9b5c3ae
trans/datum -- move mutable variable into closure
2014-02-11 16:55:23 -05:00
Niko Matsakis
f7e5d8418c
ty -- minor refactorings, helper methods
2014-02-11 16:55:22 -05:00
Niko Matsakis
0e005ab848
to_str -- update to contain scope of closure
2014-02-11 16:55:22 -05:00
Niko Matsakis
0f5baad6ee
container -- update example to contain scope of closure borrow
2014-02-11 16:55:22 -05:00
Niko Matsakis
6f571a63a6
libglob -- patch closure where const borrow would have helped
2014-02-11 16:55:22 -05:00
Niko Matsakis
96139bf1d6
remove antiquated reflect test rather than bring it up to date
2014-02-11 16:55:22 -05:00
Niko Matsakis
852a49fd9c
std -- replaces uses where const borrows would be required
2014-02-11 16:55:10 -05:00
bors
2ab248af38
auto merge of #12183 : SimonSapin/rust/patch-4, r=alexcrichton
2014-02-11 13:51:41 -08:00
Nif Ward
184367093f
Includes new add method that uses .clone() for support.
...
Added new tests for bsearch methods and changed "add" to "insert"
Fixed failure on div_floor.
2014-02-11 15:59:33 -05:00
bors
be3cbcb431
auto merge of #12171 : chromatic/rust/fix_crate_tutorial_typos, r=brson
...
This commit attempts to clarify a section of the tutorial. It also fixes some typos.
2014-02-11 12:36:51 -08:00
Alex Crichton
314b02b373
Add ignore-cross-compile directive for compiletest
...
Loadable syntax extensions don't work when cross compiling (see #12102 ), so the
fourcc tests all need to be ignored. They're valuable tests, so they shouldn't
be outright ignored, so they're now flagged with ignore-cross-compile
2014-02-11 12:23:29 -08:00
bors
4c967e7041
auto merge of #12110 : fhahn/rust/issue-11363-change-xfail, r=alexcrichton
...
Patch for #11363
2014-02-11 09:37:18 -08:00
Florian Hahn
f62460c1f5
Change xfail
directives in compiletests to ignore
, closes #11363
2014-02-11 18:23:20 +01:00
Niko Matsakis
d63df5f276
Tweak test name and make it more specific
2014-02-11 11:38:42 -05:00
bors
616e53f038
auto merge of #12181 : sanxiyn/rust/accurate-span-4, r=alexcrichton
2014-02-11 08:22:22 -08:00
JeremyLetang
56ca5f837e
remove dead link to rustpkg documentation
2014-02-11 09:43:19 -05:00
Simon Sapin
de6ed9c0ce
Fix broken link to the container guide
2014-02-11 14:38:36 +00:00