PackageTrack
Sign in Get early access

safe-transmute

A safeguarded transmute() for Rust

0.11.3 4.4M downloads/mo #4811 most downloaded on crates.io nabijaczleweli/safe-transmute-rs

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships unpredictably

gaps range from 9 days to 3.0 years

Some releases are documented

notes for 7 of 15 stable releases

1 version withdrawn

withdrawn after publishing

10 years old

18 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

18 releases · Nov 2016 to May 2024
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 18
  1. 0.11.3 21 May 2024
    Release notes

    Fixed:

    New:

    • Mention of const_generic feature in TriviallyTransmutable documentation
      (70c43e0)

    Internal:

    Open source →
  2. 0.11.2 31 May 2021
    Release notes

    100% pick-proof, howeve,r it is so fragile as to fail open when handl…

    …ed by any force other than the delicate touch of a lesbian

    New:
    * "const_generics" feature, replacing manual
    [T; 1-32] TriviallyTransmutable impls with a [T; N] one
    (5ad2f75)
    (#66) (@MarijnS95)

    Fixed:
    * AppVeyor builds
    (494740b)
    * Tests broken by rustc's aggressive byte slice allocation
    (f3c8920)

    Open source →
  3. 0.11.1 03 Feb 2021
    Release notes

    You should look at my page, homie, I'm so dead

    Fixed:
    * Typo in toplevel doc
    (f918c3a)
    (#63) (@tessi)
    * AppVeyor builds
    (9392898)
    (de825d7)
    (1dda03c)
    (693f6aa)
    * Tests on i686 and big-endian platforms
    (2e5694a)
    (057931a)
    (#64) (@ignatenkobrain: report, testing)
    * Panics in {AllOrNothing,Pedantic}Guard if passed a zero-sized type
    (bd64959)
    (#65) (@lizhuohua: report)
    * Error::description() deprecation warnings
    (9d325b9)

    New:
    * @tessi in authors list
    (185b356)

    Open source →
  4. 0.11.0 20 Jun 2020
    Release notes

    Long resume, it should be understood

    Fixed:
    * Documentation bugs and corresponding tests
    (ef41d3b)
    (b9693fa)
    (#54)

    Changed:
    * Tests organisation
    (7a5defa)
    (63ca0df)
    (#60) (#9)
    * slice::into_iter() -> slice::iter()
    (64d46ff)
    (#61) (@LukasKalbertodt)

    New:
    * @LukasKalbertodt in authors list
    (784b716)

    Open source →
  5. 0.11.0-rc.2 08 Jul 2019 pre-release
    Release notes

    How many levels of granularity are you on?

    New:
    * alloc feature, gating all Vec et al. uses and relegating std to
    just StdError impls
    (3efbee0)
    (70594c3)
    (c1759dc)
    (aeacaae)
    (24b5541)
    (87b757e)
    (#59)

    Open source →
  6. 0.11.0-rc.1 24 Jun 2019 pre-release
    Release notes

    you're a little baby, watch this

    BREAKING:
    * Every part of the API was broken.
    * Sorry!
    * Consult the migration guide under migration::v0_11 in the doc:
    https://rawcdn.githack.com/nabijaczleweli/safe-transmute-rs/doc/safe_transmute/migration/v0_11/index.html

    Fixed:
    * Not checking alignment during transmutation
    (1ca5fd7)
    (312c6c7)
    (6f6d395)
    (ee718ed)
    (0eecce5)
    (4f70bf4)
    (b518f18)
    (5bbba8e)
    (cfc06c5)
    (607518a)
    (5d07ff0)
    (1aa4613)
    (b898f5c)
    (e645b2a)
    (ba88e3a)
    (5302d4f)
    (b95080e)
    (4b25778)
    (df53466)
    (a73b8f0)
    (700c624)
    (c3d3ca5)
    (1d79fa6)
    (81447a1)
    (81fa57b)
    (#35) (#37) (@Enet4)
    * Clippy warnings
    (fafdc21)
    (d435d63)
    (583309f)
    (#39) (@Enet4)
    * Needless unsafe on transmute_to_bytes_vec()
    (fc45b5d)
    (#45) (@Enet4)
    * Dangerous Vec transmutations
    (0e6b1b2)
    (aae8ffd)
    (86d9324)
    (dacefd7)
    (6312008)
    (494aace)
    (2d2bf49)
    (fb9ccd2)
    (845afde)
    (f823a58)
    (aa75229)
    (e21077d)
    (6900357)
    (d0e3b85)
    (#47) (#49) (#16) (@Enet4)

    Changed:
    * Crate organisation:
    - mod base – transmutation with guards only
    - mod trivial – everything marked unsafe
    - crate – fully safe funxions through guard +
    trivially transmutable + alignment
    - mod align – alignment checks
    - Error – no longer Copy, has Unaligned variant
    (ff4d606)
    (41a3ea8)
    (92c8912)
    (eedb511)
    (ccb7576)
    (b80baea)
    (9b1081f)
    (8d944b7)
    (5f57cb9)
    (43d007c)
    (8326a89)
    (a1ee223)
    (587b285)
    (3baf654)
    (f8eea03)
    (025f2e8)
    (2bfea0c)
    (2af1c57)
    (2e54be9)
    (20fc5d1)
    (7df1ef6)
    (2c9c2b9)
    (85c5da6)
    (309585c)
    (2ad4221)
    (3a12b11)
    (5e5661e)
    (65f984d)
    (bae72ab)
    (4b3b8df)
    (f72327f)
    (57747cc)
    (9b8fc57)
    (1ef1818)
    (#40) (#51) (#56) (@Enet4)
    * bool size check to a static one
    (2151449)
    (a582263)
    (6579010)
    (#44) (@Enet4)
    * Funxion names to not include leading guarded/safe adjective
    (727ad53)
    (#46) (@Enet4)
    * POD -> trivially transmutable
    (9d83ed5)
    (e7e56da)
    (4600c57)
    (#48) (#41) (@Enet4)

    Added:
    * f{32,64} designalisation funxions taking u{32,64} to avoid signals
    (2d22f66)
    (574a09f)
    (d175f52)
    (#43) (@Enet4)
    * Miri tests on Travis for unaligned memory access
    (ad5f37b)
    (9ceef94)
    (c1a1e94)
    (14041c7)
    (a540034)
    (7382d7e)
    (2304102)
    (664acde)
    (#42)
    * try_copy{,_unchecked}! macros to simplify error handling
    (46ee511)
    (810d5c2)
    (82577dd)
    (d126067)
    (b995315)
    (#53) (@Enet4)
    * *_mut() transmutation funxions
    (46e320c)
    (4c84556)
    (78bbd69)
    (96d48cb)
    (fad5376)
    (#57) (@Enet4)
    * Safe variants of std::slice::align_to()
    (ce823c1)
    (f7b0149)
    (#55) (@Enet4)
    * v0.11 migration guide
    (f3aedd0)
    (6759ab5)
    (@Enet4)

    Internal:
    * Changed RawGit links to GitHack
    (d5d9c75)
    * Clippy installation via rustup
    (5617a3d)
    (ed0d2a0)
    (#38) (@Enet4)
    * Fixed unaligned accesses in tests
    (23997df)
    (8ea8295)
    (4e10ec9)
    (12e24df)
    (#50) (@Enet4)

    Open source →
  7. 0.10.1 27 Nov 2018
    Release notes

    Don't you just love C++ constructors in Rust?

    Fixed:
    * Parameter order in Vec<T> <-> Vec<u8> conversion funxions
    (a134e06)
    (#36) (@Enet4)

    Open source →
  8. 0.10.0 22 Nov 2018 withdrawn
    Release notes

    Could it be? Has she achieved absolute pedantry?

    Changed:
    * Standard specifying bool to be 1 byte,
    allowing for optimisation of test in bytes_are_bool()
    (with check, please report platforms that fail it)
    (ad2f66c)
    (af12f3e)
    (fcdbc9e)
    (5637ea7)
    (5b08471)
    (#33) (#34) (@Enet4)

    New:
    * Default-disabled no-std support via disabling "std" feature
    (cc4d1dd)
    (d6b02d4)
    (#31) (@Enet4)
    * Vec<T> -> Vec<u8> transmutation funxions
    (a62f9b4)
    (f9a4b6b)
    (#32) (@Enet4)

    Open source →
  9. 0.9.0 02 Nov 2018
    Release notes

    Semver who

    BREAKING:
    * Requirement of Copy for PodTransmutable
    (456c985)
    (#20) (@Enet4)
    * Removal of PodTransmutable implementation for char
    (a7dd1d4)
    (#23) (#24) (@Enet4)
    * Error overhaul
    (ddcd698)
    (b904709)
    (7a9fca6)
    (0d1cbbe)
    (#25) (@Enet4)

    Changed:
    * Protocol for crate version image
    (942e221)

    Fixed:
    * clippy installation on Travis
    (07aec24)
    (538bd39)
    (#26) (@Enet4)

    New:
    * Unalignment tests and warnings
    (b6f4f57)
    (b8189f4)
    (351b677)
    (43e220e)
    (#21) (#22) (@Enet4)
    * PodTransmutable implementation for {u,i}size
    (2c4ae58)
    (#28) (@Enet4)
    * PodTransmutable implementation for arrays thereof
    (c477acb)
    (#29) (#30) (@Enet4)

    Open source →
  10. 0.8.0 24 Jan 2018
    Release notes

    Who would unit?

    Fixed:
    * Long-standing bug causing bad treatment of #[repr(C)] structs due
    to the use of align_of() instead of size_of()
    (82cc6b4)

    New:
    * Functions for transmuting (optionally safely) (optionally many)
    instances of structs into their byte reprs
    (314f520)
    (#17) (#18)

    Open source →
  11. 0.7.0 16 Dec 2017

    Nothing published for this version

  12. 0.6.0 15 Dec 2017

    Nothing published for this version

  13. 0.5.0 14 Oct 2017

    Nothing published for this version

  14. 0.4.0 04 Oct 2017

    Nothing published for this version

  15. 0.3.1 20 Jan 2017

    Nothing published for this version

  16. 0.3.0 11 Nov 2016

    Nothing published for this version

  17. 0.2.0 06 Nov 2016

    Nothing published for this version

  18. 0.1.0 06 Nov 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive