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
Daniel Micay
ed45354a95
remove old StdMap trait
...
this has been replaced by core::container::Map
2013-02-03 15:55:09 -05:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -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
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Erick Tryzelaar
e84576b888
convert most of libstd over to structs
2013-01-24 16:24:31 -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
bc96fe9c49
get rid of the std::map::Map LinearMap impl
...
This legacy trait needs to be dropped in order to migrate to
core::container::Map, which doesn't require @ and Copy, and will make
proper use of borrowed pointers.
2013-01-23 14:25:06 -05: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
Tim Chevalier
e1c52a4a9f
core: Change XXXs into proper FIXMEs with issue numbers
2013-01-10 20:10:09 -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
Ben Alpert
5910773c2e
doc: Rename mention of insert_or_update_with_key
...
As far as I can tell, these docs were meant to refer to update_with_key.
2012-12-28 14:04:43 -08:00
Patrick Walton
fa5ee934ed
libstd: Fix a bunch of resolve errors in tests. rs=fire
2012-12-27 18:24:18 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Brian Anderson
9723d3ac2f
Remove transitional code
2012-12-09 17:59:21 -08:00
Patrick Walton
d1ebdbeb6c
librustc: Implement explicit self for Add and Index; add a hack in the borrow checker to support this. r=nmatsakis
2012-12-04 14:51:31 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Brian Anderson
3ed9fbd63c
impls of traits cannot define methods on the anonymous trait
2012-11-29 22:07:49 -08:00
Brian Anderson
5c0206a1e4
Rename insert_with functions to update, update_with_key
2012-11-25 13:26: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
Kevin Cantu
a343e435d5
Add an insert_with_key function to the Map trait
2012-11-25 12:41:11 -08:00
Jesse Jones
68c852ad3a
Made Map.contains_key, contains_key_ref, and get pure.
2012-11-18 13:25:24 -08:00
Tim Chevalier
11e92f37c1
Remove uses of binary move - <- - from tests and libraries
2012-10-23 12:10:03 -07:00
Tim Chevalier
10612ee30c
Remove superfluous by-ref in option::get, option::get_default, option::expect
...
Superficial change, no review.
2012-10-19 11:38:28 -07:00
Tim Chevalier
5a8ba073bc
Make to_str pure and fix const parameters for str-mutating functions
...
Two separate changes that got intertwined (sorry):
Make to_str pure. Closes #3691
In str, change functions like push_char to take an &mut str instead of
an &str. Closes #3710
2012-10-11 14:17:59 -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
Patrick Walton
1c3bfa4550
libstd: Make vec_from_set pure
2012-10-03 19:40:25 -07: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
Graydon Hoare
201513e859
De-export std::{fun_treemap, list, map}. Part of #3583 .
2012-10-02 12:04:49 -07:00
Brian Anderson
bc9efaad9c
std: Eliminate deprecated patterns
2012-09-28 00:22:28 -07:00
Tim Chevalier
3023bd8729
Demode dvec
2012-09-25 18:27:55 -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
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
ebd3203eaf
repair broken map test; it seems that the original test relied on hokey
...
hash fns in order to setup conflicts. I just removed those asserts,
so the test is not as good as it once was.
2012-09-19 17:47:13 -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
2cdb23bbc0
Replace uses of 'unchecked' with 'unsafe'
2012-09-18 11:31:57 -07:00
Tim Chevalier
c087886e93
Make moves explicit in arguments
2012-09-11 20:02:34 -07:00
Tim Chevalier
9869d071d1
Make remaining moves explicit in libstd
2012-09-10 17:51:24 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00