Skip to content

Commit 09b7510

Browse files
committed
[iddqd] version 0.3.13
1 parent a61d83b commit 09b7510

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/iddqd-extended-examples/examples/typify-types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import_types!(
1212
// Add iddqd to your dependency list, and specify that you have the "iddqd"
1313
// crate available.
1414
crates = {
15-
"iddqd" = "0.3.12",
15+
"iddqd" = "0.3.13",
1616
},
1717
);
1818

crates/iddqd/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "iddqd"
3-
version = "0.3.12"
3+
version = "0.3.13"
44
description = "Maps where keys borrow from values, including bijective and trijective maps."
55
readme = "README.md"
66
documentation = "https://docs.rs/iddqd"

crates/iddqd/README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ Maps where keys are borrowed from values.
1212

1313
This crate consists of several map types, collectively called **ID maps**:
1414

15-
* [`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html): A B-Tree based map where keys are borrowed from values.
16-
* [`IdHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_hash_map/imp/struct.IdHashMap.html): A hash map where keys are borrowed from values.
17-
* [`BiHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/bi_hash_map/imp/struct.BiHashMap.html): A bijective (1:1) hash map with two keys, borrowed from
15+
* [`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html): A B-Tree based map where keys are borrowed from values.
16+
* [`IdHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_hash_map/imp/struct.IdHashMap.html): A hash map where keys are borrowed from values.
17+
* [`BiHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/bi_hash_map/imp/struct.BiHashMap.html): A bijective (1:1) hash map with two keys, borrowed from
1818
values.
19-
* [`TriHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/tri_hash_map/imp/struct.TriHashMap.html): A trijective (1:1:1) hash map with three keys, borrowed
19+
* [`TriHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/tri_hash_map/imp/struct.TriHashMap.html): A trijective (1:1:1) hash map with three keys, borrowed
2020
from values.
2121

2222
## Usage
2323

2424
* Pick your ID map type.
25-
* Depending on the ID map type, implement [`IdOrdItem`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/trait_defs/trait.IdOrdItem.html), [`IdHashItem`](https://docs.rs/iddqd/0.3.12/iddqd/id_hash_map/trait_defs/trait.IdHashItem.html),
26-
[`BiHashItem`](https://docs.rs/iddqd/0.3.12/iddqd/bi_hash_map/trait_defs/trait.BiHashItem.html), or [`TriHashItem`](https://docs.rs/iddqd/0.3.12/iddqd/tri_hash_map/trait_defs/trait.TriHashItem.html) for your value type.
25+
* Depending on the ID map type, implement [`IdOrdItem`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/trait_defs/trait.IdOrdItem.html), [`IdHashItem`](https://docs.rs/iddqd/0.3.13/iddqd/id_hash_map/trait_defs/trait.IdHashItem.html),
26+
[`BiHashItem`](https://docs.rs/iddqd/0.3.13/iddqd/bi_hash_map/trait_defs/trait.BiHashItem.html), or [`TriHashItem`](https://docs.rs/iddqd/0.3.13/iddqd/tri_hash_map/trait_defs/trait.TriHashItem.html) for your value type.
2727
* Store values in the ID map type.
2828

2929
### Features
@@ -49,19 +49,19 @@ issues encountered using Rust’s default map types in practice at Oxide.
4949

5050
We’ve also sometimes needed to index a set of data by more than one key, or
5151
perhaps map one key to another. For that purpose, this crate provides
52-
[`BiHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/bi_hash_map/imp/struct.BiHashMap.html) and [`TriHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/tri_hash_map/imp/struct.TriHashMap.html).
52+
[`BiHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/bi_hash_map/imp/struct.BiHashMap.html) and [`TriHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/tri_hash_map/imp/struct.TriHashMap.html).
5353

54-
* [`BiHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/bi_hash_map/imp/struct.BiHashMap.html) has two keys, and provides a bijection (1:1 relationship)
54+
* [`BiHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/bi_hash_map/imp/struct.BiHashMap.html) has two keys, and provides a bijection (1:1 relationship)
5555
between the keys.
56-
* [`TriHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/tri_hash_map/imp/struct.TriHashMap.html) has three keys, and provides a trijection (1:1:1
56+
* [`TriHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/tri_hash_map/imp/struct.TriHashMap.html) has three keys, and provides a trijection (1:1:1
5757
relationship) between the keys.
5858

5959
As a consequence of the general API structure, maps can have arbitrary
6060
non-key data associated with them as well.
6161

6262
### Examples
6363

64-
An example for [`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html):
64+
An example for [`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html):
6565

6666
````rust
6767
use iddqd::{IdOrdItem, IdOrdMap, id_upcast};
@@ -103,7 +103,7 @@ for user in &users {
103103

104104
Keys don’t have to be borrowed from the value. For smaller `Copy` types,
105105
it’s recommended that you use owned keys. Here’s an example of using
106-
[`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html) with a small integer key:
106+
[`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html) with a small integer key:
107107

108108
````rust
109109
struct Record {
@@ -125,7 +125,7 @@ impl IdOrdItem for Record {
125125
// ...
126126
````
127127

128-
An example for [`IdHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_hash_map/imp/struct.IdHashMap.html), showing a complex borrowed key. Here,
128+
An example for [`IdHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_hash_map/imp/struct.IdHashMap.html), showing a complex borrowed key. Here,
129129
“complex” means that the key is not a reference itself, but a struct that
130130
returns references to more than one field from the value.
131131

@@ -209,7 +209,7 @@ For a key type `T::Key<'_>` and a lookup type `L`:
209209
must hash in the same way as `T::Key<'_>`. Typically, this is done by
210210
ensuring that enum variants and struct fields are in the same
211211
order[^proptest].
212-
* [`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html) requires `L: Comparable<T::Key<'_>>`, which in turn requires
212+
* [`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html) requires `L: Comparable<T::Key<'_>>`, which in turn requires
213213
`Equivalent<T::Key<'_>>`. (There’s no need for `L` to implement `Ord` or
214214
`Eq` itself.)
215215

@@ -264,11 +264,11 @@ If you see a gap in testing, new tests are welcome. Thank you!
264264

265265
Most of this crate is no-std compatible, though [`alloc`](https://doc.rust-lang.org/nightly/alloc/index.html) is required.
266266

267-
The [`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html) type is not currently no-std compatible due to its use of a
267+
The [`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html) type is not currently no-std compatible due to its use of a
268268
thread-local. This thread-local is just a way to work around a limitation in
269269
std’s `BTreeMap` API, though. Either a custom B-Tree implementation, or a
270270
platform-specific notion of thread locals, would suffice to make
271-
[`IdOrdMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_ord_map/imp/struct.IdOrdMap.html) no-std compatible.
271+
[`IdOrdMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_ord_map/imp/struct.IdOrdMap.html) no-std compatible.
272272

273273
## Optional features
274274

@@ -280,7 +280,7 @@ platform-specific notion of thread locals, would suffice to make
280280
default.*
281281
* `default-hasher`: Enables the `DefaultHashBuilder` type. Disable this
282282
feature to require a hash builder type parameter to be passed into
283-
[`IdHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/id_hash_map/imp/struct.IdHashMap.html), [`BiHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/bi_hash_map/imp/struct.BiHashMap.html), and [`TriHashMap`](https://docs.rs/iddqd/0.3.12/iddqd/tri_hash_map/imp/struct.TriHashMap.html). *Enabled by default.*
283+
[`IdHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/id_hash_map/imp/struct.IdHashMap.html), [`BiHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/bi_hash_map/imp/struct.BiHashMap.html), and [`TriHashMap`](https://docs.rs/iddqd/0.3.13/iddqd/tri_hash_map/imp/struct.TriHashMap.html). *Enabled by default.*
284284
* `proptest`: Enables [`proptest`](https://docs.rs/proptest/1.7.0/proptest/index.html) support for all ID map types, providing
285285
[`Arbitrary`] implementations and strategies for property-based testing.
286286
*Not enabled by default.*

0 commit comments

Comments
 (0)