Brian Anderson
547bf7c350
test: xfail-fast extern-crosscrate
2012-07-09 13:41:32 -07:00
Brian Anderson
aa232a5269
Merge pull request #2846 from gwillen/1c882842e06431767676887f97f9dcc0ee50a7b9
...
Add map::clear
2012-07-09 13:26:48 -07:00
Josh Matthews
a7f6e00944
Fix metadata serialization of foreign functions. Properly take the value of foreign functions from other crates to fix #1840 .
2012-07-09 13:13:49 -07:00
Patrick Walton
f3b50ae348
test: Remove failing parts of the failing test (requires intertwining of resolve and typechecking)
2012-07-09 12:55:00 -07:00
Patrick Walton
4d8113725d
rustc: Add some changes I missed
2012-07-09 11:05:48 -07:00
Ben Blum
8ffab392ab
change borrowck error msg: 'declared in outer block' -> 'captured in a closure' (properly this time)
2012-07-09 14:01:39 -04:00
Patrick Walton
e41029d236
rustc: Switch to the new resolution pass
2012-07-09 10:27:13 -07:00
Benjamin Herr
4ac7159536
core: New closure syntax for comm.rs/task.rs docs
2012-07-09 13:46:32 +02:00
Benjamin Herr
b91358458b
core: Formatting fix in documentation for task::unkillable
2012-07-09 05:02:05 +02:00
Benjamin Herr
cf4d5f4e4c
core: Give task::spawn_with the documentation from task::run_with
2012-07-09 05:02:05 +02:00
Benjamin Herr
97a76b8eec
core: Remove spurious newline in task::run_with documentation
2012-07-09 05:02:04 +02:00
Glenn Willen
1c882842e0
Add clear() to the map interface.
...
Add clear to the map interface, and implement it in hashmap and smallintmap.
2012-07-08 16:06:48 -07:00
Brian Anderson
5dd5a9ab89
core: Ignore to_str::test_vectors. It's busted
2012-07-08 00:50:46 -07:00
Ryan Scheel
69c2a9c26a
Add test attributes to test functions missing test attributes.
2012-07-08 00:42:23 -07:00
Brian Anderson
ea03315cf4
Revert "change borrowck error msg: 'declared in outer block' -> 'captured in a closure'"
...
This change requires some tests to be updated.
This reverts commit b5b8f5efcc
.
2012-07-08 00:07:15 -07:00
Brian Anderson
02ef651f95
Increase the difficulty of chameneos-redux under 'make perf'
2012-07-07 22:39:23 -07:00
Kevin Cantu
638ee23fcf
Add improvements suggested by erickt and bblum
2012-07-07 22:27:00 -07:00
Kevin Cantu
2bd482ef11
Add the Alioth chameneos-redux benchmark
...
This adds a Rust implementation of the Alioth chameneos-redux benchmark:
http://shootout.alioth.debian.org/u64q/performance.php?test=chameneosredux
This version already seems faster than Clojure, Ruby, and OCaml. I'm running
with N=6,000,000 in about 1m 50s. Further optimization would be good, though.
I'm talking right now with @eholk about how pipes could be used (this is 1:many)...
2012-07-07 22:27:00 -07:00
Niko Matsakis
a856bccdc6
Revert "rustc: Switch to the new resolution pass"
...
This reverts commit c4af6e92fb
.
Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Ben Blum
f9cb04f6fa
vim: hilight option, either, libc types+constants
2012-07-06 22:30:50 -04:00
Ben Blum
b5b8f5efcc
change borrowck error msg: 'declared in outer block' -> 'captured in a closure'
2012-07-06 22:30:50 -04:00
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -07:00
Graydon Hoare
6b8ebc12db
First step on #2826 , accept ^ for ty_ptr.
2012-07-06 16:03:51 -07:00
Michael Sullivan
23c73360ca
Fix the indenter script to know about the annoying ~ in the front of log strings.
2012-07-06 15:55:56 -07:00
Michael Sullivan
038f925586
Be less eager about implicit borrowing when doing method resolution. Closes #2796 .
2012-07-06 15:55:18 -07:00
Graydon Hoare
ceac155211
For #2229 , recognize 'again' in place of 'cont', final change pending snapshot.
2012-07-06 15:46:39 -07:00
Eric Holk
e20f63d095
Bank protocol example from blog post
2012-07-06 15:25:06 -07:00
Eric Holk
b925648ac7
Added a k-nucleotide version that uses pipes. 31% speedup.
2012-07-06 15:16:16 -07:00
Michael Sullivan
9e6b43fb33
Rip out a bunch more append code from trans.
2012-07-06 15:04:57 -07:00
Michael Sullivan
702f0cd734
Rename dvec::from_elt to dvec::from_elem. Closes #2792 .
2012-07-06 14:52:57 -07:00
Eric Holk
0e1a6cf3d9
Remove tvec::trans_add
2012-07-06 14:13:52 -07:00
Niko Matsakis
11d868e925
paper over #2586 by not failing when the key is not found
2012-07-06 14:10:40 -07:00
Michael Sullivan
ee0177b908
Move string append to libraries. Closes #2710 .
2012-07-06 13:37:56 -07:00
Eric Holk
604f7c66ff
Removing locked queue port/chan prototype.
2012-07-06 11:05:28 -07:00
Eric Holk
7b03832c95
Updating tests to use pipes.
2012-07-06 10:42:41 -07:00
Eric Holk
fa4134611d
Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser.
2012-07-06 10:42:40 -07:00
Eric Holk
6806aa0e66
pingpong protocol parses, although I should probably rewrite this to use Paul's Early parser stuff.
2012-07-06 10:42:40 -07:00
Eric Holk
84434bc084
Recursively expand items, and keep expansion stack, per Paul's code review comments.
2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131
Adding token tree nonterminals to earley parser.
2012-07-06 10:42:40 -07:00
Eric Holk
f0ef4ef81b
You can have any protocol you want, provided it's pingpong.
...
This integrates the pipe compiler into the proto syntax extension.
2012-07-06 10:42:40 -07:00
Eric Holk
05cdda3a2c
Plumbing and parsing for item-position macros.
2012-07-06 10:42:40 -07:00
Eric Holk
a787f40013
Select on pipes.
...
Updating syntax and test cases.
2012-07-06 10:42:39 -07:00
Eric Holk
89bdd481e5
Port future to pipes. Graph500 is about 21% faster now.
...
Making all tests pass.
2012-07-06 10:42:39 -07:00
Eric Holk
e5c9cb2b3d
Pipes sleep and wake properly.
2012-07-06 10:42:39 -07:00
Eric Holk
a4838c93aa
Enabling pipes for all stages, and updating closure syntax.
2012-07-06 10:42:39 -07:00
Eric Holk
67b0760592
Moved pipes runtime support to libcore, and add a test that will help verify that busy waiting is no longer happening.
...
Fixing the result of a bad merge.
2012-07-06 10:42:39 -07:00
Eric Holk
5c3889a02f
Contracts work well enough to do the message ring benchmark, and it's really fast.
...
Fixing old-style vector, and xfail-prettying th contracts test because the pretty printer is unhappy.
2012-07-06 10:42:38 -07:00
Eric Holk
5d35435fac
send only takes one data argument.
2012-07-06 10:42:38 -07:00
Eric Holk
0ad7ae523c
Macro and iface tricks to simulate self move.
2012-07-06 10:42:38 -07:00
Eric Holk
c2d3cdc3df
Progress towards pipes.
2012-07-06 10:42:38 -07:00
Eric Holk
61be3cc19e
An example using pipes with most of the synchronization code in place.
...
Fixed a bug in the atomic intrinsics where they wouldn't correctly return their old value.
Pipes currently busy wait. The next step is to teach the scheduler how to deal with them.
2012-07-06 10:42:38 -07:00
Eric Holk
4dbd10a702
First example of a program using pipes.
2012-07-06 10:42:37 -07:00
Eric Holk
117b9a0b75
Basic functionality for new ports and chans
...
First test using the new comm system. About twice the throughput of the old system.
2012-07-06 10:42:37 -07:00
Erick Tryzelaar
f197d00979
cargo: Fix building dependencies
2012-07-06 09:35:43 -07:00
Brian Anderson
1eae49748d
Ignore a should_fail test on windows
2012-07-05 23:26:41 -07:00
Brian Anderson
9b2d988df0
Fix test that was using rust_task_allow_kill incorrectly
2012-07-05 21:33:47 -07:00
Ben Striegel
d162fa26ba
A new times
method on numeric types
...
This method is intended to elegantly subsume two common iteration functions.
The first is `iter::range`, which is used identically to the method introduced
in this commit, but currently works only on uints. The second is a common case
of `{int, i8, uint, etc.}::range`, in the case where the inductive variable is
ignored. Compare the usage of the three:
```
for iter::range(100u) {
// do whatever
}
for int::range(0, 100) |_i| {
// do whatever
}
for 100.times {
// do whatever
}
```
I feel that the latter reads much more nicely than the first two approaches,
and unlike the first two the new method allows the user to ignore the specific
type of the number (ineed, if we're throwing away the inductive variable, who
cares what type it is?). A minor benefit is that this new method will be
somewhat familiar to users of Ruby, from which we borrow the name "times".
2012-07-05 19:44:20 -07:00
Paul Stansifer
a8112f3b34
Allow soft failure of the macro parser.
2012-07-05 18:09:31 -07:00
Paul Stansifer
7f9b1fbe35
Add new syntax for interpolation and repetition, and allow the transcription of separators.
2012-07-05 18:09:31 -07:00
Paul Stansifer
62db5706e6
Start letting the parser catch interpolated ASTs.
2012-07-05 18:09:31 -07:00
Paul Stansifer
f940653720
Update the new macro demo.
2012-07-05 18:09:31 -07:00
Paul Stansifer
0c6fe6470e
Macro By Example transcription of token trees with interpolations and dotdotdots.
2012-07-05 18:09:31 -07:00
Paul Stansifer
f4fb975e4e
Store some span information for stride mismatches errors in MBE TT macros.
2012-07-05 18:09:31 -07:00
Paul Stansifer
534270551e
Move earley_parser.rs to a more appropriate place
2012-07-05 18:09:31 -07:00
Paul Stansifer
39590d81f0
Some rearranging in perparation for MBE-style TT transcription.
2012-07-05 18:09:31 -07:00
Paul Stansifer
74c2266a06
Document matchers a little better.
2012-07-05 18:09:31 -07:00
Ben Blum
2ee779c839
Add test case in task.rs for #2782
2012-07-05 21:01:18 -04:00
Ben Blum
7b3add0632
make disallow_kill an int for nested unkillables ( closes #2782 )
2012-07-05 19:56:09 -04:00
Lindsey Kuper
47f61c5429
Clean up error message punctuation/capitalization
2012-07-05 16:18:58 -07:00
Tim Chevalier
a0dbf58245
Remove duplicate, un-used copy of astencode
2012-07-05 16:11:51 -07:00
Tim Chevalier
663b3fc89c
Uncomment destructor in parser now that dtors work
...
Although this one is just a hack to make a class non-copyable.
(Do we want syntax for that instead?)
2012-07-05 16:11:51 -07:00
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -07:00
Tim Chevalier
50d2e7e07e
Mostly change TODOs to FIXMEs and annotate them
...
But, one change in io to implement a TODO suggestion (using a
const u8)
2012-07-05 15:06:33 -07:00
Michael Sullivan
b0d4f09201
Consider slices to be a structural type. Closes #2748 .
2012-07-05 14:48:23 -07:00
Brian Anderson
7babcf55d7
std: Actually buildbase64
2012-07-05 14:40:51 -07:00
Brian Anderson
8f92de3ce5
core: Actually build to_bytes
2012-07-05 14:40:45 -07:00
Brian Anderson
73f1f686e9
std: Export base64
2012-07-05 14:39:08 -07:00
Brian Anderson
c199090130
core: Export to_bytes
2012-07-05 14:38:59 -07:00
Lindsey Kuper
33334f3c43
Change 'iface' to 'trait' internally; parse trait
as iface
synonym
2012-07-05 11:01:43 -07:00
Eric Holk
d93f3c5d83
Arc requires send trait (issue #2788 )
2012-07-05 10:25:38 -07:00
Eric Holk
5bfb5cad3a
Remove create_lock in favor of lock_and_signal() (issue #2780 )
2012-07-05 10:11:25 -07:00
Gareth Daniel Smith
be0141666d
convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498
2012-07-04 19:18:13 -07:00
Brian Anderson
bfa43ca301
Add tests for various ways to write 'do' and 'for' without args
2012-07-04 17:30:46 -07:00
Ben Striegel
f2e2a14f36
Remove empty argument lists from do expressions
2012-07-04 17:21:29 -07:00
Brian Anderson
a52135f5a7
Tidy
2012-07-04 15:01:24 -07:00
Brian Anderson
34660f099e
Merge pull request #2798 from erickt/incoming
...
adding base64 and to_bytes to stdlib
2012-07-04 14:36:03 -07:00
Josh Matthews
10fd19580e
When getopts encounters an option that takes an argument, it should treat the remainder of the current option string as the argument if it is non-empty. Fix #2791 .
2012-07-04 14:23:22 -07:00
Graydon Hoare
195dd54d61
Fix trans typo noticed by fuzzer. Close #2148 .
2012-07-04 14:07:03 -07:00
Erick Tryzelaar
2f9c0114fa
Add a to_bytes iface and a handful of impls
2012-07-03 21:30:09 -07:00
Erick Tryzelaar
abee158945
Add a basic base64 module
2012-07-03 21:29:45 -07:00
Patrick Walton
3f06a8c8d5
test: Try to work around a resolve1 bug in class-cast-to-iface-cross-crate-2
2012-07-03 20:12:01 -07:00
Patrick Walton
cc3b6bf2f0
rustc: Make the error names in resolve3 conform more closely to what the compile-fail tests expect
2012-07-03 19:10:45 -07:00
Patrick Walton
139d843dce
test: Make run-fail/zip-different-lengths not rely on resolve bugs
2012-07-03 19:09:31 -07:00
Patrick Walton
d66948604a
test: Fix cyclic import in class-cast-to-iface-cross-crate-2
2012-07-03 18:32:47 -07:00
Patrick Walton
25e0455d04
test: Make tag-exports not use the obsolete tag export syntax
2012-07-03 18:32:47 -07:00
Patrick Walton
dbbffbea9a
rustc: Make a note of the fact that each_path doesn't handle path nesting properly
2012-07-03 18:32:47 -07:00
Patrick Walton
277f06dbb8
syntax: Add native module names correctly when building up the paths in the AST map
2012-07-03 18:32:47 -07:00
Ben Blum
aa909dc60a
oops, fix option.expect() and use it in libstd/map.rs
2012-07-03 21:03:51 -04:00
Brian Anderson
41bca84dd9
core: Convert iter::repeat to the for protocol
2012-07-03 17:31:31 -07:00
Brian Anderson
ae6ea068a1
Revert "Remove rule requiring non-nil block-style statements to be semi-terminated"
...
This reverts commit 0f5eaef5fb
.
2012-07-03 17:30:25 -07:00
Ben Blum
e000d1db0a
add option::expect and mark option methods as pure
2012-07-03 20:29:07 -04:00
Patrick Walton
af38333f75
rustc: Speed up def ID parsing in the metadata
2012-07-03 17:12:02 -07:00
Brian Anderson
0f5eaef5fb
Remove rule requiring non-nil block-style statements to be semi-terminated
...
This is a subtle rule that no longer seems to be required.
2012-07-03 17:03:52 -07:00
Graydon Hoare
3f59a4bc64
More work on #2082 , remove parser/lexer support for 'crust' and 'native'.
2012-07-03 16:49:46 -07:00
Graydon Hoare
be2c92078b
Change crust -> extern.
2012-07-03 16:49:46 -07:00
Graydon Hoare
dc98165443
Mop up a few extra native -> foreign changes.
2012-07-03 16:49:46 -07:00
Patrick Walton
742c05f87d
rustc: Avoid a lot of copying in metadata when reading impls
2012-07-03 16:38:35 -07:00
Graydon Hoare
7762c80d1b
Fix more future::future breakage.
2012-07-03 16:16:45 -07:00
Graydon Hoare
debb7e4641
Switch 'native' to 'extern' (or 'foreign' in some descriptions)
2012-07-03 16:11:00 -07:00
Patrick Walton
bfbc847f63
rustc: Add X-ray functionality to resolve3 so the test runner works
2012-07-03 15:56:27 -07:00
Patrick Walton
e1ee198216
core: Import future::extensions
2012-07-03 15:56:27 -07:00
Ben Blum
70070b8bbc
task.rs: minor doc/comment changes
2012-07-03 18:39:58 -04:00
Ben Blum
efb3227fb3
vim: add 'new' keyword
2012-07-03 18:39:58 -04:00
Patrick Walton
db8d9ddcbb
rustc: Record the main function in the session in resolve3
2012-07-03 12:20:15 -07:00
Patrick Walton
1c2843c8ad
core: Eliminate some overloading of the name "future" in future.rs
2012-07-03 11:24:01 -07:00
Michael Sullivan
d52f0f79bc
Fix some indentation in check::vtable.
2012-07-03 10:57:17 -07:00
Michael Sullivan
c854d6ebdb
Remove some bogus exports.
2012-07-03 10:52:32 -07:00
Erick Tryzelaar
39492782fa
Export dvec::from_elt.
2012-07-03 09:14:46 -07:00
Brian Anderson
2ea8922b8a
Merge remote-tracking branch 'brson/uv'
2012-07-02 21:39:08 -07:00
Brian Anderson
1caf45d5df
Register snapshots
2012-07-02 21:38:27 -07:00
Brian Anderson
ab193b9508
rustc: Remove some comments from resolve3 that are being misparsed as attributes
2012-07-02 20:06:07 -07:00
Patrick Walton
f093d374ed
rustc: Implement a new resolve pass behind a compile flag
2012-07-02 18:30:12 -07:00
Brian Anderson
0b1edb7f0e
Update compile-fail/missing-do for new error-comment syntax
2012-07-02 17:39:52 -07:00
Armin Ronacher
1f80b9b90a
Added testcase for the missing do compile note
2012-07-02 17:33:57 -07:00
Armin Ronacher
5bd9d6e05c
Implemented better error message for missing do statements.
...
This fixes #2783 for the case where an empty double pipe
symbol is being used without a do keyword.
2012-07-02 17:33:57 -07:00
Brian Anderson
9fe22a4ab7
Mark -g as experimental ( #2767 )
2012-07-02 17:22:49 -07:00
Lindsey Kuper
d90a1dee43
Start sketching some traitorous code (xfail'd)
2012-07-02 17:12:30 -07:00
Brian Anderson
18ac4eee3b
std: Ignore a test that doesn't terminate on windows
2012-07-02 16:50:47 -07:00
Brian Anderson
43def0677a
tutorial: More updates for closures
2012-07-02 16:32:19 -07:00
Brian Anderson
47f43da376
Merge branch 'doc-comments'
2012-07-02 15:31:33 -07:00
Brian Anderson
569467eb0d
Merge remote-tracking branch 'Dretch/prettydocs'
...
Conflicts:
src/compiletest/errors.rs
src/libsyntax/parse/attr.rs
src/libsyntax/parse/comments.rs
src/test/compile-fail/ambig_impl_unify.rs
src/test/compile-fail/assign-super.rs
src/test/compile-fail/bad-for-loop.rs
src/test/compile-fail/bad-var-env-capture-in-block-arg.rs
src/test/compile-fail/block-arg-as-stmt-with-value.rs
src/test/compile-fail/borrowck-assign-comp-idx.rs
src/test/compile-fail/borrowck-lend-flow.rs
src/test/compile-fail/borrowck-loan-blocks-move-cc.rs
src/test/compile-fail/borrowck-loan-blocks-mut-uniq.rs
src/test/compile-fail/borrowck-loan-rcvr.rs
src/test/compile-fail/borrowck-loan-vec-content.rs
src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
src/test/compile-fail/cap-clause-with-stack-closure.rs
src/test/compile-fail/do1.rs
src/test/compile-fail/do2.rs
src/test/compile-fail/empty-vec-trailing-comma.rs
src/test/compile-fail/evec-subtyping.rs
src/test/compile-fail/issue-1896.rs
src/test/compile-fail/issue-2149.rs
src/test/compile-fail/issue-2150.rs
src/test/compile-fail/issue-2487-b.rs
src/test/compile-fail/kindck-implicit-close-over-mut-var.rs
src/test/compile-fail/liveness-issue-2163.rs
src/test/compile-fail/liveness-use-in-index-lvalue.rs
src/test/compile-fail/no-reuse-move-arc.rs
src/test/compile-fail/no-send-res-ports.rs
src/test/compile-fail/non-const.rs
src/test/compile-fail/pure-higher-order.rs
src/test/compile-fail/pure-loop-body.rs
src/test/compile-fail/regions-addr-of-upvar-self.rs
src/test/compile-fail/regions-escape-loop-via-vec.rs
src/test/compile-fail/regions-scoping.rs
src/test/compile-fail/seq-args.rs
src/test/compile-fail/tstate-unsat-in-called-fn-expr.rs
src/test/compile-fail/tstate-unsat-in-fn-expr.rs
src/test/compile-fail/vec-add.rs
src/test/compile-fail/vec-concat-bug.rs
src/test/compile-fail/vector-no-ann.rs
2012-07-02 15:23:41 -07:00
Lindsey Kuper
7a4ebcefcb
Update nbody benchmark to more idiomatic Rust; nix obsolete comments
2012-07-02 15:20:59 -07:00
Ben Blum
eb28b768af
dlist should_fail tests ignore(cfg(windows))
2012-07-02 18:08:09 -04:00
Ben Blum
67b9d82847
vim syntax: add drop & rustString contains rustTodo
2012-07-02 18:00:43 -04:00
Brian Anderson
3c6a5385d6
std: Add missing cfg attr for freebsd
2012-07-02 14:32:15 -07:00
Brian Anderson
6d411342c6
Merge remote-tracking branch 'brson/uv'
...
Conflicts:
src/libstd/net_ip.rs
src/libstd/net_tcp.rs
2012-07-02 14:03:38 -07:00
Ben Blum
3ced5b0da2
add dlist.rs should_fail tests
2012-07-02 16:47:55 -04:00
Ben Blum
510af4dadb
vim syntax: don't hilight foo::<T>() like a module
2012-07-02 16:03:44 -04:00
Ben Blum
3777a14f08
Add doubly-linked list to libcore (to be used in task.rs).
2012-07-02 16:03:38 -04:00
Ben Blum
5b41592f21
Make list::from_vec take a slice, not a ~.
2012-07-02 15:49:46 -04:00
Ben Blum
dc93814bf9
minor updates to vim config files
2012-07-02 15:48:59 -04:00
Erick Tryzelaar
c74b3fd634
Treat "do" as a keyword in vim
2012-07-02 09:06:30 -07:00
Brian Anderson
129de96023
Add 'do' to rust-mode
2012-07-01 23:09:22 -07:00
Brian Anderson
9743757113
syntax: Support dropping argument list from for/do
2012-07-01 22:36:24 -07:00
Brian Anderson
fa6a446e6c
Add two tests, one xfailed, for inferring lambda kinds in return position
2012-07-01 19:19:36 -07:00
Brian Anderson
494264711d
syntax: Stop parsing old closure syntax
2012-07-01 19:19:36 -07:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
13a8f54538
syntax: Pretty print new closures correctly
2012-07-01 17:53:07 -07:00
Brian Anderson
3155d170ad
syntax: Fix lambda parsing following 'ret'
2012-06-30 21:20:36 -07:00
Brian Anderson
45ccaf04c4
Register snapshots
2012-06-30 19:22:31 -07:00