Commit graph

38 commits

Author SHA1 Message Date
Chris Morgan 40e60cefd6 Resolve the std/hashbrown conflict situation
Big diff, but it’s mostly just whitespace changes; ignore whitespace and
it’s much smaller, though still not as tiny as it could potentially be.

Essentially, this just duplicates everything for the hashbrown variant.

It’d be possible to use generic associated types to achieve this without
the duplication, but that depends on currently-unstable features, and is
probably slightly more painful to use anyway. I’ll keep the approach in
mind for a possible version 2, but for now this is the pragmatic route.
2022-02-22 13:50:22 +11:00
Chris Morgan 0316c0faea 1.0.0-beta.1
Not 1.0.0 after all, but let’s call it 1.0.0-beta.1 rather than 0.13.0.
2022-01-26 00:20:30 +11:00
Chris Morgan 0a1c85f865 no_std support
I’m quite pleased with how this has turned out.

Given the stability-despite-instability of hashbrown (that the API
surface we’re depending on hasn’t changed since 0.1.1), and the
deliberate altered SemVer guarantees for it, it was very tempting
to leave the hashbrown range open, `version = ">=0.1.1"` or at least
`version = ">=0.1.1, <1"`, but for some reason or other I ended up
deciding not to. I’m still of two minds about it, really.
2022-01-26 00:16:15 +11:00
Chris Morgan 39168419e8 Switch from 2015 edition to 2018
1.34 is safe for that.
2022-01-26 00:16:15 +11:00
Chris Morgan 1e5c62d8f8 Exclude unnecessary files from the package 2022-01-26 00:16:15 +11:00
Chris Morgan 7866ca8d77 Make TypeIdHasher safe, bump MSRV
Wait a few years and nice things stabilise!

• u64::from_ne_bytes([u8; 8]) is stable in 1.32.0
• TryFrom<&[u8]> for [u8; 8] is stable in 1.34.0

(There are other things I’m touching today that also require a more mild
MSRV bump, but this is the most I *need* at this time.)
2022-01-26 00:16:15 +11:00
Chris Morgan 7719a1c61b Refresh Cargo.toml, README.md
Remove superfluous things, update useful things.
2022-01-26 00:16:15 +11:00
Chris Morgan 8ebb2d7e04 Add the BlueOak-1.0.0 license
I prefer to use BlueOak-1.0.0 now; It wasn’t around back in 2017.

There are a number of commits in this repository not made by me, all
from before Rust 1.0.0:

• f1710353a0 (Robert Straw; trivial: matching std enum namespacing breakage)
• de09145309 (Robert Straw; trivial: std enum namespacing breakage)
• 2e37f0d1ae (Jonathan Reem; added AnyMap::contains, which had become obvious for Rust collection parity)
• 8b30c87fe6 (tivek; trivial: Rust syntax change in integer literal inference)
• c9d196be5f (Jonathan Reem; trivial: version bump)
• 330bc5aa1e (Jonathan Reem; not creative and largely no longer present: introduced Cargo support, tweaked Makefile)
• a9b1e31b70 (Tomas Sedovic; nigh-trivial and no longer present: Collection and Mutable trait implementations)
• eecc4a4b75 (Jonathan Reem; trivial: Rust syntax change)
• d51aff5064 (Jonathan Reem; trivial: rustc lint change)
• 56113c63b0 (Jonathan Reem; trivial: Rust syntax change)

All but one of these are definitely trivial, obvious, and in the context
of the project and ecosystem not creative works (⅌ copyright doctrine
definition); or else no longer present. The one arguable exception is
2e37f0d1ae, adding AnyMap::contains, since
I hadn’t added a contains method; but its *definition* is trivial with
only one possible implementation, and subsequent to that time I did go
through and check for parity with HashMap methods, to say nothing of the
code having changed shape quite a bit since then too. Therefore I’m
content to consider it immaterial for relicensing.
2022-01-26 00:16:15 +11:00
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 1374cacb41 Remove obsolete rust-ci docs uploading
We use docs.rs these days. No manual work in it, either. Yay!
2017-07-07 10:55:33 +10:00
Chris Morgan 2173c81567 0.12.1 2017-01-20 18:13:13 +05:30
Chris Morgan f1ea6f1cf9 0.12.0 2016-03-05 13:31:53 +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 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 0ad7c307eb 0.11.0: merge concurrency branch. 2015-06-10 09:02:10 +10:00
Chris Morgan 035fb94cd2 Rename 'nightly' feature to 'unstable'. 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 e84d5846bf 0.9.13 2015-03-26 10:28:57 +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
Chris Morgan d41769b77a 0.9.4 2014-12-23 15:23:23 +11:00
Chris Morgan 326bc69fc2 0.9.3 2014-12-17 13:48:09 +11:00
Chris Morgan 905800cc30 Update metadata, 0.9.2. 2014-11-28 17:18:16 +11:00
Chris Morgan 901b94ef25 Bump version to 0.9.1. 2014-11-19 22:16:46 +11:00
Chris Morgan 6bf612e2ed Update Cargo.toml for current conventions. 2014-08-22 19:12:09 -07:00
Jonathan Reem c9d196be5f Updated versions to 0.9.0. 2014-07-02 09:57:03 -07:00
Jonathan Reem 330bc5aa1e Enabled Cargo and moved Makefile to use target. 2014-07-02 09:56:34 -07:00