Commit graph

66 commits

Author SHA1 Message Date
Chris Morgan b3811cf0d1 Remove the bench Cargo feature as superfluous
A better pattern is to put benchmarks in the `benches` directory;
that way, `cargo test` won’t pick them up by default,
and so it won’t fail on the stable and beta channels.
2017-07-07 10:55:35 +10:00
Chris Morgan 34028c35e7 Make clippy happy. 2017-01-20 18:10:55 +05:30
Chris Morgan b549457d62 Put in a bunch of #[inline] attributes on fns.
Somewhere along the path I didn’t mark some functions as `#[inline]`
which they should probably be.

Small but visible benchmark improvements, but within ε so low
confidence.
2016-06-11 13:30:33 +10:00
Chris Morgan ec57ec49be Reduce the work for rustc in the benchmarks.
This *does* mean that they no longer function as tests, which was
deliberate, but rustc is just too slow with the assertions in there as
well. If I care, I can make variants of it that actually test. For now,
I’m sufficiently happy with it.
2016-06-11 13:28:30 +10:00
Chris Morgan c52281b376 Use raw pointers for downcasting, not TraitObject
This mirrors a change in mopa.
2016-06-11 10:46:30 +10:00
Chris Morgan 0c3026f7de Add more benchmarking
Including a rustc/llvm pathalogical case.
2016-06-11 10:06:13 +10:00
Chris Morgan 839a6bc6e8 Remove superfluous Clone bound on Entry methods.
Thanks to @Kimundi for pointing this out. I presume (without checking)
that they got added along with the CloneAny stuff by accident.

Closes #26.
2016-06-11 09:30:24 +10:00
Chris Morgan 8e413e2065 Remove now-unnecessary #[allow]s. 2016-06-11 09:29:32 +10:00
Chris Morgan f38113a9cf Make Clippy happy. 2016-04-18 15:00:43 +10:00
Chris Morgan f63062acc6 Keep Clippy happy. 2016-03-07 00:13:47 +11:00
Chris Morgan 724f94758d Fix order of ptr::copy_nonoverlapping parameters.
Clippy helped me spot this. It didn’t cause any bugs, just bad
performance as all keys would hash to 0 and thus end up in the same
bucket.
2016-03-07 00:11:37 +11:00
Chris Morgan 016d324c51 Rename "unstable" feature to "bench".
Benchmarking is the only thing that requires unstable Rust in the
library any more. Yay!
2016-03-05 13:13:19 +11:00
Chris Morgan 548ee2a5f2 Ungate drain iterator (stable in Rust 1.6.0). 2016-03-05 12:58:49 +11:00
Chris Morgan 6d0a64dcc9 Ungate efficient hashing (stable in Rust 1.7.0). 2016-03-05 12:58:19 +11:00
Chris Morgan 82f41caeb9 0.11.2: just fixing warnings and such. 2016-01-22 12:05:51 +11:00
Chris Morgan b3def77657 0.11.1: Rust update for unstable. 2015-06-24 10:08:58 +10:00
Chris Morgan c1c6205053 Make tests work on beta/stable (benchmarks can’t work). 2015-06-10 19:26:10 +10:00
Chris Morgan 035fb94cd2 Rename 'nightly' feature to 'unstable'. 2015-06-10 09:02:10 +10:00
Chris Morgan ecb4c45060 Implement Debug for Map and RawMap. 2015-06-10 09:02:10 +10:00
Chris Morgan 7606e75aa4 Replace Cargo features with arcane DST magicks.
(It was a toss-up between “arcane” and “eldritch” there; “arcane” won
this time. “Eldritch”, maybe you can be it next time.)
2015-06-10 09:02:10 +10:00
Chris Morgan fdba2f45b9 Implement stuff for concurrency.
This took some refactoring too for best effect.
2015-06-10 09:02:10 +10:00
Chris Morgan 18518214c4 0.10.3: Rust beta support
This is accomplished at a certain loss of efficiency, sadly.

Add the 'nightly' feature to get things back how they were.
2015-04-18 10:54:26 +10:00
Chris Morgan d04bde3509 0.10.2: Rust update for clone feature 2015-04-15 14:16:10 +10:00
Chris Morgan 6a2a404af7 0.10.1: Rust update 2015-04-14 10:37:44 +10:00
Chris Morgan c6480a9172 0.10.0: move Clone functionality into a feature.
No more separate Git branch for it; Cargo features fit the bill well.
2015-03-27 11:05:12 +11:00
Chris Morgan f3fb1c5562 Use std::convert for AnyMap -> RawAnyMap. 2015-03-26 09:46:51 +11:00
Chris Morgan 97ec79029f Rust update. 2015-03-25 17:59:11 +11:00
Chris Morgan 143ee06268 Substantial refactoring, exposing a raw interface.
This is not necessarily the final form, but I think it’s pretty good.
The only alteration to the public interface is the removal of the
iteration methods from `AnyMap`; they are now attached to `RawAnyMap`.

The diff appears considerably more scary than it is in actual fact due
to some comparatively unnecessary changes like the field name (from
`data` to `raw`). Really, it’s minimal.
2015-03-24 13:42:01 +11:00
Chris Morgan 9a3d4ae73b Remove plenty of unnecessary 'statics. 2015-03-21 16:29:01 +11:00
Chris Morgan 81698f24f9 Slight Rust update. 2015-03-21 16:03:25 +11:00
Chris Morgan deb7daf170 Remove unused stability markers. 2015-03-12 22:58:20 +11:00
Chris Morgan 94d06205fc 0.9.12: Rust update 2015-03-02 23:40:27 +11:00
Chris Morgan b84ee0b14e 0.9.11: Rust update 2015-02-24 11:59:02 +11:00
Chris Morgan 8e12affa59 0.9.10: Rust update 2015-02-04 14:45:19 +11:00
Chris Morgan 26ca567814 0.9.9: Rust update 2015-01-21 16:17:18 +11:00
Chris Morgan d96c4a32ac 0.9.8: Rust update 2015-01-09 12:34:33 +11:00
Chris Morgan 0e65782e65 0.9.7: parity with the collections API
There’s some Rust updating here too.

This entails the addition of various methods and iterator types where
appropriate, based on what’s on `HashMap`, though I doubt that people
will actually be able to make all that much use of the iterators. They’d
be of more use with a basis of a trait other than `Any`, such as might
be conveniently achieved by combining this with my MOPA crate.
(Getting a little close to HKT there, innit?)

You know, I wonder sometimes if anyone ever reads these messages after
they are written, myself included. If you have read this, please drop me
a note; I’m curious.

I’ve also gone over all the stability attributes, marking things as
appropriate.
2015-01-07 20:51:13 +11:00
Chris Morgan ef020b03ce 0.9.6
Changed the deprecated `#[deriving(…)]` to `#[derive(…)]`.

(Why not 0.9.5? I messed up, publishing the `clone` branch as 0.9.5.)
2015-01-03 19:29:37 +11:00
Robert Straw f1710353a0 Do not re-export the Entry enum ...
A minor [breaking-change] as downstream users will have to import the variants
themselves, or prefix the variant with the Entry enum's namespace.
2014-12-22 14:33:28 -06:00
Robert Straw de09145309 Use namespaced enum variants for the map-entry slots. 2014-12-22 09:33:25 -06:00
Chris Morgan 83434cc057 Fix a slightly erroneous comment. 2014-12-17 13:44:25 +11:00
Chris Morgan e57ba9e628 Rust update. 2014-12-17 13:29:49 +11:00
Chris Morgan 7c9bd44916 tuple_indexing is no longer gated! Yay! 2014-12-10 17:51:48 +11:00
Chris Morgan 905800cc30 Update metadata, 0.9.2. 2014-11-28 17:18:16 +11:00
Chris Morgan 77a6bf4569 Rust update. 2014-11-28 16:51:35 +11:00
Chris Morgan cefa48967d Implement AnyMap.entry(). 2014-11-19 22:15:48 +11:00
Chris Morgan c29e78c563 Rust update.
This includes following the standard new semantics for `insert` and
`remove`, where they return any value that was previously present, and
renaming `find` and `find_mut` to `get` and `get_mut`. For the moment,
I’ve even provided a deprecation path! Will wonders ever cease?
2014-11-08 10:24:37 +11:00
Chris Morgan 10244cfbba Make trait bounds more explicit. 2014-11-08 10:09:21 +11:00
Chris Morgan b836d28a13 Elide superfluous lifetimes. 2014-11-07 16:26:12 +11:00
Chris Morgan a2560a090f Rust update. 2014-11-02 21:45:52 +11:00