Commit Graph

95 Commits

Author SHA1 Message Date
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