bors
73597a5bd5
auto merge of #6657 : sanxiyn/rust/allocation, r=thestinger
2013-05-21 11:40:41 -07:00
Seo Sanghyeon
743e4b044c
Use static strings
2013-05-22 02:48:56 +09:00
bors
64963d6cba
auto merge of #6611 : huonw/rust/syntax-ext-no-dup, r=jbclements
...
Fixes https://github.com/mozilla/rust/issues/6578 by merging the 3 different ways to build an AST into a single `AstBuilder` trait, creating a more uniform and briefer interface.
Also, converts the `ext_ctxt` trait-object to be a plain struct, as well as renaming it to `ExtCtxt`.
Seems to make expansion slightly faster for the normal case (e.g. `libcore` and `libstd`), but slower for `librustc` (slightly) and `libsyntax` (0.3s -> 0.8s! I'm investigating this, but I'd prefer this patch to land relatively quickly.).
`git blame` suggests maybe @graydon or @erickt are familiar with this area of the code. r?
2013-05-21 10:43:17 -07:00
Seo Sanghyeon
6b525ecbda
Take string slices
2013-05-22 02:32:29 +09:00
Huon Wilson
a59bec43e3
syntax/ext: convert all AstBuilder methods to a uniform syntax.
2013-05-22 00:30:52 +10:00
Huon Wilson
6e50515530
syntax/ext: migrate build.rs functions to AstBuilder methods.
2013-05-22 00:15:36 +10:00
Seo Sanghyeon
70222b7e86
Remove unnecessary allocations flagged by lint from fuzzer
2013-05-21 23:05:45 +09:00
Huon Wilson
8c15a0ec4c
syntax/ext: collect the ast building traits into a single trait.
2013-05-22 00:04:10 +10:00
Huon Wilson
4045da9f4f
syntax/ext: modernise ext_ctxt to be CamelCase and use new.
2013-05-22 00:04:10 +10:00
Huon Wilson
eea265ea16
syntax/ext: Remove the trait-object indirection of the ext_ctxt object.
2013-05-22 00:02:37 +10:00
Seo Sanghyeon
d4724c1a17
Remove unnecessary allocations flagged by lint from rustpkg
2013-05-21 23:00:34 +09:00
Seo Sanghyeon
d543354d6c
Remove unnecessary allocations flagged by lint from rustdoc
2013-05-21 22:55:07 +09:00
Huon Wilson
8e9eba8013
syntax/ext: remove the ~str dependence of the deriving code.
2013-05-21 23:33:58 +10:00
bors
808aada1fb
auto merge of #6654 : sanxiyn/rust/accurate-span-2, r=bstrie
2013-05-21 05:37:17 -07:00
Seo Sanghyeon
258d20ea84
Correct span for unused_import
2013-05-21 19:09:22 +09:00
Seo Sanghyeon
9390cdaa8b
Correct span for expr_vec
2013-05-21 19:08:34 +09:00
bors
dc7b83d186
auto merge of #6650 : crabtw/rust/mips-rt, r=sanxiyn
...
Results of libcore and libstd tests
```
failures:
rand::tests::test_rng_seeded_custom_seed2
time::tests::run_tests
uv_ll::test::test_uv_ll_struct_size_addrinfo
uv_ll::test::test_uv_ll_struct_size_uv_timer_t
segfaults:
stackwalk::test_simple
stackwalk::test_simple_deep
```
2013-05-21 03:01:17 -07:00
bors
329d8e2622
auto merge of #6648 : alexcrichton/rust/issue-6633, r=graydon
...
Resolves #6633 and removes an unnecessary import in libcore
2013-05-21 01:04:16 -07:00
bors
5a3e320514
auto merge of #6647 : alexcrichton/rust/unnecessary-alloc, r=graydon
...
This adds a lint mode for detecting unnecessary allocations on the heap. This isn't super fancy, currently it only has two rules
1. For a function's arguments, if you allocate a `[~|@]str` literal, when the type of the argument is a `&str`, emit a warning.
2. For the same case, emit warnings for boxed vectors when slices are required.
After adding the lint, I rampaged through the libraries and removed all the unnecessary allocations I could find.
2013-05-20 23:55:20 -07:00
bors
d49a9dbc7f
auto merge of #6646 : dotdash/rust/method_lookup, r=brson
2013-05-20 22:52:22 -07:00
bors
7abcc142e5
auto merge of #6626 : brson/rust/io-upstream, r=graydon
...
r?
Mostly refactoring, and adding some of the remaining types described in #4419 .
The [`Local`](3b4ff41511/src/libcore/rt/local.rs (L17)
) trait collects some common, often unsafe patterns around task-local and thread-local values. Making all these types safe is largely the aim of #6210 .
2013-05-20 21:40:27 -07:00
Jyun-Yan You
d86a32bbb2
fix mips stack alignment
2013-05-21 11:58:30 +08:00
bors
adaae45c3e
auto merge of #6604 : bjz/rust/ptr-to-option, r=brson
2013-05-20 20:31:26 -07:00
bors
6c0a4693c9
auto merge of #6649 : brson/rust/atomic-load-align, r=graydon
2013-05-20 19:25:29 -07:00
bors
32e30aaa00
auto merge of #6576 : nikomatsakis/rust/issue-5362-tuple-indices, r=graydon
...
r? @pcwalton
2013-05-20 18:04:39 -07:00
Brian Anderson
474d9983be
rustllvm: Use target alignment for atomic load/store
2013-05-20 17:28:06 -07:00
bors
24609675eb
auto merge of #6528 : brson/rust/docs, r=brson
...
Remove the uncommon term 'object tree' in favor of 'value'.
2013-05-20 16:55:36 -07:00
bors
6d4845668f
auto merge of #6372 : brson/rust/intrinsics, r=catamorphism
...
...s
2013-05-20 15:49:45 -07:00
Brian Anderson
a246e8faf3
core::rt: Convert unsafe_borrow_io to a Local impl
2013-05-20 15:21:29 -07:00
Brian Anderson
2042696236
core::rt: Implement Local for Task
2013-05-20 15:21:29 -07:00
Brian Anderson
2f99fb8efa
core::rt: Remove local_sched module
2013-05-20 15:21:29 -07:00
Brian Anderson
06f1a64bd6
core::rt: Convert users of local_sched to Local trait
2013-05-20 15:21:09 -07:00
Brian Anderson
18fab45aab
core::rt: Make local_sched a wrapper around Local
2013-05-20 15:20:50 -07:00
Brian Anderson
71aa6b6631
core::rt: Move more TLS functionality into local_ptr
2013-05-20 15:20:50 -07:00
Brian Anderson
97c2fd1a96
core::rt: Move some TLS functions from local_sched to local_ptr
2013-05-20 15:20:50 -07:00
Brian Anderson
86ba457349
rt: Rename rust_initialize_global_state to rust_initialize_rt_tls_key
2013-05-20 15:20:50 -07:00
Brian Anderson
f59fcd5d5f
core::rt: Store Task as a ~ pointer
2013-05-20 15:20:50 -07:00
Brian Anderson
43c6f32ece
core::rt: Add Local trait
2013-05-20 15:20:50 -07:00
Brian Anderson
b0722c55f8
core:rt:: Rename LocalServices to Task
2013-05-20 15:20:49 -07:00
Brian Anderson
fa18a861fb
core::rt: Queues MessageQueue and WorkQueue are cloneable
2013-05-20 15:20:49 -07:00
Brian Anderson
d2a1378ed8
core::rt: Add MessageQueue type
...
This is the queue used to send messages to Schedulers
2013-05-20 15:20:49 -07:00
Brian Anderson
ee06ed2bfd
core::rt: Put a lock on the work queue
2013-05-20 15:20:49 -07:00
Brian Anderson
f03c9bd08c
core::rt: Rename WorkQueue methods, remove extra push method
2013-05-20 15:20:49 -07:00
Brian Anderson
7ffd523354
core: Update clone docs
2013-05-20 15:19:35 -07:00
bors
54eafc009d
auto merge of #6639 : osaut/rust/arc-clean, r=brson
...
* Add ARC::get method and implements the function from it.
* Add an example showing a simple use of ARC.
Update PR #6622 to avoid git noise.
I will remove the function get later.
2013-05-20 14:46:45 -07:00
Brian Anderson
7bd4217766
Replace all uses of rust-intrinsic ABI with calls to unstable::intrinsics
2013-05-20 14:41:56 -07:00
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
Alex Crichton
074799b4c5
Implement a lint mode to detect unnecessary allocations
2013-05-20 16:08:50 -05:00
bors
26babaafcd
auto merge of #6559 : jbclements/rust/hygiene-fns-and-cleanup, r=jbclements
...
This includes new, tested, hygiene support functions. It also removes the interner_key! macro and replaces it with a function, which should be inline-able. It also contains some parser patch-ups and some docfixes.
On my machine, this patch passes all tests.
2013-05-20 12:04:47 -07:00
John Clements
b71a1ecea2
added and rewrote text for 'do' and 'for' loops
2013-05-20 11:49:21 -07:00