-
0.8.6 - September 14 2024
-
Added
AsRef
implementations forOsStr
andPath
(thanks @GrigorenkoPV). -
Added
is_interned
(thanks @DanielJoyce).
-
-
0.8.4 - June 22, 2024
- Fixed
DeepSizeOf
impl, thanks @gmryuuko.
- Fixed
-
0.8.3 - April 21, 2024
- Made
Intern<str>
work withserde
.
- Made
-
0.8.2 - April 17, 2024
- Added support for
deepsize
for all three intern types.
- Added support for
-
0.8.1 - April 11, 2024
-
Increased MSRV to 1.70.
-
Made
ArcIntern
not implementBorrow
which I apparently missed in version 0.7.0.
-
-
0.7.4 - October 28, 2023
- Increased MSRV to 1.65, got it wrong last time because I forgot to check
the
arc
feature.
- Increased MSRV to 1.65, got it wrong last time because I forgot to check
the
-
0.7.3 - October 28, 2023
- Made
Copy
andClone
for ArenaIntern support?Sized
types.
- Made
-
0.7.2 - October 28, 2023
-
Increased MSRV to 1.60 for building and 1.65 for testing due to changes in dependencies.
-
Bumped ahash dependency version.
-
Optimization of
ArcInvtern
(thanks gwy15!).
-
-
0.7.1 - June 17, 2023
- Added
ArcIntern::into_ref
(thanks PuzzleMaker!).
- Added
-
0.7.0 - March 30, 2022
-
Removed the
Borrow
implementation for interned types, which was not compliant with the documentation for that trait. This did not lead to unsoundness, but did lead to confusing and buggy behavior. -
Add new
Arena
type which can hold interned data that is then freed when the arena is dropped. -
Renamed the intrinsic
from
method (which shadowed theFrom
trait), so it would be easier and less confusing to useFrom
to createIntern<T>
for!Sized
types. -
Added at least rudimentary support for common
!Sized
types, such asIntern<str>
,Intern<[u8]>
orIntern<Path>
. Please report any bugs you might encounter, as the test suite on such types is not fully populated.
-
-
0.6.0 - February 11, 2022
-
Removed
LocalIntern
, since I concluded that it was unsound. Specifically, since the order of dropping of thread-local storage is undefined, users could put aLocalIntern
into thread-local storage, and get a use-after-free bug.I'm not sure that anyone ever used
LocalIntern
, and it wasn't faster thanIntern
anyhow (unlike what I documented and expected), so it's only advantage was that you could get a crude arena-storage-like effect by usingLocalIntern
within a temporary thread. Not a very compelling use case. -
Not an actual change, but I now use miri in the CI to check for undefined behavior, which is what clued me into the unsoundness in
LocalIntern
.
-