Commit Graph

2964 Commits

Author SHA1 Message Date
Tim Chevalier
3119afc6e8 In resolve3, error on non-existent imports
Closes #2937
2012-07-18 18:02:07 -07:00
Ben Blum
5506bf1480 xfail issue-506 - broken on darwin 2012-07-18 19:55:18 -04:00
Niko Matsakis
e0ea67a2a6 prevent regions from escaping in ifaces; remove &r.T syntax 2012-07-18 11:48:58 -07:00
Niko Matsakis
eb0a34c398 iterate only over immutable vectors; use newer region notation
Unfortunately, right now iterating over const vectors is
not safe.  This is because the callback expects an *immutable*
reference (in region terms: &T), not a const reference (&const T).
This was not being caught by the type system due to the use of
unsafe operations.  To fix this, we need to either (1) find a way
to parameterize over mutability or (2) add each_const, each_mut
etc
2012-07-18 11:48:58 -07:00
Ben Blum
30d94fe9a2 finish fixing broken un-unsupervise windows tests 2012-07-17 22:16:55 -04:00
Ben Blum
93bb030a8c fix no-longer-unsupervise test cases on windows 2012-07-17 21:48:15 -04:00
Ben Blum
03cdc2476d Change all test/run-pass uses of rustrt::unsupervise() to something else 2012-07-17 21:19:23 -04:00
Eric Holk
7b8171ef2d Added liveness analysis for protocols, and removed warnings about empty states. 2012-07-17 17:46:31 -07:00
Michael Sullivan
aa5b5ab886 Create some infrastructure for building up @-vectors. Work on #2921. 2012-07-17 17:09:25 -07:00
Patrick Walton
db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -07:00
Tim Chevalier
b5729bd600 Support attributes on class ctors and dtors
Closes #2660
2012-07-17 12:40:59 -07:00
Niko Matsakis
0e42004bab introduce an owned kind for data that contains no borrowed ptrs 2012-07-16 20:18:18 -07:00
Graydon Hoare
d809336d0f Fix reflection on vstore_fixed estrs and evecs. 2012-07-16 17:08:27 -07:00
Eric Holk
053bdcac2d Test case for #2930 2012-07-16 15:12:53 -07:00
Eric Holk
d39f6fc676 Add support for terminal states (issue #2862) 2012-07-16 14:50:47 -07:00
Gareth Daniel Smith
fe43d66613 replace core::tuple functions with methods 2012-07-16 22:33:20 +01:00
Niko Matsakis
3ef7ff8b89 infer the scope of borrows 2012-07-14 17:37:32 -07:00
Niko Matsakis
41a21f053c remove typestate from code, tests, and docs 2012-07-14 17:37:20 -07:00
Michael Sullivan
6822ec3eb4 Treat bare vector and string literals as fixed length vecs. Closes #2922. 2012-07-14 14:30:48 -07:00
Michael Sullivan
d884085f43 Tear out ty_str and ty_vec. 2012-07-14 12:19:36 -07:00
Michael Sullivan
92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -07:00
Michael Sullivan
f5e69d611e Change the pretty printer to print vstores for strs in prefix notation. 2012-07-13 17:03:54 -07:00
Michael Sullivan
985b52be6d Support prefix notation for vstore strings. Closes #2906. 2012-07-13 17:03:49 -07:00
Eric Holk
9728d14bae Fix hang in pipe-select when RUST_THREADS=1 2012-07-13 16:03:02 -07:00
Lindsey Kuper
5a63b2100e More consistent use of backticks and "expected" in error messages.
Got some of the debug messages, here, too.  I figure it doesn't hurt
to get used to doing this even in places where users won't ever see
it.
2012-07-13 15:31:39 -07:00
Tim Chevalier
ee73b78e04 Test for #2288 2012-07-13 14:45:15 -07:00
Michael Sullivan
d7f4d8d12b Actually xfail the test properly. Argh. 2012-07-13 14:05:28 -07:00
Michael Sullivan
05ff4f416b xfail a broken seeming test. 2012-07-13 13:06:39 -07:00
Tim Chevalier
3c011aab74 Extra test for #2311 2012-07-13 13:03:21 -07:00
Tim Chevalier
cd31b7cf5c Un-xfail test that works. Closes #2883 2012-07-13 12:04:38 -07:00
Niko Matsakis
fa3dbb7f73 add xfail-fast directive due to aux-build 2012-07-13 10:47:20 -07:00
Niko Matsakis
4c463b78fb repair error msg 2012-07-13 10:20:51 -07:00
Niko Matsakis
9504778e2a add xfail-fast directive 2012-07-13 10:20:50 -07:00
Niko Matsakis
90e435e808 change region syntax to &r/T in place of &r.T 2012-07-13 10:20:50 -07:00
Eric Holk
05543fd04d Make tests pass 2012-07-12 20:09:30 -07:00
Tim Chevalier
78ec6fe30c Obliterate the callee_id hack
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).

Closes #2804
2012-07-12 19:02:07 -07:00
Eric Holk
fec8059ed5 Move port_set and shared_chan into core. 2012-07-12 18:16:01 -07:00
Eric Holk
ba10819800 Added a message send that uses shared chans. They are slower than port selectors, but scale better. 2012-07-12 18:16:01 -07:00
Eric Holk
75e55c1b12 Faster select. This version gives us about a 4x speedup. 2012-07-12 18:16:01 -07:00
Eric Holk
c56a38ac2a Added a version of msgsend that uses pipes and select. Here, select is way too slow to be useful, but this can be optimized. 2012-07-12 18:16:00 -07:00
Eric Holk
1a276dba52 Switch map-reduce control protocol to use pipes. This exposed a bug in the pipe compiler, which is now fixed.
Use hashmaps in MapReduce

Tweak word-count difficulty
2012-07-12 18:16:00 -07:00
Tim Chevalier
a407f74d6d Update and un-xfail reflect-visit-data 2012-07-12 18:09:31 -07:00
Tim Chevalier
e8e143b9d7 Comments only: annotate FIXMEs in tests 2012-07-12 18:09:31 -07:00
Brian Anderson
dac4916cec rustc: Resolve bounds of trait type parameters 2012-07-12 18:04:40 -07:00
Graydon Hoare
18da7fef88 Merge remote-tracking branch 'origin/dist-snap' into incoming 2012-07-12 17:14:55 -07:00
Michael Sullivan
2ea9c8df0f Accept prefix notation for writing the types of str/~ and friends. 2012-07-12 16:52:26 -07:00
Michael Sullivan
1c62f5ff74 Get rid of all of the remaining /~s in the code base. 2012-07-12 15:13:18 -07:00
Brian Anderson
46fba10fe8 rustc: Make all impls even more reachable
With this we write metadata for all impls so that we can properly find
reexported impls.
2012-07-12 15:09:33 -07:00
Michael Sullivan
9d2e5f3a65 Merge branch 'rt-changes' into incoming 2012-07-12 15:03:54 -07:00
Michael Sullivan
7b26503566 Make str be treated as str/~. 2012-07-12 00:21:04 -07:00
Niko Matsakis
b9aa9def85 infer when types are region parameterized rather than requiring /&
- removes various fields from various variants in the AST
- also update tests not to use this notation
2012-07-11 14:41:41 -07:00
Tim Chevalier
c0961bb88f Test for #2723. Closes #2723 2012-07-11 12:34:21 -07:00
Paul Stansifer
650009f80c Test (but don't pretty-print) the new macro system. 2012-07-11 12:06:47 -07:00
Michael Sullivan
120773b2a7 Change the interface of placement new to take a tydesc as part of Issue #2831. 2012-07-11 11:42:49 -07:00
Eric Holk
bf88ff5217 Remove slow vec+=, and make word-count difficulty harder. 2012-07-11 11:36:37 -07:00
Eric Holk
a00478b7c9 word-count-generic now generates random words in benchmark mode. 2012-07-11 11:36:37 -07:00
Tim Chevalier
1806707dcb Add test case for #2869 (xfailed) 2012-07-11 11:18:43 -07:00
Graydon Hoare
aa7b3cc929 Fix some version numbers. 2012-07-11 09:09:08 -07:00
Eric Holk
424ae442c5 xfailing pipe-select on Windows, because it also uses fail. 2012-07-10 23:42:57 -07:00
Tim Chevalier
7b4190d4e9 Test for issue 2735
This probably doesn't test the actual bug, but the fix for
issue 2734 probably camouflages the actual bug (since the
effect of the #2734 test case is now "do nothing observable"
rather than "segfault").

Closes #2735
2012-07-10 23:10:21 -07:00
Tim Chevalier
e958cbe799 Un-xfail issue 2734 test
because I guess I forgot to do that when I fixed the bug.
2012-07-10 23:10:21 -07:00
Eric Holk
203da7e814 xfailing pipe-detect-term on Windows, because it requires failure. 2012-07-10 23:02:11 -07:00
Eric Holk
71339d9e69 Pipe code cleanup 2012-07-10 22:00:48 -07:00
Eric Holk
22e955a76a Move streams into core. 2012-07-10 22:00:48 -07:00
Eric Holk
594d9a0554 Use protocol compiler in future.rs. Also split recv into recv and try_recv. 2012-07-10 22:00:48 -07:00
Eric Holk
26e6eb3d14 Handle failure conditions correctly in pipes. 2012-07-10 22:00:47 -07:00
Eric Holk
d07e537fc3 Remember to wake up blocked task on sender terminate. 2012-07-10 22:00:46 -07:00
Eric Holk
1c1b3a3339 Added peek for pipes. 2012-07-10 22:00:46 -07:00
Eric Holk
69cd8b5fcb Added select2 for pipes. 2012-07-10 22:00:45 -07:00
Eric Holk
801e049617 Added a test case for issue #2834. 2012-07-10 22:00:41 -07:00
Tim Chevalier
f39477d926 In resolve, check that an or-pattern has the same number of bindings in each disjunct
resolve3 wasn't checking this. Added test cases. Also added a helpful informational
message in the case where you have a variable binding that you probably think
refers to a variant that you forgot to import.

This is easier to do in resolve than in typeck because there's code in typeck
that assumes that each of the patterns binds the same number of variables.
2012-07-10 18:24:41 -07:00
Graydon Hoare
0a4a602a23 Modify reflect interface to pass tydescs back to client, stop on false return.
These changes are required to prune type-recursion and admit early
returns in the visitor code. Changes to visitors in subsequent csets.
2012-07-10 15:16:48 -07:00
Michael Sullivan
bf06deafe6 Disallow implicitly binding methods in typechecker. Closes #2189. 2012-07-10 15:12:13 -07:00
Michael Sullivan
40fc1737b2 Get rid of places that expected foo.bar to implicitly bind. 2012-07-10 15:12:12 -07:00
Michael Sullivan
0070527383 Pretty print vectors as ~[] instead of []/~. Closes #2863. 2012-07-10 13:55:19 -07:00
Brian Anderson
71fd542f26 test: Fix shootout-binarytrees 2012-07-10 12:09:36 -07:00
Brian Anderson
1e8ae18ba1 test: Fix shootout-fasta 2012-07-10 12:05:23 -07:00
Tim Chevalier
78088fb813 Add test case for issue 2766, which resolve 3 fixes 2012-07-09 19:16:23 -07:00
Paul Stansifer
54741b9427 Allow defining token tree macros. They should work now! 2012-07-09 17:44:46 -07:00
Graydon Hoare
9b6e90d2b5 Xfail-fast a recent test that doesn't work on check-fast. 2012-07-09 16:08:11 -07:00
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
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
e9f19283b3 Remove resources from a few places I missed 2012-06-25 12:20:51 -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
Eric Holk
3ba7ca5c9f Improved perf for msgsend (Issue #2719) 2012-06-25 11:27:32 -07:00
Eric Holk
07e1d1c6b6 Improved graph500 performance (Issue #2719) 2012-06-25 11:15:45 -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
Lindsey Kuper
ce7b803728 Minor capitalization/punctuation fixes in error messages 2012-06-22 16:48:03 -07:00
Lindsey Kuper
46809f7ab7 Nicer quoting in "attempted access of field" message. Issue #2358. 2012-06-22 16:48:03 -07:00
Eric Holk
3246723bf7 Adding an issue number to vec-add.rs 2012-06-22 15:35:06 -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
Michael Sullivan
1d6fb24b70 Hack to make [] and []/~ the same type in preparation for switching to []/~. 2012-06-22 15:11:34 -07:00
Tim Chevalier
588c1eb41f Remove resources from remaining test cases 2012-06-22 13:11:29 -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
cc323d8637 Make liveness print out a proper error message for moves out of a self field
This was a call to span_bug() before. I'm not sure about the other cases,
but the test case shows that the `vk_self` case can certainly arise with
a bad program, so it should be a span_err() thing and not a span_bug() thing.

Closes #2590
2012-06-21 17:43:10 -07:00
Tim Chevalier
a06398214a Add test for issue 2467 2012-06-21 16:58:35 -07:00
Tim Chevalier
a350bea313 Fix linker problem in issue 2214 test case 2012-06-21 16:58:35 -07:00
Lindsey Kuper
5710178081 Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-21 16:19:04 -07:00
Lindsey Kuper
0fe9c0a9d1 Add tests to exercise the "pattern has N field(s), but" error patterns. 2012-06-21 16:19:04 -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
559c30ab17 xfailing vec-add. 2012-06-21 16:11:11 -07:00
Eric Holk
40559ea839 Adding a benchmark for the new message passing code 2012-06-21 16:11:11 -07:00
Eric Holk
4d1e415611 Remove some commented out code so the pretty printer doesn't get confused. 2012-06-21 16:11:11 -07:00
Eric Holk
bb572b4234 Updating errors in vec-add.rs 2012-06-21 16:11:11 -07:00
Eric Holk
9bdb2c9e48 Library vecs are fast now. 2012-06-21 16:11:11 -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
Tim Chevalier
2a53640aa1 Test for issue 1896 (which appears to be fixed) 2012-06-21 14:08:02 -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
9a2b60dfce unxfail test for #2657 2012-06-21 10:20:46 -07:00
Niko Matsakis
287f163136 Issue #2657: track mutability of bindings, also prevent move from bindings 2012-06-21 09:45:01 -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
1b4dcbecac Comments only: typos 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
Tim Chevalier
613deb0312 Change error to debug
IMO this is a better workaround than using the old-style
error-pattern: syntax :-)
2012-06-20 18:52:43 -07:00
Lindsey Kuper
39c05b4b65 Remove obsolete comment. 2012-06-20 17:56:40 -07:00
Lindsey Kuper
1df6ddd08c doc: add information about suffix inference to tutorial and manual. 2012-06-20 17:56:40 -07:00
Brian Anderson
4dcf84e4f4 Remove bind. Issue #2189 2012-06-20 17:27:28 -07:00
Michael Sullivan
bcd3942f41 Fix a test I messed up. 2012-06-20 17:08:36 -07:00
Tim Chevalier
c50eea17d4 Test for #2242 (xfailed for now) 2012-06-20 16:25:46 -07:00
Michael Sullivan
8040fd86bf Call the correct type formatting function for more typecheck diagnostics. Closes #2652. 2012-06-20 15:44:58 -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
Eric Holk
e30a8b6f8c Updating kind rules to make sure we don't sneakily send ports. 2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529 Enable integer literal suffix inference. 2012-06-19 17:06:05 -07:00
Lindsey Kuper
3f56c0a42d Add i suffix to cfail test so it works after suffix inference 2012-06-19 16:57:13 -07:00
Lindsey Kuper
8cc1149130 Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-19 16:35:26 -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
Eric Holk
be664ddd29 Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion. 2012-06-19 10:31:12 -07:00
Eric Holk
9ee1480fd1 Another benchmark 2012-06-19 10:31:12 -07:00
Michael Sullivan
f648affeaa Fix a failing test. 2012-06-18 21:01:56 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Michael Sullivan
797856cbde Use unboxed vecs for string shape glue. 2012-06-18 15:54:37 -07:00
Brian Anderson
49d6d1bbb8 Remove FIXME from run-pass/basic.rs. Closes #2600 2012-06-18 15:46:34 -07:00
Lindsey Kuper
85977ced3f Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-18 15:36:14 -07:00
Tim Chevalier
f87c28b122 Remove test that depends on rustc
There's already another test (run-pass/issue-2316-c) that tests for
the same bug. So there's no need to have this one, which depends on
librustc, in the test suite.

Closes #2368.
2012-06-18 12:14:03 -07:00
Niko Matsakis
982e1166b2 Issue #2633: remove last_use entries that are subject to a loan 2012-06-17 16:17:40 -07:00
Tim Chevalier
0276a3376b Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
This reverts commit 015527b0ce.
2012-06-16 15:21:08 -07:00
Eric Holk
015527b0ce Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion. 2012-06-15 22:00:58 -04:00
Tim Chevalier
f0d8e978a9 Add test for #2633. Xfailed. 2012-06-15 17:33:35 -07:00
Michael Sullivan
6e63e2fd5f Fix copying of fixed length vectors. Closes #2630. 2012-06-15 15:31:19 -07:00
Michael Sullivan
999ab5418a Make the shape interpreter actually advance past fixed length vectors. Closes #2613. 2012-06-15 15:31:19 -07:00
Tim Chevalier
210db7d8d4 Test case for #2631 2012-06-15 15:21:17 -07:00
Paul Stansifer
1e36d216be Add the interner to parse_sess. 2012-06-15 12:41:41 -07:00
Patrick Walton
b6ed1de29e Issue #2591: Change "upvar" to "variable declared in an outer block" in tests 2012-06-15 12:24:12 -07:00
Eric Holk
7b98fdd269 Merge branch 'incoming' of github.com:mozilla/rust into newsnap 2012-06-14 21:08:06 -07:00
Lindsey Kuper
e3f73e443e Tests for #1425 (xfail'd for now) 2012-06-14 21:04:53 -07:00
Eric Holk
8ab15c0266 Merge branch 'incoming' into newsnap 2012-06-14 20:36:16 -07:00
Graydon Hoare
d953462d03 Complete a data visitor type that does proper pointer-walking. 2012-06-14 19:58:34 -07:00
Eric Holk
52c38ba886 Merge branch 'incoming' into newsnap 2012-06-14 19:36:22 -07:00
Tim Chevalier
39d9c30a15 Remove code from parser that was awaiting snapshot
Remove old parser functions as well as support for old-style capture
clauses. Remove remaining old-style capture clauses.
2012-06-14 19:09:02 -07:00
Patrick Walton
6969f0f2fc Issue #2572: (trans) Fix self-referential classes. 2012-06-14 18:51:31 -07:00
Tim Chevalier
f7dd2d5bd5 Add xfailed test case for issue 2611 2012-06-14 17:56:41 -07:00
Graydon Hoare
aeb9a2b72c Add zero check/fail paths on div/mod paths. Close #944. 2012-06-14 15:39:24 -07:00
Tim Chevalier
aa4fa2611c Remove an xfail-fast, as this seems to work on Windows now 2012-06-14 15:35:44 -07:00
Tim Chevalier
360d7c2c1d Remove an outdated FIXME, change to use the new //! ERROR syntax 2012-06-14 15:35:44 -07:00
Tim Chevalier
663000ce35 run-pass/autobind seems to work, so un-xfail it 2012-06-14 15:35:44 -07:00
Tim Chevalier
0a6ef35c8c while => for 2012-06-14 15:35:43 -07:00
Tim Chevalier
13d4b61182 Comments only: annotate FIXMEs in tests 2012-06-14 15:35:43 -07:00
Eric Holk
74d2f56f21 Adding move_val and move_val_init intrinsics. 2012-06-14 13:49:41 -07:00
Tim Chevalier
e5a5fc2029 Allow impls to be re-exported
It was a little hard for me to believe, but it seems that re-exporting
an impl doesn't work at a, because encoder::encode_info_for_mod requires
that all the impls in the current module's impl map be local (that is,
bound to a value in the current crate's item map). Fixed it.

Closes #2414.
2012-06-13 15:52:00 -07:00
Tim Chevalier
6f95c79b95 Traverse types in reachability
Issue 2526 showed a test case where a library exported only a type
that was a synonym for a class. Because the class's destructor wasn't
getting marked as reachable, its linkage was wrongly getting set to
"internal". The solution is for reachability to traverse types.

Closes #2526.
2012-06-13 11:57:01 -07:00
Lindsey Kuper
cce7327487 Allow trailing commas in import lists. Closes #2582. 2012-06-13 11:53:35 -07:00
Tim Chevalier
11e30b2a73 Forgot to xfail-fast this 2012-06-12 19:05:34 -07:00
Tim Chevalier
eadd74b5b6 Test case for previous commit
(basically a stripped-down version of comm, and a "driver" that
constructs a new port)
2012-06-12 17:37:04 -07:00
Michael Sullivan
e67b5b25a6 Introduce a SHAPE_UNBOXED_VEC shape in order to seperate out vector logic. 2012-06-12 17:01:13 -07:00
Niko Matsakis
d1ec1d4abb Treat enums with one variant specially in borrowck: #2573 2012-06-12 14:30:14 -07:00
Lindsey Kuper
1655c1a825 Add a test for explicit i suffix on integer literals
This doesn't seem to show up anywhere else in the test suite, even
though it's supposed to be legal.
2012-06-12 14:09:11 -07:00
Lindsey Kuper
8a730a255d Allow trailing comma in vectors. Closes #2482. 2012-06-12 13:03:30 -07:00
Tim Chevalier
87d57e4919 Don't treat all class fields as mutable, except in trans
Closes #2550
2012-06-11 10:16:17 -07:00
Brian Anderson
748bd12dc7 bench: xfail-pretty shootout-k-nucleotide 2012-06-09 16:12:28 -07:00
Brian Anderson
03e186cd04 bench: Modify shootout-k-nucleotide to not read from the filesystem 2012-06-09 13:57:18 -07:00
Brian Anderson
a884044066 bench: Increase the difficulty of fasta 2012-06-09 13:25:05 -07:00
Kevin Cantu
c2a9cc9394 Add the Alioth k-nucleotide benchmark
This is not particularly well performing yet (60x slower than C++ or
worse).  I think the slicing and the copies made for the hashmap
are mostly responsible, but YMMV.

By default shootout-fasta writes to stdout and shootout-k-nucleotide
reads from stdin.  To use an intermediate file with a fixed name,
set RUST_BENCH...
2012-06-09 12:58:12 -07:00
Niko Matsakis
7ec171f6ae make a copy so vec is not living in mutable memory 2012-06-08 20:39:11 -07:00
Niko Matsakis
013fc92423 remove alias analysis and replace with borrowck
This reverts commit 7ef825bb60.
2012-06-08 20:39:11 -07:00
Graydon Hoare
56c6c65186 Add preliminary test of walking data pointers via reflection. 2012-06-08 19:00:59 -07:00
Graydon Hoare
7a699852cb Pass names of fields and variants when reflecting. 2012-06-08 16:41:38 -07:00
Graydon Hoare
d182c14247 Visit the substructure for classes and enums as well. 2012-06-08 15:36:02 -07:00
Niko Matsakis
9105cb6d5d revise map interface so that K need not be copyable 2012-06-08 14:35:11 -07:00
Graydon Hoare
dc94ccc4a4 More work on reflect, only missing enum and class substructures. 2012-06-08 13:26:15 -07:00
Brian Anderson
7ef825bb60 Revert "remove alias analysis and replace with borrowck"
18s perf regression compiling rustc with opts

This reverts commit 7f6ee0ce0d.
2012-06-07 19:42:27 -07:00
Niko Matsakis
7f6ee0ce0d remove alias analysis and replace with borrowck
cc #2540
2012-06-07 16:46:57 -07:00
Graydon Hoare
9ee0137018 Refactor reflect.rs, begin visiting type substructures. 2012-06-07 13:51:41 -07:00
Brian Anderson
5f4837ad6a core: Start on a stack walker 2012-06-06 23:39:56 -07:00
Brian Anderson
125552fb19 rustc: Add frame_address intrinsic 2012-06-06 23:39:56 -07:00
Brian Anderson
469ff08e64 rustc: Enable #[cfg(windows)] and #[cfg(unix)] 2012-06-06 23:39:09 -07:00
Brian Anderson
eed3a36511 rustc: Add 'target_family' to default configuration 2012-06-06 23:39:09 -07:00
Tim Chevalier
cd02046de4 merge 2012-06-06 22:30:52 -07:00
Tim Chevalier
0327dc0b18 Insert missing maybe_print_comment call for class destructors
While it wasn't the original issue, the first program from #2487
failed the pretty-printing test because of this, so it's still a good
test case :-)

It also turns out that the second program from #2487 now triggers a
kind error, so I figured I might as well add it as a test case.
2012-06-06 22:09:10 -07:00
Graydon Hoare
3251bd690e Fix some copy-paste bugs in visit glue, un-xfail reflect-visit-type. 2012-06-06 19:38:56 -07:00
Tim Chevalier
f4fb0f9eea Handle regions correctly in class ctors and dtors
Class ctors and dtors were always getting assigned the empty region
before, which meant a reference to the "self" region in a ctor argument
got resolved to a named region called "self" rather than the class's
self region, which led to a rather confusing error message as documented
in #2502.

Closes #2502
2012-06-06 19:23:26 -07:00
Niko Matsakis
3b4cfdeee2 Merge remote-tracking branch 'mozilla/incoming'
Conflicts:
	src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
dd37c0a41e mask extra borrowck errors (should find out how to not report those) 2012-06-06 18:42:06 -07:00
Niko Matsakis
8ebbf464f5 minor changes to tests so they pass borrowck 2012-06-06 18:37:58 -07:00
Graydon Hoare
107442d994 Add some testcases for bug #2470. 2012-06-06 18:26:46 -07:00
Brian Anderson
ef32ffd0b1 core: Remove swappable. Unused 2012-06-06 17:48:45 -07:00
Tim Chevalier
db31969d4a prefix an _ to the name of an unused variable 2012-06-06 17:19:39 -07:00
Graydon Hoare
be83a12ff7 Add some testcases for bug #2470. 2012-06-06 16:01:12 -07:00
Tim Chevalier
a5c9e8d59e Fix tests to avoid empty classes 2012-06-06 15:08:24 -07:00
Tim Chevalier
feece9814a Revert "Revert "Fix test case so the class in it is non-empty" due to test failures"
This reverts commit c6e16c5668.
2012-06-06 15:08:24 -07:00
Tim Chevalier
5e8ef74e22 Revert "Revert "Forbid classes with no fields" due to test failures"
This reverts commit e56a6e8cb0.
2012-06-06 15:08:24 -07:00
Tim Chevalier
0218418428 Merge branch 'master' into really-really-to-snap 2012-06-06 12:22:14 -07:00
Patrick Walton
d53e633bd5 Revert "test: Remove swappable-test" due to test failures
This reverts commit aabf84cdd8.
2012-06-06 11:39:52 -07:00
Patrick Walton
055158d051 Revert "Merge pull request #2516 from mozilla/incoming" due to failures
This reverts commit adb717b5fa, reversing
changes made to aabf84cdd8.
2012-06-06 11:39:19 -07:00
Tim Chevalier
17e707cf6d Fix test case so the class in it is non-empty 2012-06-05 21:13:25 -07:00
Tim Chevalier
8fd9986f0f Forbid classes with no fields
Classes with no fields don't really make sense, so forbid them
(just as records with no fields aren't allowed). Closes #2509
2012-06-05 20:47:55 -07:00
Tim Chevalier
7daf986aec Port remaining run-fail tests to use classes instead of resources 2012-06-05 15:11:33 -07:00
Brian Anderson
aabf84cdd8 test: Remove swappable-test 2012-06-05 14:59:43 -07:00
Brian Anderson
d3c641678e rustc: Put uniques into addrspace 1 2012-06-05 14:03:25 -07:00
Eric Holk
1e8f501343 Machine types are different from int/uint, etc (Issue #2187) 2012-06-04 19:16:47 -07:00
Patrick Walton
a542258277 Add a test case for previous commit 2012-06-04 18:56:50 -07:00
Brian Anderson
6e0085210c core: Make uint::to_str faster 2012-06-04 14:30:57 -07:00
Niko Matsakis
3c4baf694e better support for classes with polymorphic methods 2012-06-04 11:46:23 -07:00
Niko Matsakis
01b5777c8b prohibit type parameters in native fns and other minor fixes
trans now can safely assert that it never sees a type param
2012-06-03 20:03:08 -07:00
Brian Anderson
9826541c0e Merge pull request #2492 from tedhorst/mandelbrot_args
fix args to shootout-mandelbrot benchmark
2012-06-03 15:02:16 -07:00
Brian Anderson
802a8c0f19 test: Add a test that logs are truncated with ellipses 2012-06-03 14:44:03 -07:00
Ted Horst
3c4a1ab0c4 fix args to shootout-mandelbrot benchmark 2012-06-03 09:45:23 -05:00
Brian Anderson
027e97b129 bench: Add an unwinding benchmark 2012-06-02 17:49:36 -07:00
Brian Anderson
3ab738f4af Add more #fmt float tests 2012-06-02 16:45:20 -07:00
Kevin Cantu
a7359f5b3b (float) fix some rounding errors when showing as str
This seems to fix issue #1876, and some of the superficial parts of
issue #1375.  The #fmt macro and the to_str functions will round,
rather than truncate, floats as strings.

Other issues remain, and I wrote more code here than intended, but the
following should pass now.

```
fn x() {
   assert "3.1416"      == #fmt["%.4f", 3.14159];
   assert "3"           == #fmt["%.0f", 3.14159];
   assert "99"          == #fmt["%.0f", 98.5];
   assert "7.0000"      == #fmt["%.4f", 6.999999999];
   assert "3.141590000" == #fmt["%.9f", 3.14159];
}
```
2012-06-02 16:38:18 -07:00
Niko Matsakis
77c470d183 Allow rcvrs to be borrowed; check rcvrs in borrowck properly 2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833 improve borrowck to handle some frankly rather tricky cases
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Brian Anderson
2a0b6f5fe2 test: xfail-win32 run-pass/companionmod. not sure why it's broke 2012-06-01 21:28:55 -07:00
Tim Chevalier
6e2aa3b998 Port more resource tests to classes 2012-06-01 20:40:35 -07:00
Tim Chevalier
de40318037 Tests for copyability and sendability rules for classes
Closes #2296
2012-06-01 20:40:35 -07:00
Tim Chevalier
11b4a92fc8 Port another resource test to use classes 2012-06-01 20:40:35 -07:00
Tim Chevalier
facb5c08c6 Enforce rule that classes with dtors aren't copyable
The test for this is copy-a-resource.
2012-06-01 20:40:35 -07:00
Tim Chevalier
b67f8e340b Remove obsolete test
This test no longer makes sense with classes instead of resources,
since class types can't be dereferenced.
2012-06-01 20:40:35 -07:00
Tim Chevalier
f6c552d6d7 Update task-killjoin-rsrc to use classes
This test was xfailed, but I decided to update it to use classes
anyway. The test currently compiles, but fails with a runtime error.
So it's still xfailed.
2012-06-01 20:40:34 -07:00
Tim Chevalier
10c141a232 Port more test cases to use classes instead of resources 2012-06-01 20:40:34 -07:00
Brian Anderson
1e801baa84 Revert "test: xfail-win32 run-pass/cci_borrow.rs"
This reverts commit 30f874bac5.
2012-06-01 18:27:38 -07:00
Brian Anderson
7737c094af Revert "test: xfail-win32 run-pass/cci_capture_clause.rs"
This reverts commit 2ab1b5838b.
2012-06-01 18:27:30 -07:00
Brian Anderson
2ab1b5838b test: xfail-win32 run-pass/cci_capture_clause.rs 2012-06-01 17:40:14 -07:00
Brian Anderson
30f874bac5 test: xfail-win32 run-pass/cci_borrow.rs 2012-06-01 17:26:01 -07:00