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
Tim Chevalier
04a2887f87
Remove '.' after nullary tags in patterns
...
Does what it says on the tin.
The next commit will remove support for this syntax.
2012-01-18 23:17:34 -08:00
Brian Anderson
6e27b27cf8
libstd: Move std tests into libstd
2012-01-17 19:48:58 -08:00
Marijn Haverbeke
60ae1590af
Switch to new param kind bound syntax
...
And remove support for the old syntax
2012-01-05 15:50:02 +01:00
Graydon Hoare
a24c19e867
Add companion-module core.rs that exports log levels and option/some/none everywhere.
2011-12-20 12:41:44 -08:00
Graydon Hoare
fa9ad984fb
Copy first batch of material from libstd to libcore.
2011-12-13 16:34:50 -08:00
Graydon Hoare
447414f007
Establish 'core' library separate from 'std'.
2011-12-06 12:13:04 -08:00