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
Michael Sullivan
ee0177b908
Move string append to libraries. Closes #2710 .
2012-07-06 13:37:56 -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
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
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
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
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
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
Lindsey Kuper
d90a1dee43
Start sketching some traitorous code (xfail'd)
2012-07-02 17:12:30 -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
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
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
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
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
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
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
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
Patrick Walton
d8410c7578
test: Swap the order of two imports in import6 to eliminate a cycle
2012-06-25 15:12:50 -07:00
Brian Anderson
7e6cbf7431
Remove redundant 'extension' mods from numeric mods
2012-06-25 14:25:48 -07:00
Ben Striegel
43a48ca5bb
Automatically export methods on core numeric types
...
Each numeric type now contains an extensions module that is automatically
exported. At the moment each extensions module contains only the impl for the
`num::num` iface. Other impls soon to follow (hopefully).
2012-06-25 14:25:48 -07:00
Tim Chevalier
6517fc5ab6
Merge branch 'incoming' into resource-to-class
2012-06-25 13:41:49 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
fe9bbeca1a
Add test cases for issue 2445
2012-06-25 13:18:43 -07:00
Tim Chevalier
91b69aeb63
Test case for issue 2718
...
This was already fixed by the time I read the issue, but more test
cases are always good.
Closes #2718
2012-06-25 12:21:01 -07:00
Tim Chevalier
25b8b35c57
Finish compare glue for classes
...
This tests == and !=. I don't know what <, >, etc. should do.
Closes #2601
2012-06-25 12:20:10 -07:00
Brian Anderson
e991855d66
Make 'do' expressions accept stack closures
2012-06-24 18:01:27 -07:00
Tim Chevalier
bf92940f72
More test cases for classes with dtors
...
Tests that classes with dtors and multiple fields work correctly.
Closes #2708
2012-06-24 15:11:25 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7
Remove 'implements' keyword in favour of :, part of #2301 .
2012-06-22 18:57:20 -07:00
Brian Anderson
2f060eb880
core: Name is_failure to is_err, is_success to is_ok
2012-06-22 18:26:25 -07:00
Eric Holk
26c11f7b50
Use must_have_lock instead of private functions. (Issue #2700 )
...
I hereby declare that messages sent from the same source arrive in order (Issue #2605 )
Removing FIXME, owned is the correct type here. (Issue #2704 )
Remove outdated FIXME (Issue #2703 )
Updating test for spawning native functions (Issue #2602 )
Removing bogus FIXME (Issue #2599 )
2012-06-22 15:14:42 -07:00
Tim Chevalier
b8710de5ff
Add test cases
...
issue-912 is xfailed. issue-2111 is already fixed, but it's good to
have the test case.
2012-06-21 19:58:52 -07:00
Tim Chevalier
be8a08b2af
Hopefully make issue 2214 test case work on Windows -- sigh
2012-06-21 17:54:56 -07:00
Tim Chevalier
a350bea313
Fix linker problem in issue 2214 test case
2012-06-21 16:58:35 -07:00
Tim Chevalier
317864672d
Revert "Add test for issue 2214"
...
This reverts commit 290206b178
.
Forgot to add the actual native code, temporarily reverting.
2012-06-21 16:17:08 -07:00
Eric Holk
0e5cfd9f33
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Eric Holk
f8fa0a2437
Generate a temporary for assign_ops. Issue #2581
2012-06-21 16:11:10 -07:00
Tim Chevalier
0b1675da16
Add and xfail test for 2101
2012-06-21 16:03:28 -07:00
Tim Chevalier
290206b178
Add test for issue 2214
2012-06-21 16:02:40 -07:00
Lindsey Kuper
c2222878c8
A test to exercise suffix inference for unary minus a little more.
2012-06-21 12:08:10 -07:00
Niko Matsakis
60603703ea
handle moves in let initializers and allow moves from unsafe ptrs
...
Related to issue #2657 , but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Tim Chevalier
76d6120e52
Fix resolve bug that made nested classes not work
...
It wasn't possible to refer to the constructor for a class nested inside
an item from the class's outer scope. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
f331cd9324
Don't consider loops to be breaking if they contain inner loops that break
...
Closes #2642
2012-06-20 18:53:38 -07:00
Lindsey Kuper
39c05b4b65
Remove obsolete comment.
2012-06-20 17:56:40 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Tim Chevalier
c50eea17d4
Test for #2242 (xfailed for now)
2012-06-20 16:25:46 -07:00
Lindsey Kuper
60a658250e
Don't force resolution of integral type vars in unary minus exprs
...
These were getting resolved too early, when they were still
unconstrained by the rest of the typing context. Waiting a bit longer
to resolve them gives the rest of the typing context a chance to come
into play, so that they don't default to `int`.
2012-06-20 14:33:25 -07:00
Niko Matsakis
de491ea707
two more tests for method autoderef
2012-06-19 20:52:33 -07:00
Niko Matsakis
773a640303
support autoderef on method calls
2012-06-19 20:46:48 -07:00
Lindsey Kuper
3cf582b529
Enable integer literal suffix inference.
2012-06-19 17:06:05 -07:00
Niko Matsakis
6e73e45e37
first steps to autoderef on method calls
2012-06-19 11:52:39 -07:00
Niko Matsakis
6c056fba4d
random forgotten test case
2012-06-19 11:52:39 -07:00