bors
210fa2d017
auto merge of #4874 : thestinger/rust/option, r=catamorphism
2013-02-12 10:35:12 -08:00
Daniel Micay
f9c7ba009b
treemap: cut down on swap_unwrap in remove
...
Performance before:
std::treemap::TreeMap
sequential_ints 0.083971 s
random_ints 0.095861 s
delete_ints 0.083931 s
sequential_strings 0.278272 s
random_strings 0.240286 s
delete_strings 0.173581 s
Performance after:
std::treemap::TreeMap
sequential_ints 0.083297 s
random_ints 0.097644 s
delete_ints 0.052602 s
sequential_strings 0.287326 s
random_strings 0.242372 s
delete_strings 0.142269 s
2013-02-10 22:03:26 -05:00
Daniel Micay
b0f58f6e68
avoid explicit reborrow in heir_swap
2013-02-10 21:11:33 -05:00
Daniel Micay
195a969bb3
treemap: avoid swap_unwrap in insert
...
Performance before:
std::treemap::TreeMap
sequential_ints 0.151877 s
random_ints 0.160926 s
delete_ints 0.08694 s
sequential_strings 0.316458 s
random_strings 0.290778 s
delete_strings 0.169892 s
Performance after:
std::treemap::TreeMap
sequential_ints 0.083971 s
random_ints 0.095861 s
delete_ints 0.083931 s
sequential_strings 0.278272 s
random_strings 0.240286 s
delete_strings 0.173581 s
2013-02-10 20:49:44 -05:00
Daniel Micay
f9c15de1fd
treemap: use an &mut parameter for skew and split
...
results in a small performance improvement and reduces the compiled
code size
2013-02-10 20:47:22 -05:00
Daniel Micay
99ff74c1bd
make Option's iter method use a lifetime
2013-02-10 16:30:17 -05:00
Daniel Micay
8c32cd2dc8
fix map tests
2013-02-07 22:58:16 -05:00
Daniel Micay
a2f922f282
implement ReverseIter for TreeMap and TreeSet
2013-02-07 22:04:38 -05:00
Daniel Micay
e018244777
make Option's map and map_default use a lifetime
2013-02-07 22:04:38 -05:00
Daniel Micay
f6e0df6563
implement BaseIter for TreeMap
2013-02-07 22:04:37 -05:00
Daniel Micay
83270d2d79
rm each method from the Map trait
...
the map types should implement BaseIter instead
2013-02-07 22:04:35 -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
Daniel Micay
bdfb930f34
treemap: make map_next and set_next public
2013-02-06 17:37:56 -05:00
Daniel Micay
1694168783
update treemap FIXME
2013-02-06 17:37:56 -05:00
Daniel Micay
37e998696f
get rid of implicit vec copies in treemap iterator
...
Each call to next() was doing a copy rather than a move. There's
currently no way for this to be a method that uses &mut self, so it has
to be a free function. Closes #4763 .
2013-02-06 17:37:56 -05:00
Daniel Micay
5b6c26b4e4
treemap: get rid of some implicit vector copies
2013-02-06 17:37:56 -05:00
Daniel Micay
b91a51daca
remove issue #3148 workarounds (no longer needed)
2013-02-06 17:37:56 -05:00
Daniel Micay
6b08683e15
add intersection and union to the Set trait
2013-01-29 22:24:00 -05:00
Daniel Micay
99eb4ddddd
add difference and symmetric_difference to Set
2013-01-29 21:59:58 -05:00
Daniel Micay
42cafcee2c
add is_disjoint to the Set trait
2013-01-29 21:30:55 -05:00
Daniel Micay
bfa9c9a00f
add is_subset and is_superset to the Set trait
2013-01-29 21:30:55 -05:00
Daniel Micay
456af7a79d
update comments documenting issue #4492 workaround
2013-01-29 21:30:55 -05:00
Daniel Micay
a388e2c1a4
treemap: rm a bit of redundant code
2013-01-29 21:30:55 -05: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
3a6849f36b
Revert "Revert "Merge pull request #4633 from thestinger/treemap""
...
This reverts commit d73077f82d
.
2013-01-28 17:20:29 -08:00
Cody Schroeder
6a4d1855bf
std: implement lexicographical Ord for TreeMap/TreeSet
2013-01-26 16:39:17 -08:00
Tim Chevalier
d73077f82d
Revert "Merge pull request #4633 from thestinger/treemap"
...
I was too hasty in merging -- this needs a snapshot.
This reverts commit 4a7e1ab374
, reversing
changes made to e447521c1c
.
2013-01-25 13:39:04 -08:00
Daniel Micay
aff3db26aa
use mutable function argument syntax in treemap
2013-01-25 10:55:18 -05:00
Patrick Walton
ad25e208ee
librustc: Allow &mut
to be loaned; allow self
to be loaned; make &mut
loanable to &
. r=nmatsakis
2013-01-24 13:52:22 -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
Patrick Walton
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Daniel Micay
591eefd740
improve hashmap/treemap documentation
2013-01-23 16:47:27 -05:00
Daniel Micay
45c9f6a099
add find method to the core::container::Map trait
2013-01-23 14:25:06 -05:00
Daniel Micay
7eb8642aed
drop is_not_empty from TreeSet/TreeMap
2013-01-22 22:36:29 -05:00
Daniel Micay
6f4d86ed90
add a base Container trait
2013-01-22 08:10:08 -05:00
Daniel Micay
d635a6e506
add a container::Map trait
2013-01-22 08:10:08 -05:00
Daniel Micay
ffb9049274
add a Mutable container trait with clear
2013-01-22 08:09:53 -05:00
Daniel Micay
66e50892c1
style fix
2013-01-21 21:27:21 -05:00
Daniel Micay
13d07ad0a6
add a Set trait and implement it for TreeSet
2013-01-20 14:58:19 -05:00
Daniel Micay
c7abdd3847
re-borrow in heir_swap (fixes compile)
2013-01-17 16:54:12 -08:00
Daniel Micay
f7d9485331
indentation fix
2013-01-17 16:54:12 -08:00
Daniel Micay
3fe6faace8
make is_superset/is_subset O(n+m) instead of O(n*log(m))
2013-01-17 16:54:12 -08:00
Daniel Micay
4f92d8fb52
make intersection O(n+m) instead of O(n*log(m))
2013-01-17 16:54:12 -08:00
Daniel Micay
9fb49088b3
make is_disjoint O(n+m) instead of O(n*log(m))
2013-01-17 16:54:12 -08:00
Daniel Micay
8935771377
cleanup
2013-01-17 16:54:12 -08:00
Daniel Micay
4b567dd067
add TreeSetIterator
2013-01-17 16:54:12 -08:00
Daniel Micay
2b17e2fc18
docstring/comment fixes
2013-01-17 16:54:11 -08:00
Daniel Micay
3df183e7ab
fix bug in union implementation (missing return)
2013-01-17 16:54:11 -08:00
Daniel Micay
a73f4b1baa
implement symmetric_difference
2013-01-17 16:54:11 -08:00
Daniel Micay
d44084e100
implement set union
2013-01-17 16:54:11 -08:00
Daniel Micay
b8caba2fce
make TreeSet tests a bit more paranoid
2013-01-17 16:54:11 -08:00
Daniel Micay
1aaeda1e1e
add scaffolding for symmetric_difference/union
2013-01-17 16:54:11 -08:00
Daniel Micay
90b111f4bf
range search would be nice
2013-01-17 16:54:11 -08:00
Daniel Micay
670748e383
implement set difference
2013-01-17 16:54:11 -08:00
Daniel Micay
3b3ecc9ffc
fix API of union
2013-01-17 16:54:11 -08:00
Daniel Micay
dc27759bd1
remove 'TODO' from the list of future improvements
2013-01-17 16:54:11 -08:00
Daniel Micay
d001171435
rm extra newline
2013-01-17 16:54:11 -08:00
Daniel Micay
cae273abc0
clean up equality code a bit
2013-01-17 16:54:11 -08:00
Daniel Micay
1e5c553b7c
make Eq implementation O(n)
2013-01-17 16:54:11 -08:00
Daniel Micay
9cc9a7582c
add a lazy forward iterator to TreeMap
2013-01-17 16:54:11 -08:00
Daniel Micay
7f754764d6
replace treemap with a balanced tree
2013-01-17 16:54:11 -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
Patrick Walton
fa5ee934ed
libstd: Fix a bunch of resolve errors in tests. rs=fire
2012-12-27 18:24:18 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Tim Chevalier
bbc90b6bf6
Fix whitespace
2012-10-17 12:59:30 -07:00
Daniel Patterson
fd6be2fa4e
std::treemap - changing types to reflect constraints, adding equality check (space expensive)
2012-10-17 12:59:30 -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
Brian Anderson
bc9efaad9c
std: Eliminate deprecated patterns
2012-09-28 00:22:28 -07:00
Graydon Hoare
fe62ff465c
De-mode std::{treemap,sort}. Part of #3583 .
2012-09-27 18:21:32 -07:00
Brian Anderson
0ec267b276
std: Demode more of list and treemap
2012-09-26 19:12:32 -07:00
Brian Anderson
62649f0412
Check more things with deprecated_modes
2012-09-25 17:41:29 -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
Brian Anderson
3bd1f32cd9
Convert all kind bounds to camel case. Remove send, owned keywords.
2012-09-07 18:10:11 -07:00
Brian Anderson
0684c065a9
std: Camel case treemap
2012-09-04 14:35:43 -07:00
Kevin Cantu
9c8b0c6006
Demode treemap.rs
2012-09-04 11:30:49 -07:00
Patrick Walton
2d690ae43f
libstd: "import" -> "use"
2012-09-04 11:23:53 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Tim Chevalier
9f591319dd
Rename str::bytes to str::to_bytes
...
Closes #3245
2012-08-23 15:46:10 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -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
Tim Chevalier
889be71cb4
Comments only: change TODOs to FIXMEs and annotate them
2012-07-05 16:10:29 -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
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Niko Matsakis
58988c3565
changes to get std passing borrowck
2012-05-23 17:25:56 -07:00
Graydon Hoare
6e6798c4e1
Bulk-edit mutable -> mut.
2012-03-26 18:35:18 -07:00
Brian Anderson
cd72b1f848
Overhaul constructor naming in libs
2012-03-13 11:07:22 -07:00
Brian Anderson
95521c4084
std: Convert to rustdoc
2012-03-09 22:56:53 -08:00
Marijn Haverbeke
67cc89f38d
Rewrite exhaustiveness checker
...
Issue #352
Closes #1720
The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Tim Chevalier
fba35e1a3c
Require alts to be exhaustive
...
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Niko Matsakis
5e13d19cc0
s/block()/fn()/g
2012-01-23 19:06:33 -08:00
Graydon Hoare
7b1a8f0a91
Additional ; to , changes, disable "tag" and ";" in parser. Close #1430 . Close #1428 .
2012-01-19 19:29:21 -08:00
Patrick Walton
6222e98dda
lib: ';' to ',' in enums in more places
2012-01-19 19:08:49 -08:00
Patrick Walton
c5a407b11b
stdlib: "tag" -> "enum"
2012-01-19 15:22:25 -08:00