#deprecated #maybe-uninit #arrayvec #destructor #manually-drop #repr #inhibit

deprecated no-std nodrop

A wrapper type to inhibit drop (destructor). ***Deprecated: Use ManuallyDrop or MaybeUninit instead!***

15 releases

Uses old Rust 2015

0.1.14 Oct 9, 2019
0.1.13 Nov 12, 2018
0.1.12 Oct 27, 2017
0.1.9 Feb 23, 2017
0.1.4 Jun 14, 2015

#8 in #manually-drop

Download history 218791/week @ 2025-10-02 221302/week @ 2025-10-09 216368/week @ 2025-10-16 207879/week @ 2025-10-23 223548/week @ 2025-10-30 246895/week @ 2025-11-06 218049/week @ 2025-11-13 258019/week @ 2025-11-20 230736/week @ 2025-11-27 264186/week @ 2025-12-04 277076/week @ 2025-12-11 213238/week @ 2025-12-18 170043/week @ 2025-12-25 225114/week @ 2026-01-01 272239/week @ 2026-01-08 246502/week @ 2026-01-15

940,803 downloads per month
Used in 2,301 crates (15 directly)

MIT/Apache

11KB
150 lines

nodrop

Recent Changes (nodrop)

  • 0.1.14

    • Mark nodrop deprecated

      With the release of arrayvec 0.5, nodrop is unused.

      With the release of Rust 1.36 and MaybeUninit, nodrop has no purpose (but for older Rust releases).

  • 0.1.13

    • Update to include license files in the crate by @ignatenkobrain
  • 0.1.12

    • Remove dependency on crate odds.
  • 0.1.11

    • Remove erronous assertion in test (#77)
  • 0.1.10

    • Update for stable needs_drop (Rust 1.21, was nightly only)
  • 0.1.9

    • Fix issue in recent nightly where repr(u8) did not work. Use a better way to get rid of the enum layout optimization.
  • 0.1.8

    • Add crate feature use_union that uses untagged unions to implement NoDrop. Finally we have an implementation without hacks, without a runtime flag, and without an actual Drop impl (which was needed to suppress drop). The crate feature requires nightly and is unstable.
  • 0.1.7

    • Remove crate feature no_drop_flag, because it doesn't compile on nightly anymore. Drop flags are gone anyway!
  • 0.1.6

    • Add feature std, which you can opt out of to use no_std.
  • 0.1.5

    • Added crate feature use_needs_drop which is a nightly-only optimization, which skips overwriting if the inner value does not need drop.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.

Dependencies