From eef50ccde5387bade6718e093ade7c51c7f76b04 Mon Sep 17 00:00:00 2001 From: Martin Larralde Date: Thu, 23 Jul 2020 12:51:08 +0200 Subject: [PATCH] Release v0.1.2 --- CHANGELOG.md | 10 +++++++++- Cargo.toml | 3 +-- README.md | 32 +++++++++++++++++++------------- ci/travis/script.sh | 6 +++--- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5d95dc..f194670 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] -[Unreleased]: https://github.com/fastobo/fastobo/compare/v0.1.1...HEAD +[Unreleased]: https://github.com/fastobo/fastobo/compare/v0.1.2...HEAD + +## [v0.1.2] - 2020-07-22 +[v0.1.2]: https://github.com/fastobo/fastobo/compare/v0.1.1...v0.1.2 +### Changed +- `syn` now only compiles with [`full`](https://docs.rs/syn/latest/syn/#optional-features) + feature in release mode. +### Removed +- Unused `darling` dependency. ## [v0.1.1] - 2020-07-22 [v0.1.1]: https://github.com/fastobo/fastobo/compare/v0.1.0...v0.1.1 diff --git a/Cargo.toml b/Cargo.toml index a650b8d..f794d01 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blanket" -version = "0.1.1" +version = "0.1.2" authors = ["Martin Larralde "] edition = "2018" license = "MIT" @@ -41,7 +41,6 @@ impls = "1.0" static_assertions = "1.1" [dev-dependencies.syn] version = "1.0" -default-features = false features = ["full", "extra-traits"] [features] diff --git a/README.md b/README.md index fa6d1d4..ba92196 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,16 @@ The Rust standard library has plenty of traits, but they shine in how well they integrate with new types. Declare an implementation of -[`std::io::Write`](https://doc.rust-lang.org/std/io/trait.Write.html) for -a type `T`, and you also get it for `&mut T` and `Box`! This however -translates into a [lot of boilerplate code](https://doc.rust-lang.org/src/std/io/impls.rs.html#49-79) -that can be hard to maintain, which is why many crates don't over the same -convenience implementations. +[`std::io::Write`] for +a type `W`, and you also get it for [`&mut W`] and [`Box`]! This however +translates into a [lot of boilerplate code] +that can be hard to maintain, which is why many crates don't bother +providing the same convenience implementations. + +[`std::io::Write`]: https://doc.rust-lang.org/std/io/trait.Write.html +[lot of boilerplate code]: https://doc.rust-lang.org/src/std/io/impls.rs.html#49-79 +[`&mut W`]: https://doc.rust-lang.org/std/io/trait.Write.html#impl-Write-17 +[`Box`]: https://doc.rust-lang.org/std/io/trait.Write.html#impl-Write-19 This is where `blanket` comes in! This crate helps you build the same kind of blanket implementations for your own traits with as least additional code @@ -131,14 +136,15 @@ trait Visitor { ## 📝 To-Do -- ✔ Delegation of default method to external functions. -- ✔ Support for traits with generic arguments. -- ✔ `#[derive(Ref)]` -- ✔ `#[derive(Mut)]` -- ✔ `#[derive(Box)]` -- ✔ `#[derive(Rc)]` -- ✘ Update `Box` to allow unsized types if possible. -- ✘ `#[derive(Arc)]` +-Delegation of default method to external functions. +-Support for traits with generic arguments. +- ✓ `#[derive(Ref)]` +- ✓ `#[derive(Mut)]` +- ✓ `#[derive(Box)]` +- ✓ `#[derive(Rc)]` +- ✗ Update `Box` derive to allow unsized types if possible. +- ✗ `#[derive(Arc)]` +- ✗ `#[derive(Cow)]` ## 📋 Changelog diff --git a/ci/travis/script.sh b/ci/travis/script.sh index 04e35ae..c452f9e 100755 --- a/ci/travis/script.sh +++ b/ci/travis/script.sh @@ -7,7 +7,7 @@ # only test without coverage in nightly since the span of diagnositcs is # currently not for the nightly and the other channels, most likely because # of `proc-macro2` -if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then +if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then log Testing without measuring coverage cargo test fi @@ -16,7 +16,7 @@ fi # --- Test without coverage -------------------------------------------------- log Testing with coverage -cargo tarpaulin -v --out Xml --ciserver travis-ci +cargo tarpaulin --lib -v --out Xml --ciserver travis-ci # --- Check code format ------------------------------------------------------ @@ -24,7 +24,7 @@ cargo tarpaulin -v --out Xml --ciserver travis-ci # only test without coverage in nightly since the span of diagnositcs is # currently not for the nightly and the other channels, most likely because # of `proc-macro2` -if [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then +if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then log Checking Rust code format with \`cargo fmt\` cargo fmt -- --check fi