Djzin
328818934b
impl RangeArgument for RangeInclusive and add appropriate tests
2017-02-18 18:57:18 +00:00
Son
7c8c45e762
Extract collections benchmarks to libcollections/benches
...
And libcore/benches
2017-02-06 21:38:47 +11:00
Andrew Paseltiner
75fe66e349
Implement placement-in protocol for Vec
2016-12-23 04:16:28 +00:00
bors
0da37c585e
Auto merge of #37212 - srinivasreddy:libcollectionstest, r=nrc
...
run rustfmt on libcollectionstest
2016-10-27 22:02:31 -07:00
Srinivas Reddy Thatiparthy
e820a866bc
run rustfmt on libcollectionstest
2016-10-25 21:59:22 +05:30
Simon Sapin
7e603d4e3b
Implement From<Cow<str>> for String
and From<Cow<[T]>> for Vec<T>
.
...
Motivation: the `selectors` crate is generic over a string type,
in order to support all of `String`, `string_cache::Atom`, and
`gecko_string_cache::Atom`. Multiple trait bounds are used
for the various operations done with these strings.
One of these operations is creating a string (as efficiently as possible,
re-using an existing memory allocation if possible) from `Cow<str>`.
The `std::convert::From` trait seems natural for this, but
the relevant implementation was missing before this PR.
To work around this I’ve added a `FromCowStr` trait in `selectors`,
but with trait coherence that means one of `selectors` or `string_cache`
needs to depend on the other to implement this trait.
Using a trait from `std` would solve this.
The `Vec<T>` implementation is just added for consistency.
I also tried a more general
`impl<'a, O, B: ?Sized + ToOwned<Owned=O>> From<Cow<'a, B>> for O`,
but (the compiler thinks?) it conflicts with `From<T> for T` the impl
(after moving all of `collections::borrow` into `core::borrow`
to work around trait coherence).
2016-10-21 17:42:29 +02:00
bors
07b86d0d4d
Auto merge of #37162 - matklad:static-mut-lint, r=jseyfried
...
Lint against lowercase static mut
Closes #37145 .
Lint for non mut statics was added in https://github.com/rust-lang/rust/pull/7523 , and it explicitly did not cover mut statics. I am not sure why.
2016-10-17 04:32:15 -07:00
Aleksey Kladov
72399f2db7
Rename static mut to upper case
2016-10-14 17:21:11 +03:00
Simon Sapin
be34bac1ab
Add Vec::dedup_by and Vec::dedup_by_key
2016-10-11 14:39:14 +02:00
Simon Sapin
f14f4db6e8
Move Vec::dedup tests from slice.rs to vec.rs
2016-09-26 18:17:38 +02:00
bors
7ac11cad3f
Auto merge of #35747 - jonathandturner:rollup, r=jonathandturner
...
Rollup of 23 pull requests
- Successful merges: #34370 , #35415 , #35595 , #35610 , #35613 , #35614 , #35621 , #35660 , #35663 , #35670 , #35671 , #35672 , #35681 , #35686 , #35690 , #35695 , #35707 , #35708 , #35713 , #35722 , #35725 , #35726 , #35731
- Failed merges: #35395
2016-08-17 09:49:34 -07:00
Andrew Paseltiner
7e148cd062
Make vec::IntoIter
covariant again
...
Closes #35721
2016-08-16 20:45:07 -04:00
Corey Farwell
bc52bdcedc
Implement Debug
for std::vec::IntoIter
.
...
Display all the remaining items of the iterator, similar to the `Debug`
implementation for `core::slice::Iter`:
f0bab98695/src/libcore/slice.rs (L930-L937)
Using the `as_slice` method that was added in:
https://github.com/rust-lang/rust/pull/35447
2016-08-15 23:45:12 -04:00
Corey Farwell
01a766e521
Introduce as_mut_slice
method on std::vec::IntoIter
struct.
2016-08-11 16:49:01 -04:00
Corey Farwell
d099e30e48
Introduce as_slice
method on std::vec::IntoIter
struct.
...
Similar to the `as_slice` method on `core::slice::Iter` struct.
2016-08-11 16:48:43 -04:00
Thomas Garcia
d1e2a935d2
Readding lifetime parameters and removing allocation
2016-07-21 20:55:19 -07:00
Thomas Garcia
97d082c6cd
Make vec::Drain and binary_heap::Drain covariant
2016-07-21 01:03:40 -07:00
Srinivas Reddy Thatiparthy
3d9d96b6da
run rustfmt on libcollections test module
2016-05-22 23:57:13 +05:30
Andrew Paseltiner
cf37af1627
Specialize Extend
to append
for {LinkedList, Vec}
2016-04-14 07:12:45 -04:00
Tobias Bucher
8fd7469990
Implement Clone
for std::vec::IntoIter
2016-02-17 17:43:54 +01:00
Tobias Bucher
b27b8f63bc
Add tests for Cow::from
for strings, vectors and slices
2016-02-03 20:45:30 +01:00
Alex Crichton
ac83242ac9
test: Deny warnings in {core,collections}test
...
Help cleans up our build a bit and stays in line with the rest of our crates
denying warnings traditionally.
2016-01-30 16:19:37 -08:00
Alex Crichton
8d90d3f368
Remove all unstable deprecated functionality
...
This commit removes all unstable and deprecated functions in the standard
library. A release was recently cut (1.3) which makes this a good time for some
spring cleaning of the deprecated functions.
2015-08-12 14:55:17 -07:00
Alexis Beingessner
bfa0e1f58a
Add RawVec to unify raw Vecish code
2015-07-17 08:29:15 -07:00
Alex Crichton
ce1a965cf5
Fallout in tests and docs from feature renamings
2015-06-17 09:07:16 -07:00
Joshua Landau
ca7418b846
Removed many pointless calls to *iter() and iter_mut()
2015-06-10 21:14:03 +01:00
Johannes Oertel
b36ed7d2ed
Implement RFC 839
...
Closes #25976 .
2015-06-08 12:05:33 +02:00
Eduard Burtescu
377b0900ae
Use const fn
to abstract away the contents of UnsafeCell & friends.
2015-05-27 11:19:03 +03:00
sinkuu
5d8431c203
Override Iterator::count method in vec::IntoIter
2015-05-02 17:05:43 +09:00
Tamir Duberstein
69abc12b00
Register new snapshots
2015-04-28 17:23:45 -07:00
Ulrik Sverdrup
b475fc7d6a
collections: Implement vec::drain(range) according to RFC 574
...
Old `.drain()` on vec is performed using `.drain(..)` now.
`.drain(range)` is unstable and under feature(collections_drain)
[breaking-change]
2015-04-28 11:38:33 +02:00
Jorge Aparicio
6453fcd4cc
extract libcollections tests into libcollectionstest
2015-03-16 21:57:42 -05:00