Commit graph

19 commits

Author SHA1 Message Date
Chris Morgan
c166d5c149 Make README more approachable, give example 2022-01-26 00:16:15 +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
2d5be08822 More documentation tweaks to clarify and explain 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
521fbfe6bc Refactor to avoid a spurious compatibility warning
Explained in the SAFETY comment. I’m not happy about *doing* this, but
it will make *using* this crate easier, since future-compatibility lints
make noise on bin crate builds, so this was polluting other people’s
code and making life harder for users.

I have traded one evil (a spurious warning) for another (unsafe code).
2022-01-26 00:16:15 +11:00
Chris Morgan
bf29e608d9 No more bare trait objects: use dyn Trait syntax 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
f5e887ef63 Add a note about unsafety. 2017-07-07 10:55:37 +10:00
Chris Morgan
9e3715152f Remove an obsolete note from the README 2017-07-07 10:55:36 +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
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
63e4c18ed7 Drop the Makefile in favour of Cargo. 2014-11-07 16:45:12 +11:00
Chris Morgan
1446d0ae87 Rust syntax update in README. 2014-11-07 16:43:48 +11:00
Chris Morgan
571142cfcf Refine the README in a couple of places. 2014-06-12 18:15:15 +10:00
Chris Morgan
ea63cc90d1 Miscellaneous bad commit message (for fun!). 2014-06-12 17:33:41 +10:00
Renamed from README (Browse further)