Commit Graph

612 Commits

Author SHA1 Message Date
Ted Horst
9ecb8a60ed update copyright dates 2013-02-19 09:53:03 -06:00
Ted Horst
45f34059af move shootout-mandelbrot to LinearMap, add depth argument 2013-02-19 09:49:23 -06:00
Alex Crichton
cf2ddf0437 Add benchmarks to measure differences in bit vectors 2013-02-18 01:24:14 -05:00
Alex Crichton
91fae27912 Modernize bitv mut fields and explicit self 2013-02-17 23:09:20 -05:00
Daniel Micay
b47e1e9eda modernize std::deque
* use a proper exported data type with private fields
* implement core::container::Container
* use the current constructor convention
* use explicit self
* get rid of DVec and the mutable fields

Closes #2343
2013-02-16 18:20:54 -05:00
bors
566bcf2225 auto merge of #4969 : nickdesaulniers/rust/issue3869, r=brson
Issue #3869
review? @nikomatsakis 

Convert all uses of vec::slice to vec::view Issue #3869
Rename const_view to const_slice
Renamed mut_view to mut_slice
Fix windows build error.  `buf` is borrowed by the call to
`as_mut_buf()` and so we must invoke `slice()` outside of that
call.
2013-02-15 13:54:49 -08:00
Luqman Aden
178882c98f tests/tutorials: Get rid of move. 2013-02-15 02:49:55 -08:00
Nick Desaulniers
5d62a4a52e Convert all uses of vec::slice to vec::view Issue #3869
Rename const_view to const_slice
Renamed mut_view to mut_slice
2013-02-14 16:14:32 -08:00
Patrick Walton
9143688197 librustc: Replace impl Type : Trait with impl Trait for Type. rs=implflipping 2013-02-14 14:44:12 -08:00
Nick Desaulniers
4445b38df2 Remove die!, raplace invocations with fail! Issue #4524 pt 3 2013-02-13 17:01:32 -08:00
Ben Striegel
e6c82c0375 RIMOV core::vec
Also remove as many uses as possible of vec::cast_to_mut and
cast_from_mut
2013-02-13 12:48:24 -05:00
Daniel Micay
a32c5c73ee oldmap: get rid of legacy _ref suffixes 2013-02-08 19:12:51 -05:00
Niko Matsakis
a32498d846 Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
correct handling of moves for struct-record update.

Part of #3678.  Fixes #2828, #3904, #4719.
2013-02-07 05:53:30 -08:00
Patrick Walton
801f3225b2 oldmap: use &K instead of K in find and get
This reverts commit a4250a96fd.

This is not the cause of the nonexhaustive-match failure.
2013-02-05 19:41:45 -08:00
Graydon Hoare
a4250a96fd Revert "oldmap: use &K instead of K in find and get"
This reverts commit 8e643525d4.
2013-02-05 14:30:53 -08:00
bors
bffe3088c7 auto merge of pull req #4777 from thestinger/rust, r=graydon 2013-02-04 17:24:40 -08:00
Brian Anderson
e08a805b30 Merge remote-tracking branch 'bstrie/rimov' into incoming
Conflicts:
	src/libsyntax/parse/parser.rs
	src/test/bench/graph500-bfs.rs
	src/test/bench/sudoku.rs
	src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
	src/test/run-pass/empty-mutable-vec.rs
	src/test/run-pass/foreach-nested.rs
	src/test/run-pass/swap-2.rs
2013-02-04 11:58:30 -08:00
Daniel Micay
8e643525d4 oldmap: use &K instead of K in find and get 2013-02-03 23:30:56 -05:00
Brian Anderson
3b396d17d6 Merge remote-tracking branch 'thestinger/old_map' into incoming
Conflicts:
	src/test/bench/core-map.rs
2013-02-03 17:56:49 -08:00
Marvin Löbel
af4972f3ce Fixed fmt!, tests, doc-tests. 2013-02-03 15:37:25 -08:00
Daniel Micay
4fd9264875 oldmap: &K instead of K for the remove parameter 2013-02-03 18:20:59 -05:00
Daniel Micay
81b4f36d49 oldmap: remove legacy each method 2013-02-03 15:55:11 -05:00
Daniel Micay
1b4eb145f9 oldmap: implement core::container::Container 2013-02-03 15:55:10 -05:00
Daniel Micay
f4a27b2c7d oldmap: get rid of the legacy contains_key method 2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79 rename map -> oldmap and mark it as deprecated
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Nick Desaulniers
7868b6bf55 Remove fail keyword from lexer & parser and clean up remaining calls to
fail

Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
Nick Desaulniers
6fb4239bb3 Replace most invocations of fail keyword with die! macro 2013-01-31 22:25:12 -08:00
Daniel Micay
74b317ddc2 modernize smallintmap
* switch to explicit self
* get rid of the @ box
* replace DVec with ~[] (to get rid of the mutable field)
* implement the new container::Map trait
2013-01-31 23:22:51 -05:00
Daniel Micay
70855f5a07 move smallintmap to oldsmallintmap 2013-01-31 23:13:56 -05:00
Nick Desaulniers
aee7929469 Replace most invocations of fail keyword with die! macro 2013-01-31 20:12:49 -08:00
Niko Matsakis
0682ad0eb9 Finalize moves-based-on-type implementation.
Changes:

- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
  (though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
  (see details below)

Future work (I'll open bugs for these...):

- Improve error messages for moves that are due
  to bindings
- Add support for moving owned content like a.b.c
  to borrow check, test in trans (but I think it'll
  "just work")
- Proper fix for def-ids in params

Def ids in params:

Move captures into a map instead of recomputing.

This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining.  I am
not sure of my preferred fix for the larger bug yet.  This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Patrick Walton
767d2c0a97 test: De-export sudoku. rs=burningtree 2013-01-30 21:46:47 -08:00
Ben Striegel
9330b2f7b9 Fix bench/sudoku, broken by deëxporting 2013-01-31 00:06:48 -05:00
Ben Striegel
b5f61fddde Repair RIMOV damage to benchmarks 2013-01-30 23:21:57 -05:00
Ben Striegel
0336a8633f RIMOV, round 10
find ./ -type f -name "*.rs" -exec sed -i "s/~\[mut /~\[/g" {} \;
2013-01-30 23:19:08 -05:00
Ben Striegel
f08af9a7a5 RIMOV, round 5
find ./ -type f -name "*.rs" -exec sed -i "s/\&\[mut /\&mut \[/g" {} \;
2013-01-30 23:18:08 -05:00
Ben Striegel
5577ce635f RIMOV, round 3
find ./ -type f -name "*.rs" -exec sed -i "s/let \(.*\)\[mut[ ]\?/let
mut \1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Patrick Walton
2a65842c3a test: De-export aux, bench, compile-fail, and run-fail. rs=deexporting 2013-01-30 15:08:45 -08:00
Brian Anderson
02e907b648 Remove oldcomm from the test suite 2013-01-30 00:48:10 -08:00
Patrick Walton
6ce74460e6 librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc 2013-01-29 10:42:58 -08:00
Tim Chevalier
fc9650b146 testsuite: De-record most bench tests 2013-01-28 19:41:56 -08:00
Tim Chevalier
9f11485357 testsuite: Allow structural records in two tests that use pipes 2013-01-28 19:41:56 -08:00
Tim Chevalier
a202dcccca Merge pull request #4594 from thestinger/map
more work on the map trait and TreeMap/LinearMap
2013-01-23 20:10:47 -08:00
Graydon Hoare
ab8d77474c test: fix benchmark unsafe blocks, r=burningtree. 2013-01-23 18:02:22 -08:00
Daniel Micay
dbd65577ad fix core-map.rs benchmark 2013-01-23 19:51:49 -05:00
Daniel Micay
7f0fa143bc switch LinearMap to current constructor convention 2013-01-23 18:01:24 -05:00
Patrick Walton
6dbfb5da0b libcore: Use LLVM intrinsics for floor; add a new Perlin noise benchmark. r=brson 2013-01-23 11:37:32 -08:00
Daniel Micay
b7ef28c33a rename send_map to hashmap
This makes the module much more discoverable, and is in line with the
'treemap' naming.
2013-01-23 14:25:01 -05:00
Trinick
9dc8e96c5f core: Rename to_mut and from_mut to cast_to_mut and cast_from_mut 2013-01-23 10:09:45 +00:00
Niko Matsakis
fe0f84823a add two more copies required in word-count rs=breakage 2013-01-10 15:02:31 -08:00
Patrick Walton
2db3abddcd librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37 Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
This reverts commit a8d37af247.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247 librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 19:27:57 -08:00
Ted Horst
af48f30542 use newtype struct for devnull rather than type aliased record 2013-01-02 15:35:32 -08:00
Ted Horst
7c79b5e434 really update mandelbrot to pipes 2013-01-02 15:35:32 -08:00
Patrick Walton
5245aceba9 test: Fix benchmarks. rs=rustbot 2012-12-28 19:57:18 -08:00
Tim Chevalier
7ce0d30b9b Update shootout-mandelbrot to work with the new io::Writer 2012-12-24 13:29:36 -08:00
Ted Horst
2452ee11ab update mandelbrot to pipes, a few other updates 2012-12-23 13:17:42 -06:00
Graydon Hoare
8e28f23c60 core: add macro_rules! for "condition! { c: in -> out; }". 2012-12-18 17:22:27 -08:00
Brian Anderson
a9601bce10 Fix broken tests 2012-12-14 15:58:06 -08:00
Tim Chevalier
abe33f165e Un-xfail tests that work now 2012-12-14 15:05:48 -08:00
Brian Anderson
e6d1b02359 Rename core::comm to core::oldcomm 2012-12-14 14:59:32 -08:00
Brian Anderson
80ef7243ea Remove spawn_listener, spawn_conversation
These are not needed in a pipe-based Rustiverse
2012-12-14 14:59:32 -08:00
Brian Anderson
dff2853e4d Remove bench/shootout-threadring.rs
Will need to be completely rewritten for pipes
2012-12-14 14:59:32 -08:00
Brian Anderson
05a35a2e5c Remove two comm-oriented benchmarks that have pipe equivs 2012-12-14 14:59:32 -08:00
Brian Anderson
9677fff0f9 Fix benchmarks 2012-12-13 18:24:15 -08:00
Brian Anderson
ed4fac01b5 Rename Send trait to Owned 2012-12-13 15:52:50 -08:00
Tim Chevalier
38bd694df1 Reverse the order of the results of pipes::stream
As per #3637.
2012-12-11 19:23:28 -08:00
Graydon Hoare
a55ea48d2b libstd: refactor future, remove with(), remove ~ indirection.
Conflicts:

	src/libstd/future.rs
2012-12-11 15:56:47 -08:00
Graydon Hoare
d1affff623 Reliciense makefiles and testsuite. Yup. 2012-12-10 17:32:58 -08:00
Tim Chevalier
2c2398ca0d Xfail broken tests 2012-12-07 23:42:58 -08:00
Graydon Hoare
b4401d12a7 bench: fix nbody bugs, r=burningtree. 2012-12-07 12:21:30 -08:00
Patrick Walton
9750763a70 test: Fix compilation of benchmarks for moves-based-on-type. rs=bustage 2012-12-06 15:56:52 -08:00
Patrick Walton
4055001388 test: Fix shootout-mandelbrot.rs. rs=bustage 2012-12-06 15:38:04 -08:00
Patrick Walton
9e1c9be16f librustc: Make the Drop trait use explicit self 2012-11-29 11:06:15 -08:00
Graydon Hoare
082a88e42c Merge pull request #4032 from catamorphism/getopts
[libstd] getopts, now with fewer copies
2012-11-28 08:47:25 -08:00
Patrick Walton
7bc29c62d0 libcore: Add explicit self to all overloaded operators but Add and Index. r=brson 2012-11-26 19:35:52 -08:00
Brian Anderson
3ac90ec9f8 Fix test breakage 2012-11-25 16:10:37 -08:00
Kevin Cantu
ff4075e553 Add improvements to insert_with_key
This commit adds a lower-level implementation of the generic
`insert_with_key` which I expect to be faster. Now insert could be
defined with insert_with_key, too, although I'm not sure we want to do that.

This also clarifies the tests a bit and adds an `insert_with` function.
2012-11-25 12:41:11 -08:00
Kevin Cantu
7b13ef7d50 Test insert_with_key... 2012-11-25 12:41:11 -08:00
Tim Chevalier
f74fe894fc [libstd] getopts, now with fewer copies
Change the opt_ functions in getopts to take a reference to a
Matches, instead of taking a Matches by-value, as suggested in
2012-11-24 12:52:27 -08:00
Tim Chevalier
5da43724bf Add comments explaining why these tests fail 2012-11-15 16:59:07 -08:00
Ben Striegel
f4a5a76aa4 Convert the test suite to use the Drop trait 2012-11-14 19:26:37 -08:00
Graydon Hoare
4e1ce014c8 cleanup: convert some remaining #foo invocations to foo! form. 2012-11-13 08:57:31 -08:00
Tim Chevalier
165ce14f68 Remove xfail-pretty from tests that pretty-print correctly now 2012-10-30 15:06:10 -07:00
Brian Anderson
a9d7642b5d Merge remote-tracking branch '14427/incoming'
Conflicts:
	src/libstd/sort.rs
2012-10-25 14:01:49 -07:00
Brian Anderson
d29962f0eb Move futures to std 2012-10-23 14:46:49 -07:00
Brian Anderson
3e4b2bd2b2 core: Use PortOne instead of Future in future_result 2012-10-23 14:21:15 -07:00
Tim Chevalier
11e92f37c1 Remove uses of binary move - <- - from tests and libraries 2012-10-23 12:10:03 -07:00
Simon BD
cc0f2c6bb2 Merge remote-tracking branch 'original/incoming' into incoming 2012-10-22 18:33:41 -05:00
Tim Chevalier
f5f3a75b65 Make moves explicit in bench tests 2012-10-12 20:43:37 -07:00
Kevin Cantu
1bede1f5e0 Replace several common macros of the form #m[...] with m!(...)
This commit replaces nearly all remaining uses of #fmt, #debug, #error,
and #info, and fixes some error messages...
2012-10-12 14:14:48 -07:00
Tim Chevalier
693866d75e Change FIXME number 2012-10-11 18:09:55 -07:00
Tim Chevalier
44bffd2059 Revert "Use a constant vector for the sudoku board, delete a FIXME"
This reverts commit 06d0bf7555.
2012-10-11 18:08:58 -07:00
Tim Chevalier
06d0bf7555 Use a constant vector for the sudoku board, delete a FIXME 2012-10-11 17:02:12 -07:00
Tim Chevalier
668b39cb5c Use match move in pingpong, delete a FIXME 2012-10-11 17:01:55 -07:00
Simon BD
0e3bec0ced Merge remote-tracking branch 'original/incoming' into incoming 2012-10-06 13:15:18 -05:00
Tim Chevalier
f96a2a2ca1 Remove by-mutable-ref mode from the compiler
and test cases. Closes #3513
2012-10-05 22:45:50 -07:00
Tim Chevalier
8fc60af441 Remove by-copy mode from std, mostly
One instance remains in net_tcp due to a foreign fn. Lots of
instances remain in serialization.rs, but IIRC that is being removed.

I had to do unholy things to task-perf-word-count-generic to get it
to compile after demoding pipes. I may well have messed up its
performance, but it passes.
2012-10-04 19:59:47 -07:00
Tim Chevalier
fe12da0864 De-mode comm::Chan 2012-10-04 16:48:57 -07:00
Brian Anderson
edc317b821 Remove arg vectors from main functions. Stop supporting them. 2012-10-04 15:07:49 -07:00
Simon BD
efcd2385ea Merge remote-tracking branch 'original/incoming' into incoming
Conflicts:
	src/libstd/json.rs
	src/libstd/sort.rs
2012-10-03 21:47:09 -05:00
Tim Chevalier
f33539e446 Remove uses of + mode from libstd
More or less the same as my analogous commit for libcore. Had
to remove the forbid(deprecated_modes) pragma from some files -- will
restore it after the snapshot.
2012-10-03 14:05:51 -07:00
Tim Chevalier
f78cdcb636 Removing explicit uses of + mode
This removes most explicit uses of the + argument mode. Pending a
snapshot, I had to remove the forbid(deprecated_modes) pragma from
a bunch of files. I'll put it back!

+ mode still has to be used in a few places for functions that get
moved (see task.rs)

The changes outside core and std are due to the to_bytes trait and
making the compiler (with legacy modes on) agree with the libraries
(with legacy modes off) about modes.
2012-10-02 14:31:39 -07:00
Patrick Walton
9284179311 libstd: Switch off legacy modes in both core and std. 2012-10-02 12:20:06 -07:00
Tim Chevalier
b18320446e Move over to calling ptr::addr_of
Everything should now call ptr::addr_of instead of
ptr::p2::addr_of. Only the pipes macro code when compiled
by stage0 will call ptr::p2::addr_of. Needs a snapshot to get
rid of that.
2012-10-01 15:12:09 -07:00
Tim Chevalier
90f959aad4 Fix graph500-bfs 2012-09-28 19:26:24 -07:00
Graydon Hoare
f311bb38cd Fix benchmarks. 2012-09-28 18:26:36 -07:00
Tim Chevalier
fec96b2ae0 Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vec 2012-09-28 17:44:15 -07:00
Niko Matsakis
21519bc7e0 demode vec 2012-09-28 13:27:45 -07:00
Simon BD
4f9f1c5f9a Switch order of merge_sort arguments in some benchmarks 2012-09-27 20:44:31 -05:00
Tim Chevalier
7e7411e620 Demode rand 2012-09-27 11:32:09 -07:00
Brian Anderson
010f805a7b Unbreak test/bench/task-perf-word-count-generic 2012-09-26 19:30:09 -07:00
Niko Matsakis
67a8e7128a Demode vec::push (and convert to method) 2012-09-26 18:02:07 -07:00
Tim Chevalier
95bc32dc4f Fix borked tests 2012-09-25 22:13:05 -07:00
Brian Anderson
d05e2ad66c Demode core::result 2012-09-25 17:48:22 -07:00
Niko Matsakis
267ab11cca use + mode for (almost) everything when not using legacy modes 2012-09-25 12:47:35 -07:00
Brian Anderson
4a78f9b166 core: Demode option 2012-09-23 17:15:00 -07:00
Niko Matsakis
ba3eebd41d Make it illegal to use modes in a fn signature with providing
an explicit variable name. (Step one to changing the defaults)

First step to #3535
2012-09-23 13:30:13 -05:00
Niko Matsakis
3d59ac3a19 De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi 2012-09-21 19:13:55 -07:00
Patrick Walton
d48396c986 libcore: De-mode str 2012-09-21 18:37:06 -07:00
Graydon Hoare
dffe188991 Install new pub/priv/export rules as defaults, old rules accessible under #[legacy_exports]; 2012-09-21 18:11:43 -07:00
Niko Matsakis
38595e6664 remove cfg(stage0) version of Eq, not needed for tests 2012-09-20 14:34:22 -07:00
Patrick Walton
9117dcb968 rustc: De-mode all overloaded operators 2012-09-20 09:48:05 -07:00
Niko Matsakis
cfed923600 demode the each() method on vec and other iterables. 2012-09-19 17:03:01 -07:00
Graydon Hoare
5e41739562 Remove final bits of residual hokey-hash functions. Close #1616. 2012-09-19 16:35:53 -07:00
Graydon Hoare
1ffd90edbc Remove redundant hashmap constructor functions. 2012-09-19 15:51:44 -07:00
Niko Matsakis
9cf271fe96 De-mode vec::each() and many of the str iteration routines
Note that the method foo.each() is not de-moded, nor the other
vec routines.
2012-09-19 10:52:59 -07:00
Niko Matsakis
8d4928f780 Revert "replace explicit calls to vec::each with vec::each_ref, partially demode str"
This reverts commit 1be24f0758.

Not quite ready.
2012-09-18 21:41:13 -07:00
Niko Matsakis
1be24f0758 replace explicit calls to vec::each with vec::each_ref, partially demode str 2012-09-18 21:31:00 -07:00
Brian Anderson
a9fea86970 Tweak graph500-bfs so it pretty-prints 2012-09-18 19:25:59 -07:00
Brian Anderson
a005b1af60 Fix some broken tests 2012-09-18 18:49:23 -07:00
Patrick Walton
e653d493fb rustc: Remove legacy mode inference, unless #[legacy_modes] is used 2012-09-18 15:53:04 -07:00
Erick Tryzelaar
b73f801cc1 int/uint parse_buf => parse_bytes (#3444) 2012-09-15 13:38:41 -07:00
Niko Matsakis
7e5661214a Remove unnecessary temporary, add type annot to help inferencer (cc #2280) 2012-09-13 09:14:49 -07:00
Brian Anderson
308ca06012 Rename str::unsafe to str::raw 2012-09-12 19:55:16 -07:00
Niko Matsakis
5d540de769 fixup mutability of vec::each, make iter_bytes pure
also, change DVec() to work with imm vectors rather than mut ones
2012-09-12 13:29:31 -07:00
Brian Anderson
ea01ee2e9e Convert 'use' to 'extern mod'. Remove old 'use' syntax 2012-09-11 19:25:43 -07:00
Brian Anderson
298eb8c726 Convert 'import' to 'use'. Remove 'import' keyword. 2012-09-10 19:04:26 -07:00
Brian Anderson
cb7a5395dd Convert std::map to camel case 2012-09-10 17:08:36 -07:00
Niko Matsakis
29003c799f Rename the poorly named Managed<T> type to Mut<T>.
The Mut<T> type is intended to allow freezable data stuctures to be stored in
`@mut` boxes. Currently this causes borrowck to be very conserivative since it
cannot prove that you are not modifying such a structure while iterating over
it, for example.  But if you do `@Mut<T>` instead of `@mut T`, you will
effectively convert borrowck's static checks into dynamic ones.  This lets
you use the e.g. send_map just like a Java Map or something else.
2012-09-10 16:50:07 -07:00
Brian Anderson
93d3b8aa6b Convert class methods to impl methods. Stop parsing class methods 2012-09-10 16:13:08 -07:00
Brian Anderson
10aa849d28 Fix broken tests 2012-09-10 15:36:04 -07:00
Patrick Walton
22b8757705 rustc: Make shape-based compare glue never called for comparison operators.
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Jeff Olson
8e86cd0aa7 test: bunch of test cleanup from sendable_futures change 2012-09-08 14:22:16 -07:00
Kevin Cantu
00d1d4e647 (fix incoming) Add the necessary traits to some generic functions 2012-09-07 21:57:40 -07:00
Kevin Cantu
a12e90b65f (partially fix incoming) More hash function simplification 2012-09-07 21:08:37 -07:00
Brian Anderson
3bd1f32cd9 Convert all kind bounds to camel case. Remove send, owned keywords. 2012-09-07 18:10:11 -07:00
Brian Anderson
2810ea9a68 Convert 'again' to 'loop'. Remove 'again' keyword 2012-09-07 17:39:03 -07:00
Brian Anderson
f0eae8f1c1 Convert field terminators to commas. Stop parsing semis. 2012-09-07 16:12:15 -07:00