Graydon Hoare
3f9a3469c7
Catch one missing residual 'cont' -> 'again' change.
2012-07-09 15:15:39 -07:00
Graydon Hoare
f210deae3d
Merge branch 'incoming' of github.com:/mozilla/rust into incoming
...
Conflicts:
src/snapshots.txt
2012-07-09 14:38:37 -07:00
Graydon Hoare
c26d02557e
Switch 'cont' to 'again' everywhere. Close #2229 .
2012-07-09 14:37:48 -07:00
Niko Matsakis
f72487d196
Remove xfail-test from (now functional) test. Fixes #2323 .
2012-07-09 14:24:25 -07:00
Michael Sullivan
5c914e4a9d
Add clear methods to the tests that make maps.
2012-07-09 14:16:24 -07:00
Brian Anderson
b7a418e194
rustc: Conditionally compile view items. #2357
2012-07-09 14:09:03 -07:00
Brian Anderson
547bf7c350
test: xfail-fast extern-crosscrate
2012-07-09 13:41:32 -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
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
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
Patrick Walton
c4af6e92fb
rustc: Switch to the new resolution pass
2012-07-06 19:07:26 -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
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
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
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
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
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
Lindsey Kuper
47f61c5429
Clean up error message punctuation/capitalization
2012-07-05 16:18:58 -07:00
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -07:00
Michael Sullivan
b0d4f09201
Consider slices to be a structural type. Closes #2748 .
2012-07-05 14:48:23 -07:00
Eric Holk
d93f3c5d83
Arc requires send trait (issue #2788 )
2012-07-05 10:25:38 -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
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
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
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
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
be2c92078b
Change crust -> extern.
2012-07-03 16:49:46 -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
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
Lindsey Kuper
d90a1dee43
Start sketching some traitorous code (xfail'd)
2012-07-02 17:12:30 -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
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
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
3155d170ad
syntax: Fix lambda parsing following 'ret'
2012-06-30 21:20:36 -07:00
Brian Anderson
ed834f0629
syntax: Add support for new lambda syntax
2012-06-30 16:01:52 -07:00
Brian Anderson
a3382b6f26
Eliminate usages of old sugared call syntax
2012-06-30 16:01:49 -07:00
Brian Anderson
8b2491160d
syntax: Pretty-print 'do' correctly
2012-06-30 14:24:24 -07:00
Gareth Daniel Smith
6d86969260
change the test suite //! kind
syntax to //~ kind
in order to avoid a
...
conflict with the new single-line-sugared-inner-doc-comment (`//! ...`).
2012-06-30 12:23:59 +01:00
Gareth Daniel Smith
0b653ab953
initial draft of fix for issue #2498 :
...
1. make /// ... and //! ... and /** ... */ and /*! ... */ into sugar for #[doc = ...] attributes.
2. add a script in etc/ to help converting doc-attributes to doc-comments
3. add some functions to core::str to help with (1)
2012-06-30 11:54:54 +01:00
Eric Holk
0a99912cdd
Adding a bunch of atomic intrinsics.
...
Adding a test cases for the atomic intrinsics.
2012-06-29 18:37:29 -07:00
Michael Sullivan
98e161f00e
Switch the compiler over to using ~[] notation instead of []/~. Closes #2759 .
2012-06-29 17:41:45 -07:00
Michael Sullivan
a3c7d93c77
Get rid of basically all of the remaining old style vecs in tests.
2012-06-29 15:08:12 -07:00
Michael Sullivan
e7760470b4
Make a bunch of tests stop using the deprecated vector syntax.
2012-06-28 17:33:15 -07:00
Michael Sullivan
810677efb5
Parse ~[...] as [...]/~. Same for @ and &. Closes #2747 .
2012-06-28 17:10:06 -07:00
Ben Blum
b6f103e7f9
Fix rt-sched-1.rs (broke in 6fc730b
)
2012-06-28 19:46:57 -04:00
Ben Blum
b2b498183a
Add test case for issue #2734 (xfailed)
2012-06-28 19:26:12 -04:00
Ben Blum
6fc730baf6
Cleanup failure handling around rust_new_task_in_sched - closes #2668
2012-06-28 19:02:48 -04:00
Ben Blum
58a39d1ca3
Fix alt-pattern-drop's breakage from af2d01e
2012-06-28 15:59:43 -04:00
Ben Blum
af2d01e36b
Fix sys::refcount and remove dbg::refcount
2012-06-28 14:40:31 -04:00
Eric Holk
61b1875c16
make core-std respect RUST_BENCH
2012-06-27 22:30:08 -07:00
Brian Anderson
9f7e62ea20
rustc: Fix a missing application of the operator in fold_ty
2012-06-27 20:11:59 -07:00
Michael Sullivan
fa3aa64b91
Oops. Actually fix that problem.
2012-06-27 20:08:39 -07:00
Michael Sullivan
8bb3a01e5c
Add in missing [] methods to some tests.
2012-06-27 19:58:08 -07:00
Eric Holk
0c42a3ffee
vec::append reuses its left hand side when possible. (issue #2719 )
2012-06-27 16:19:49 -07:00
Eric Holk
133fdc1148
Remove unnecessary bounds checks in vec::push_all (issue #2719 )
...
Don't needlessly drop closures (issue #2603 )
2012-06-27 11:32:22 -07:00
Graydon Hoare
697f1e38d6
Change 'native' and 'crust' to 'extern'.
...
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.
What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Eric Holk
ccd2394ff9
perf: improved the core-std benchmark
2012-06-26 14:08:16 -07:00
Eric Holk
a08281616f
More perf tweaks (issue #2719 )
2012-06-26 14:08:16 -07:00
Michael Sullivan
51468b65a4
Properly cleanup slice literals. Closes #2705 .
2012-06-26 14:05:43 -07:00
Tim Chevalier
91e44ea056
Be a little more clever about calculating sizes for class types
...
We could try to calculate the size of a partially-converted class type,
and run into an LLVM error because we were trying to calculate the size
of a named struct whose fields hadn't yet be filled in. The issue can be
dodged by extending simplify_type to convert classes to isomorphic
structural records, just for the purposes of size calculations.
(for real this time) Closes #2718
2012-06-26 11:14:39 -07:00
Tim Chevalier
cf69604551
Incorporate class fields into recursive-type check
...
Noticed while investigating issue 2718 that the typechecker allowed
some non-instantiable types involving classes. This wasn't the root of
2718, but fixed it anyway.
2012-06-26 11:14:39 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Michael Sullivan
1c5e2cacef
Comment out the *right* part of the test failing due to issue #2724 .
2012-06-25 19:28:27 -07:00
Michael Sullivan
fb018fa50b
Comment out a failing part of a test; this is Issue #2724 .
2012-06-25 19:00:35 -07:00
Patrick Walton
650dfe58a3
test: Make zip-same-length no longer rely on resolve not handling shadowed modules properly
2012-06-25 17:55:24 -07:00
Brian Anderson
c2751c5640
rustc: Make 'do' work with effects the same as 'for'
2012-06-25 17:46:06 -07:00
Tim Chevalier
8ed9701591
Remove test case that doesn't work on its own
...
I don't actually know how to test --ls
2012-06-25 17:26:26 -07:00
Tim Chevalier
f1acc69a2a
Add class fields to the global index
...
Closes #2192
2012-06-25 17:25:54 -07:00
Eric Holk
b19c98ea9a
Some perf fixes, although vec::slice is still too slow (Issue #2719 )
2012-06-25 16:38:12 -07:00
Patrick Walton
216105fc55
test: Remove the import-glob-circular test since the name resolution semantics it depends on are probably undecidable
2012-06-25 15:30:38 -07:00
Patrick Walton
9386c2db33
test: Swap the order of two imports in import7 to eliminate another cycle
2012-06-25 15:14:28 -07:00