8000 Releases · tower120/any_vec · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: tower120/any_vec

no_std (0.14.0)

10 May 07:10
Compare
Choose a tag to compare

Added

  • Now library no_std friendly.

Removed

  • Helpers any_value::move_out, any_value::move_out_w_size removed as redundant.

AnyValue refactor

25 Aug 13:14
Compare
Choose a tag to compare

Added

  • AnyVec now can work with AnyValueSizeless.
  • any_value::traits prelude.

Optimized

  • AnyValue- family downcast now use provided type for compile-time optimization,
    instead of potentially unknown underlying type (which disabled optimization technique).

Breaking Changes

  • AnyValue + AnyValueUnknown traits broken down into:
    • AnyValueUnknown -> AnyValueTypeless.
    • Introduced AnyValueSizeless - AnyValue that does know size and type.
    • Added any_value::move_out, any_value::move_out_w_size helpers.
  • Changed AnyValueRaw non-owning wrappers names:
    • AnyValueRawUnknown -> AnyValueTypelessRaw.
    • Introduced AnyValueSizelessRaw.

v0.12.0

10 Jun 12:08
Compare
Choose a tag to compare

Added

  • element::ElementReference trait, implemented both for ElementRef, ElementMut and &Element.

Changed

  • Documentation clarification.

Fixed

  • Minor changes, to eliminate warnings with new compiler version.

RawParts + AnyValueUnknown

26 Aug 15:33
Compare
Choose a tag to compare

Added

AnyValueUnknown

  • AnyValue split into AnyValueUnknown + AnyValue.
  • AnyValueMut split into AnyValueMutUnknown + AnyValueMut.
  • AnyVec::push_unchecked(AnyValueUnknown).
  • AnyVec::insert_unchecked(usize, AnyValueUnknown).
  • AnyValueRawUnknown.
  • mem::Empty.

Raw parts

  • AnyVec::into_raw_parts / AnyVec::from_raw_parts / RawParts.
  • MemRawParts.
  • AnyVec::element_drop.
  • AnyVec::element_clone.

Changed

  • HeapMem implements MemRawParts.

Fixed

  • AnyVec::splice now check types.

v0.10.0

10 Jul 14:25
Compare
Choose a tag to compare

Changed

  • AnyValue::bytes()->*const u8 and AnyValue::size()->usize replaced with
    AnyValue::as_bytes()->&[u8]. Same for AnyValueMut.
  • AnyValueWrapper now AnyValueMut.
  • AnyValueRaw now AnyValueMut.
  • AnyValue::as_bytes() now return &[u8].

Added

  • Debug implemented for AnyVec, AnyVecTyped.
  • AnyValueMut::swap() added.
  • AnyVec/AnyVecTyped ::set_len() added.
  • AnyVec::as_bytes_mut added.
  • AnyVec::spare_bytes_mut added.
  • AnyVecTyped::spare_capacity_mut added.
  • mem::StackN added.

Fixed

  • Stacked Borrow friendly now.
  • mem::Stack capacity fixed.

v0.9.1

28 Jun 10:48
Compare
Choose a tag to compare

Changed

  • impls dependency dropped.
  • minimum rust version 1.61 requirement dropped.

Fixed

  • Empty HeapMem used wrong aligned dangling pointer. Fixed.
  • AnyVec Send/Sync -ability now MemBuilder dependent.
  • Fixed UB with StackMem::as_ptr.

MemBuilder

21 Jun 21:16
Compare
Choose a tag to compare

Added

  • MemBuilder + Mem = Allocator.
  • Stack MemBuilder.
  • AnyVec::clone_empty_in
  • reserve
  • reserve_exact
  • shrink_to_fit
  • shrink_to
  • pop
  • is_empty

Drain + Splice

19 Jun 18:49
9d7b0f9
Compare
Choose a tag to compare

Added

  • Added AnyVec::at - ergonomic version of get.
  • AnyVecRef now cloneable.
  • ElementRef now cloneable.
  • non-consuming iterators now cloneable.
  • AnyVec::drain.
  • AnyVecTyped::drain.
  • AnyVec::slice.
  • AnyVecTyped::slice.
  • AnyVec iterators.
  • AnyVec::clone_empty, to construct AnyVec of the same type.
  • IntoIterator implemented.

Changed

  • crate::refs being implementation details, hided.

LazyClone

08 Jun 16:01
Compare
Choose a tag to compare

Added

  • AnyValueClonable and LazyClone added.
  • AnyVec getters added.
  • AnyValueMut added. All remove operations now return AnyValueMut + AnyValueClonable.

Changed

  • any_value::AnyValue::downcast<T> now return Option<T>.
  • traits::EmptyTrait renamed to traits::None.
  • AnyValue interface changed.

Optimized

  • Performance of all remove operations slightly increased.

Send, Sync, Clone

29 May 20:04
Compare
Choose a tag to compare

Added

  • AnyVec now can be Sync, Send, Clone.

Changed

  • any_value::AnyValueTemp moved to ops::AnyValueTemp
  • any_vec::Unknown -> any_vec::any_value::Unknown

Fixed

  • AnyVec::insert now check type again.
  • AnyValueWrapper::downcast UB fx.
0