Merge pull request #152 from Luro02/readme
add readme.md and move changelog to a separate file
This commit is contained in:
+223
@@ -0,0 +1,223 @@
|
|||||||
|
Recent Changes (arrayvec)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
- 0.5.1
|
||||||
|
|
||||||
|
- Add `as_ptr`, `as_mut_ptr` accessors directly on the `ArrayVec` by @tbu-
|
||||||
|
(matches the same addition to `Vec` which happened in Rust 1.37).
|
||||||
|
- Add method `ArrayString::len` (now available directly, not just through deref to str).
|
||||||
|
- Use raw pointers instead of `&mut [u8]` for encoding chars into `ArrayString`
|
||||||
|
(uninit best practice fix).
|
||||||
|
- Use raw pointers instead of `get_unchecked_mut` where the target may be
|
||||||
|
uninitialized everywhere relevant in the ArrayVec implementation
|
||||||
|
(uninit best practice fix).
|
||||||
|
- Changed inline hints on many methods, mainly removing inline hints
|
||||||
|
- `ArrayVec::dispose` is now deprecated (it has no purpose anymore)
|
||||||
|
|
||||||
|
- 0.4.12
|
||||||
|
|
||||||
|
- Use raw pointers instead of `get_unchecked_mut` where the target may be
|
||||||
|
uninitialized everywhere relevant in the ArrayVec implementation.
|
||||||
|
|
||||||
|
- 0.5.0
|
||||||
|
|
||||||
|
- Use `MaybeUninit` (now unconditionally) in the implementation of
|
||||||
|
`ArrayVec`
|
||||||
|
- Use `MaybeUninit` (now unconditionally) in the implementation of
|
||||||
|
`ArrayString`
|
||||||
|
- The crate feature for serde serialization is now named `serde`.
|
||||||
|
- Updated the `Array` trait interface, and it is now easier to use for
|
||||||
|
users outside the crate.
|
||||||
|
- Add `FromStr` impl for `ArrayString` by @despawnerer
|
||||||
|
- Add method `try_extend_from_slice` to `ArrayVec`, which is always
|
||||||
|
effecient by @Thomasdezeeuw.
|
||||||
|
- Add method `remaining_capacity` by @Thomasdezeeuw
|
||||||
|
- Improve performance of the `extend` method.
|
||||||
|
- The index type of zero capacity vectors is now itself zero size, by
|
||||||
|
@clarfon
|
||||||
|
- Use `drop_in_place` for truncate and clear methods. This affects drop order
|
||||||
|
and resume from panic during drop.
|
||||||
|
- Use Rust 2018 edition for the implementation
|
||||||
|
- Require Rust 1.36 or later, for the unconditional `MaybeUninit`
|
||||||
|
improvements.
|
||||||
|
|
||||||
|
- 0.4.11
|
||||||
|
|
||||||
|
- In Rust 1.36 or later, use newly stable `MaybeUninit`. This extends the
|
||||||
|
soundness work introduced in 0.4.9, we are finally able to use this in
|
||||||
|
stable. We use feature detection (build script) to enable this at build
|
||||||
|
time.
|
||||||
|
|
||||||
|
- 0.4.10
|
||||||
|
|
||||||
|
- Use `repr(C)` in the `union` version that was introduced in 0.4.9, to
|
||||||
|
allay some soundness concerns.
|
||||||
|
|
||||||
|
- 0.4.9
|
||||||
|
|
||||||
|
- Use `union` in the implementation on when this is detected to be supported
|
||||||
|
(nightly only for now). This is a better solution for treating uninitialized
|
||||||
|
regions correctly, and we'll use it in stable Rust as soon as we are able.
|
||||||
|
When this is enabled, the `ArrayVec` has no space overhead in its memory
|
||||||
|
layout, although the size of the vec should not be relied upon. (See [#114](https://github.com/bluss/arrayvec/pull/114))
|
||||||
|
- `ArrayString` updated to not use uninitialized memory, it instead zeros its
|
||||||
|
backing array. This will be refined in the next version, since we
|
||||||
|
need to make changes to the user visible API.
|
||||||
|
- The `use_union` feature now does nothing (like its documentation foretold).
|
||||||
|
|
||||||
|
|
||||||
|
- 0.4.8
|
||||||
|
|
||||||
|
- Implement Clone and Debug for `IntoIter` by @clarcharr
|
||||||
|
- Add more array sizes under crate features. These cover all in the range
|
||||||
|
up to 128 and 129 to 255 respectively (we have a few of those by default):
|
||||||
|
|
||||||
|
- `array-size-33-128`
|
||||||
|
- `array-size-129-255`
|
||||||
|
|
||||||
|
- 0.4.7
|
||||||
|
|
||||||
|
- Fix future compat warning about raw pointer casts
|
||||||
|
- Use `drop_in_place` when dropping the arrayvec by-value iterator
|
||||||
|
- Decrease mininum Rust version (see docs) by @jeehoonkang
|
||||||
|
|
||||||
|
- 0.3.25
|
||||||
|
|
||||||
|
- Fix future compat warning about raw pointer casts
|
||||||
|
|
||||||
|
- 0.4.6
|
||||||
|
|
||||||
|
- Fix compilation on 16-bit targets. This means, the 65536 array size is not
|
||||||
|
included on these targets.
|
||||||
|
|
||||||
|
- 0.3.24
|
||||||
|
|
||||||
|
- Fix compilation on 16-bit targets. This means, the 65536 array size is not
|
||||||
|
included on these targets.
|
||||||
|
- Fix license files so that they are both included (was fixed in 0.4 before)
|
||||||
|
|
||||||
|
- 0.4.5
|
||||||
|
|
||||||
|
- Add methods to `ArrayString` by @DenialAdams:
|
||||||
|
|
||||||
|
- `.pop() -> Option<char>`
|
||||||
|
- `.truncate(new_len)`
|
||||||
|
- `.remove(index) -> char`
|
||||||
|
|
||||||
|
- Remove dependency on crate odds
|
||||||
|
- Document debug assertions in unsafe methods better
|
||||||
|
|
||||||
|
- 0.4.4
|
||||||
|
|
||||||
|
- Add method `ArrayVec::truncate()` by @niklasf
|
||||||
|
|
||||||
|
- 0.4.3
|
||||||
|
|
||||||
|
- Improve performance for `ArrayVec::extend` with a lower level
|
||||||
|
implementation (#74)
|
||||||
|
- Small cleanup in dependencies (use no std for crates where we don't need more)
|
||||||
|
|
||||||
|
- 0.4.2
|
||||||
|
|
||||||
|
- Add constructor method `new` to `CapacityError`.
|
||||||
|
|
||||||
|
- 0.4.1
|
||||||
|
|
||||||
|
- Add `Default` impl to `ArrayString` by @tbu-
|
||||||
|
|
||||||
|
- 0.4.0
|
||||||
|
|
||||||
|
- Reformed signatures and error handling by @bluss and @tbu-:
|
||||||
|
|
||||||
|
- `ArrayVec`'s `push, insert, remove, swap_remove` now match `Vec`'s
|
||||||
|
corresponding signature and panic on capacity errors where applicable.
|
||||||
|
- Add fallible methods `try_push, insert` and checked methods
|
||||||
|
`pop_at, swap_pop`.
|
||||||
|
- Similar changes to `ArrayString`'s push methods.
|
||||||
|
|
||||||
|
- Use a local version of the `RangeArgument` trait
|
||||||
|
- Add array sizes 50, 150, 200 by @daboross
|
||||||
|
- Support serde 1.0 by @daboross
|
||||||
|
- New method `.push_unchecked()` by @niklasf
|
||||||
|
- `ArrayString` implements `PartialOrd, Ord` by @tbu-
|
||||||
|
- Require Rust 1.14
|
||||||
|
- crate feature `use_generic_array` was dropped.
|
||||||
|
|
||||||
|
- 0.3.23
|
||||||
|
|
||||||
|
- Implement `PartialOrd, Ord` as well as `PartialOrd<str>` for
|
||||||
|
`ArrayString`.
|
||||||
|
|
||||||
|
- 0.3.22
|
||||||
|
|
||||||
|
- Implement `Array` for the 65536 size
|
||||||
|
|
||||||
|
- 0.3.21
|
||||||
|
|
||||||
|
- Use `encode_utf8` from crate odds
|
||||||
|
- Add constructor `ArrayString::from_byte_string`
|
||||||
|
|
||||||
|
- 0.3.20
|
||||||
|
|
||||||
|
- Simplify and speed up `ArrayString`’s `.push(char)`-
|
||||||
|
|
||||||
|
- 0.3.19
|
||||||
|
|
||||||
|
- Add new crate feature `use_generic_array` which allows using their
|
||||||
|
`GenericArray` just like a regular fixed size array for the storage
|
||||||
|
of an `ArrayVec`.
|
||||||
|
|
||||||
|
- 0.3.18
|
||||||
|
|
||||||
|
- Fix bounds check in `ArrayVec::insert`!
|
||||||
|
It would be buggy if `self.len() < index < self.capacity()`. Take note of
|
||||||
|
the push out behavior specified in the docs.
|
||||||
|
|
||||||
|
- 0.3.17
|
||||||
|
|
||||||
|
- Added crate feature `use_union` which forwards to the nodrop crate feature
|
||||||
|
- Added methods `.is_full()` to `ArrayVec` and `ArrayString`.
|
||||||
|
|
||||||
|
- 0.3.16
|
||||||
|
|
||||||
|
- Added method `.retain()` to `ArrayVec`.
|
||||||
|
- Added methods `.as_slice(), .as_mut_slice()` to `ArrayVec` and `.as_str()`
|
||||||
|
to `ArrayString`.
|
||||||
|
|
||||||
|
- 0.3.15
|
||||||
|
|
||||||
|
- Add feature std, which you can opt out of to use `no_std` (requires Rust 1.6
|
||||||
|
to opt out).
|
||||||
|
- Implement `Clone::clone_from` for ArrayVec and ArrayString
|
||||||
|
|
||||||
|
- 0.3.14
|
||||||
|
|
||||||
|
- Add `ArrayString::from(&str)`
|
||||||
|
|
||||||
|
- 0.3.13
|
||||||
|
|
||||||
|
- Added `DerefMut` impl for `ArrayString`.
|
||||||
|
- Added method `.simplify()` to drop the element for `CapacityError`.
|
||||||
|
- Added method `.dispose()` to `ArrayVec`
|
||||||
|
|
||||||
|
- 0.3.12
|
||||||
|
|
||||||
|
- Added ArrayString, a fixed capacity analogy of String
|
||||||
|
|
||||||
|
- 0.3.11
|
||||||
|
|
||||||
|
- Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
|
||||||
|
|
||||||
|
- 0.3.10
|
||||||
|
|
||||||
|
- Go back to using external NoDrop, fixing a panic safety bug (issue #3)
|
||||||
|
|
||||||
|
- 0.3.8
|
||||||
|
|
||||||
|
- Inline the non-dropping logic to remove one drop flag in the
|
||||||
|
ArrayVec representation.
|
||||||
|
|
||||||
|
- 0.3.7
|
||||||
|
|
||||||
|
- Added method .into_inner()
|
||||||
|
- Added unsafe method .set_len()
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
arrayvec
|
||||||
|
========
|
||||||
|
[](https://crates.io/crates/arrayvec)
|
||||||
|
[](https://crates.io/crates/nodrop)
|
||||||
|
[](https://docs.rs/arrayvec)
|
||||||
|
[](https://travis-ci.org/sile/hls_m3u8)
|
||||||
|
[](LICENSE-APACHE)
|
||||||
|
OR
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
A vector with fixed capacity.
|
||||||
|
|
||||||
|
Please read the [`API documentation here`](https://docs.rs/arrayvec)
|
||||||
|
|
||||||
|
# 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.
|
||||||
-259
@@ -1,259 +0,0 @@
|
|||||||
|
|
||||||
arrayvec
|
|
||||||
========
|
|
||||||
|
|
||||||
A vector with fixed capacity.
|
|
||||||
|
|
||||||
Please read the `API documentation here`__
|
|
||||||
|
|
||||||
__ https://docs.rs/arrayvec
|
|
||||||
|
|
||||||
|build_status|_ |crates|_ |crates2|_
|
|
||||||
|
|
||||||
.. |build_status| image:: https://travis-ci.org/bluss/arrayvec.svg
|
|
||||||
.. _build_status: https://travis-ci.org/bluss/arrayvec
|
|
||||||
|
|
||||||
.. |crates| image:: http://meritbadge.herokuapp.com/arrayvec
|
|
||||||
.. _crates: https://crates.io/crates/arrayvec
|
|
||||||
|
|
||||||
.. |crates2| image:: http://meritbadge.herokuapp.com/nodrop
|
|
||||||
.. _crates2: https://crates.io/crates/nodrop
|
|
||||||
|
|
||||||
Recent Changes (arrayvec)
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
- 0.5.1
|
|
||||||
|
|
||||||
- Add ``as_ptr``, ``as_mut_ptr`` accessors directly on the ``ArrayVec`` by @tbu-
|
|
||||||
(matches the same addition to ``Vec`` which happened in Rust 1.37).
|
|
||||||
- Add method ``ArrayString::len`` (now available directly, not just through deref to str).
|
|
||||||
- Use raw pointers instead of ``&mut [u8]`` for encoding chars into ``ArrayString``
|
|
||||||
(uninit best practice fix).
|
|
||||||
- Use raw pointers instead of ``get_unchecked_mut`` where the target may be
|
|
||||||
uninitialized everywhere relevant in the ArrayVec implementation
|
|
||||||
(uninit best practice fix).
|
|
||||||
- Changed inline hints on many methods, mainly removing inline hints
|
|
||||||
- ``ArrayVec::dispose`` is now deprecated (it has no purpose anymore)
|
|
||||||
|
|
||||||
- 0.4.12
|
|
||||||
|
|
||||||
- Use raw pointers instead of ``get_unchecked_mut`` where the target may be
|
|
||||||
uninitialized everywhere relevant in the ArrayVec implementation.
|
|
||||||
|
|
||||||
- 0.5.0
|
|
||||||
|
|
||||||
- Use ``MaybeUninit`` (now unconditionally) in the implementation of
|
|
||||||
``ArrayVec``
|
|
||||||
- Use ``MaybeUninit`` (now unconditionally) in the implementation of
|
|
||||||
``ArrayString``
|
|
||||||
- The crate feature for serde serialization is now named ``serde``.
|
|
||||||
- Updated the ``Array`` trait interface, and it is now easier to use for
|
|
||||||
users outside the crate.
|
|
||||||
- Add ``FromStr`` impl for ``ArrayString`` by @despawnerer
|
|
||||||
- Add method ``try_extend_from_slice`` to ``ArrayVec``, which is always
|
|
||||||
effecient by @Thomasdezeeuw.
|
|
||||||
- Add method ``remaining_capacity`` by @Thomasdezeeuw
|
|
||||||
- Improve performance of the ``extend`` method.
|
|
||||||
- The index type of zero capacity vectors is now itself zero size, by
|
|
||||||
@clarfon
|
|
||||||
- Use ``drop_in_place`` for truncate and clear methods. This affects drop order
|
|
||||||
and resume from panic during drop.
|
|
||||||
- Use Rust 2018 edition for the implementation
|
|
||||||
- Require Rust 1.36 or later, for the unconditional ``MaybeUninit``
|
|
||||||
improvements.
|
|
||||||
|
|
||||||
- 0.4.11
|
|
||||||
|
|
||||||
- In Rust 1.36 or later, use newly stable MaybeUninit. This extends the
|
|
||||||
soundness work introduced in 0.4.9, we are finally able to use this in
|
|
||||||
stable. We use feature detection (build script) to enable this at build
|
|
||||||
time.
|
|
||||||
|
|
||||||
- 0.4.10
|
|
||||||
|
|
||||||
- Use ``repr(C)`` in the ``union`` version that was introduced in 0.4.9, to
|
|
||||||
allay some soundness concerns.
|
|
||||||
|
|
||||||
- 0.4.9
|
|
||||||
|
|
||||||
- Use ``union`` in the implementation on when this is detected to be supported
|
|
||||||
(nightly only for now). This is a better solution for treating uninitialized
|
|
||||||
regions correctly, and we'll use it in stable Rust as soon as we are able.
|
|
||||||
When this is enabled, the ``ArrayVec`` has no space overhead in its memory
|
|
||||||
layout, although the size of the vec should not be relied upon. (See `#114`_)
|
|
||||||
- ``ArrayString`` updated to not use uninitialized memory, it instead zeros its
|
|
||||||
backing array. This will be refined in the next version, since we
|
|
||||||
need to make changes to the user visible API.
|
|
||||||
- The ``use_union`` feature now does nothing (like its documentation foretold).
|
|
||||||
|
|
||||||
.. _`#114`: https://github.com/bluss/arrayvec/pull/114
|
|
||||||
|
|
||||||
- 0.4.8
|
|
||||||
|
|
||||||
- Implement Clone and Debug for ``IntoIter`` by @clarcharr
|
|
||||||
- Add more array sizes under crate features. These cover all in the range
|
|
||||||
up to 128 and 129 to 255 respectively (we have a few of those by default):
|
|
||||||
|
|
||||||
- ``array-size-33-128``
|
|
||||||
- ``array-size-129-255``
|
|
||||||
|
|
||||||
- 0.4.7
|
|
||||||
|
|
||||||
- Fix future compat warning about raw pointer casts
|
|
||||||
- Use ``drop_in_place`` when dropping the arrayvec by-value iterator
|
|
||||||
- Decrease mininum Rust version (see docs) by @jeehoonkang
|
|
||||||
|
|
||||||
- 0.3.25
|
|
||||||
|
|
||||||
- Fix future compat warning about raw pointer casts
|
|
||||||
|
|
||||||
- 0.4.6
|
|
||||||
|
|
||||||
- Fix compilation on 16-bit targets. This means, the 65536 array size is not
|
|
||||||
included on these targets.
|
|
||||||
|
|
||||||
- 0.3.24
|
|
||||||
|
|
||||||
- Fix compilation on 16-bit targets. This means, the 65536 array size is not
|
|
||||||
included on these targets.
|
|
||||||
- Fix license files so that they are both included (was fixed in 0.4 before)
|
|
||||||
|
|
||||||
- 0.4.5
|
|
||||||
|
|
||||||
- Add methods to ``ArrayString`` by @DenialAdams:
|
|
||||||
|
|
||||||
- ``.pop() -> Option<char>``
|
|
||||||
- ``.truncate(new_len)``
|
|
||||||
- ``.remove(index) -> char``
|
|
||||||
|
|
||||||
- Remove dependency on crate odds
|
|
||||||
- Document debug assertions in unsafe methods better
|
|
||||||
|
|
||||||
- 0.4.4
|
|
||||||
|
|
||||||
- Add method ``ArrayVec::truncate()`` by @niklasf
|
|
||||||
|
|
||||||
- 0.4.3
|
|
||||||
|
|
||||||
- Improve performance for ``ArrayVec::extend`` with a lower level
|
|
||||||
implementation (#74)
|
|
||||||
- Small cleanup in dependencies (use no std for crates where we don't need more)
|
|
||||||
|
|
||||||
- 0.4.2
|
|
||||||
|
|
||||||
- Add constructor method ``new`` to ``CapacityError``.
|
|
||||||
|
|
||||||
- 0.4.1
|
|
||||||
|
|
||||||
- Add ``Default`` impl to ``ArrayString`` by @tbu-
|
|
||||||
|
|
||||||
- 0.4.0
|
|
||||||
|
|
||||||
- Reformed signatures and error handling by @bluss and @tbu-:
|
|
||||||
|
|
||||||
- ``ArrayVec``'s ``push, insert, remove, swap_remove`` now match ``Vec``'s
|
|
||||||
corresponding signature and panic on capacity errors where applicable.
|
|
||||||
- Add fallible methods ``try_push, insert`` and checked methods
|
|
||||||
``pop_at, swap_pop``.
|
|
||||||
- Similar changes to ``ArrayString``'s push methods.
|
|
||||||
|
|
||||||
- Use a local version of the ``RangeArgument`` trait
|
|
||||||
- Add array sizes 50, 150, 200 by @daboross
|
|
||||||
- Support serde 1.0 by @daboross
|
|
||||||
- New method ``.push_unchecked()`` by @niklasf
|
|
||||||
- ``ArrayString`` implements ``PartialOrd, Ord`` by @tbu-
|
|
||||||
- Require Rust 1.14
|
|
||||||
- crate feature ``use_generic_array`` was dropped.
|
|
||||||
|
|
||||||
- 0.3.23
|
|
||||||
|
|
||||||
- Implement ``PartialOrd, Ord`` as well as ``PartialOrd<str>`` for
|
|
||||||
``ArrayString``.
|
|
||||||
|
|
||||||
- 0.3.22
|
|
||||||
|
|
||||||
- Implement ``Array`` for the 65536 size
|
|
||||||
|
|
||||||
- 0.3.21
|
|
||||||
|
|
||||||
- Use ``encode_utf8`` from crate odds
|
|
||||||
- Add constructor ``ArrayString::from_byte_string``
|
|
||||||
|
|
||||||
- 0.3.20
|
|
||||||
|
|
||||||
- Simplify and speed up ``ArrayString``’s ``.push(char)``-
|
|
||||||
|
|
||||||
- 0.3.19
|
|
||||||
|
|
||||||
- Add new crate feature ``use_generic_array`` which allows using their
|
|
||||||
``GenericArray`` just like a regular fixed size array for the storage
|
|
||||||
of an ``ArrayVec``.
|
|
||||||
|
|
||||||
- 0.3.18
|
|
||||||
|
|
||||||
- Fix bounds check in ``ArrayVec::insert``!
|
|
||||||
It would be buggy if ``self.len() < index < self.capacity()``. Take note of
|
|
||||||
the push out behavior specified in the docs.
|
|
||||||
|
|
||||||
- 0.3.17
|
|
||||||
|
|
||||||
- Added crate feature ``use_union`` which forwards to the nodrop crate feature
|
|
||||||
- Added methods ``.is_full()`` to ``ArrayVec`` and ``ArrayString``.
|
|
||||||
|
|
||||||
- 0.3.16
|
|
||||||
|
|
||||||
- Added method ``.retain()`` to ``ArrayVec``.
|
|
||||||
- Added methods ``.as_slice(), .as_mut_slice()`` to ``ArrayVec`` and ``.as_str()``
|
|
||||||
to ``ArrayString``.
|
|
||||||
|
|
||||||
- 0.3.15
|
|
||||||
|
|
||||||
- Add feature std, which you can opt out of to use ``no_std`` (requires Rust 1.6
|
|
||||||
to opt out).
|
|
||||||
- Implement ``Clone::clone_from`` for ArrayVec and ArrayString
|
|
||||||
|
|
||||||
- 0.3.14
|
|
||||||
|
|
||||||
- Add ``ArrayString::from(&str)``
|
|
||||||
|
|
||||||
- 0.3.13
|
|
||||||
|
|
||||||
- Added ``DerefMut`` impl for ``ArrayString``.
|
|
||||||
- Added method ``.simplify()`` to drop the element for ``CapacityError``.
|
|
||||||
- Added method ``.dispose()`` to ``ArrayVec``
|
|
||||||
|
|
||||||
- 0.3.12
|
|
||||||
|
|
||||||
- Added ArrayString, a fixed capacity analogy of String
|
|
||||||
|
|
||||||
- 0.3.11
|
|
||||||
|
|
||||||
- Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
|
|
||||||
|
|
||||||
- 0.3.10
|
|
||||||
|
|
||||||
- Go back to using external NoDrop, fixing a panic safety bug (issue #3)
|
|
||||||
|
|
||||||
- 0.3.8
|
|
||||||
|
|
||||||
- Inline the non-dropping logic to remove one drop flag in the
|
|
||||||
ArrayVec representation.
|
|
||||||
|
|
||||||
- 0.3.7
|
|
||||||
|
|
||||||
- Added method .into_inner()
|
|
||||||
- Added unsafe method .set_len()
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user