#patterns #vector #drop #maybeuninit #destructor #fixed #wrapper-type #type #unused #capacity

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
Download history 73381/week @ 2021-09-27 105182/week @ 2021-10-04 92369/week @ 2021-10-11 82852/week @ 2021-10-18 75920/week @ 2021-10-25 78491/week @ 2021-11-01 78305/week @ 2021-11-08 72488/week @ 2021-11-15 67426/week @ 2021-11-22 74319/week @ 2021-11-29 83617/week @ 2021-12-06 86242/week @ 2021-12-13 66476/week @ 2021-12-20 58163/week @ 2021-12-27 83626/week @ 2022-01-03 87819/week @ 2022-01-10

304,493 downloads per month
Used in 1,793 crates (15 directly)

MIT/Apache

10KB
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