criterion.rs icon indicating copy to clipboard operation
criterion.rs copied to clipboard

Build for `csv_output` feature is broken

Open justsmth opened this issue 3 years ago • 2 comments

Attempting to build the csv_output feature causes a compiler error due to "non-exhaustive patterns". See compiler output below.

➜ cargo build --features csv_output
   Compiling memchr v2.5.0
   Compiling lazy_static v1.4.0
   Compiling regex-automata v0.1.10
   Compiling itoa v0.4.8
   Compiling csv-core v0.1.10
   Compiling bstr v0.2.17
   Compiling csv v1.1.6
   Compiling criterion v0.4.0 (/Users/justsmth/repos/criterion.rs)
error[E0004]: non-exhaustive patterns: `Some(BytesDecimal(_))` not covered
   --> src/csv_report.rs:36:55
    |
36  |         let (throughput_num, throughput_type) = match id.throughput {
    |                                                       ^^^^^^^^^^^^^ pattern `Some(BytesDecimal(_))` not covered
    |
note: `std::option::Option<Throughput>` defined here
   --> /Users/justsmth/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:526:5
    |
518 | pub enum Option<T> {
    | ------------------
...
526 |     Some(#[stable(feature = "rust1", since = "1.0.0")] T),
    |     ^^^^ not covered
    = note: the matched value is of type `std::option::Option<Throughput>`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
    |
39  ~             None => (None, None),
40  ~             Some(BytesDecimal(_)) => todo!(),
    |

For more information about this error, try `rustc --explain E0004`.
error: could not compile `criterion` due to previous error

justsmth avatar Oct 11 '22 19:10 justsmth

The same error occurs when using cargo bench -- --features html_reports

tf-maam avatar Oct 13 '22 21:10 tf-maam

There is a patch in #619

ldm0 avatar Oct 23 '22 16:10 ldm0