oliver-giersch/conquer-once

`no_std` requires Rust 1.40

Closed this issue · 5 comments

Hi @oliver-giersch,

Thank you for the crate!
I noticed that "readme" claims that crate supports minimum Rust version 1.36, but got the error trying to compile crate using 1.39 custom Rust compiler:

error[E0658]: `cfg(doctest)` is experimental and subject to change
  --> /home/aarbuzov/.cargo/registry/src/github.com-1ecc6299db9ec823/conquer-once-0.3.0/src/lib.rs:45:32
   |
45 | #![cfg_attr(all(not(test), not(doctest), not(feature = "std")), no_std)]
   |                                ^^^^^^^
   |
   = note: for more information, see https://github.com/rust-lang/rust/issues/62210
   = help: add `#![feature(cfg_doctest)]` to the crate attributes to enable

cfg_doctest is stable since 1.40 according to caniuse.rs.

Hi @lexxvir , thanks for bringing this to my attention.
I am, however, unable to reproduce your issue. In CI, 1.36.0 is explicitly checked and I just ran cargo test successfully using both 1.36.0 and 1.39.0 stable installed with rustup, so maybe it is an issue with your custom compiler? Could you please tell me specifically which command resulted in this issue?
By rights you should be correct, of course, and the feature should not be available on either version, so I am actually surprised that I am unable to reproduce it.

It seems this issue occurs only on 0.3.0 version published on crates.io. When I try git master I have no issue.

I have removed the cfg_doctest since it wasn't even required anymore, but even with the previous commit dc5e0e5 I am unable to reproduce. Either way, I will publish the most recent commit as v0.3.1

I am able to reproduce it on stock 1.39.0 but unable on 1.36.0. I use rust-toolchain file and rustup for the tests.

± git show --no-patch 
commit dc5e0e5d285114697c9ccef7f5c2699af21b9224 (HEAD)
Author: oliver-giersch <oliver.giersch@gmail.com>
Date:   Sat Nov 21 23:42:39 2020 +0100

    bump conquer-util dep to 0.3.0


± cat rust-toolchain
1.39.0

± cargo check --no-default-features
    Checking conquer-once v0.3.0 (/home/aarbuzov/git/rust/conquer-once)
error[E0658]: `cfg(doctest)` is experimental and subject to change
  --> src/lib.rs:45:32
   |
45 | #![cfg_attr(all(not(test), not(doctest), not(feature = "std")), no_std)]
   |                                ^^^^^^^
   |
   = note: for more information, see https://github.com/rust-lang/rust/issues/62210

error: aborting due to previous error

For more information about this error, try `rustc --explain E0658`.
error: could not compile `conquer-once`.

To learn more, run the command again with --verbose.

Looking forward for 0.3.1 on crates.io.

Thanks again for reporting the issue, should be fixed in v0.3.1