Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use no_std by default #173

Merged
merged 1 commit into from
Oct 29, 2019
Merged

Use no_std by default #173

merged 1 commit into from
Oct 29, 2019

Conversation

mbrubeck
Copy link
Collaborator

@mbrubeck mbrubeck commented Oct 29, 2019

Since alloc became stable, the std feature is only needed to enable impl Write for SmallVec, which most users of this crate do not need. This patch replaces the enabled-by-default std feature with a disabled-by-default write feature. This decreases the chance that users of this crate will accidentally depend on libstd when they don't need it.

The `std` feature is only needed to enable `impl Write for SmallVec`,
which most users of this crate do not need.  This patch replaces the
enabled-by-default `std` feature with a disabled-by-default `write`
feature.  This decreases the chance that users of this crate will
accidentally depend on libstd when they don't need it.
@mbrubeck mbrubeck requested a review from emilio October 29, 2019 18:12
@mbrubeck
Copy link
Collaborator Author

r? @emilio

Copy link
Member

@emilio emilio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@emilio
Copy link
Member

emilio commented Oct 29, 2019

@bors-servo r+

@bors-servo
Copy link
Contributor

📌 Commit fffb185 has been approved by emilio

@bors-servo
Copy link
Contributor

⌛ Testing commit fffb185 with merge b2c9c65...

bors-servo pushed a commit that referenced this pull request Oct 29, 2019
Use no_std by default

Since `alloc` became stable, the `std` feature is only needed to enable `impl Write for SmallVec`, which most users of this crate do not need.  This patch replaces the enabled-by-default `std` feature with a disabled-by-default `write` feature.  This decreases the chance that users of this crate will accidentally depend on libstd when they don't need it.
@bors-servo
Copy link
Contributor

☀️ Test successful - checks-travis
Approved by: emilio
Pushing b2c9c65 to master...

@bors-servo bors-servo merged commit fffb185 into servo:master Oct 29, 2019
mbrubeck added a commit to mbrubeck/rust-smallvec that referenced this pull request Oct 30, 2019
* [breaking change] Use `MaybeUninit` internally to avoid possible undefined behavior (servo#162, servo#170).
* [breaking change] The `drain` method now takes a range argument, just like the standard `Vec::drain` (servo#145).
* [breaking change] Remove the `unreachable` function and replace it with the new standard `unreachable_unchecked` function (servo#164).
* [breaking change] Use `no_std` by default. This crate depends only on `core` and `alloc` by default. If the optional `write` feature is enabled then it depends on `std` so that `SmallVec<[u8, _]>` can implement the `std::io::Write` trait (servo#173).
* Add support for 96-element small vectors, `SmallVec<[T; 96]>` (servo#163).
* Iterators now implement `FusedIterator` (servo#172).
* Indexing now uses the standard `SliceIndex` trait (servo#166).
* Remove the deprecated `VecLike` trait (servo#165).
* Use `NonNull` internally (servo#171).
* Add automatic fuzz testing and MIRI testing (servo#168, servo#162).
* Update syntax and formatting to Rust 2018 standard (servo#174, servo#167).
@mbrubeck mbrubeck mentioned this pull request Oct 30, 2019
bors-servo pushed a commit that referenced this pull request Nov 2, 2019
Version 1.0.0

* Requires Rust 1.36 or later.
* [breaking change] Use `MaybeUninit` to avoid possible undefined behavior (#162, #170).
* [breaking change] The `drain` method now takes a range argument, just like the standard `Vec::drain` (#145).
* [breaking change] Remove the `unreachable` function and replace it with the new standard `unreachable_unchecked` function (#164).
* [breaking change] Use `no_std` by default. This crate depends only on `core` and `alloc` by default. If the optional `write` feature is enabled then it depends on `std` so that `SmallVec<[u8;_]>` can implement the `std::io::Write` trait (#173).
* Add support for 96-element small vectors, `SmallVec<[T; 96]>` (#163).
* Iterators now implement `FusedIterator` (#172).
* Indexing now uses the standard `SliceIndex` trait (#166).
* Remove the deprecated `VecLike` trait (#165).
* Use `NonNull` internally (#171).
* Add automatic fuzz testing and MIRI testing (#168, #162).
* Update syntax and formatting to Rust 2018 standard (#174, #167).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants