asomers / mockall

A powerful mock object library for Rust
Apache License 2.0
1.5k stars 62 forks source link

Returning default values requires the "nightly" feature #500

Closed kkolyan closed 1 year ago

kkolyan commented 1 year ago

Steps to reproduce

  1. Checkout this repo https://github.com/kkolyan/mockall_lab
  2. Run https://github.com/kkolyan/mockall_lab/blob/b8ae1be6214259cc038d093d99f6d6f4e5fbb34a/tests/test1.rs#L5

Expected - green

Actual

MockMyTrait::do_something: Expectation(<anything>) Returning default values requires the "nightly" feature
thread 'test1' panicked at 'MockMyTrait::do_something: Expectation(<anything>) Returning default values requires the "nightly" feature', src\lib.rs:4:1
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880/library\std\src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880/library\core\src/panicking.rs:67:14
   2: mockall_lab::__mock_MockMyTrait_MyTrait::__do_something::Expectation::call::{{closure}}
             at .\src\lib.rs:4:1
   3: core::result::Result<T,E>::unwrap_or_else
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880\library\core\src/result.rs:1428:23
   4: mockall_lab::__mock_MockMyTrait_MyTrait::__do_something::Expectation::call
             at .\src\lib.rs:4:1
   5: mockall_lab::__mock_MockMyTrait_MyTrait::__do_something::Expectations::call::{{closure}}
             at .\src\lib.rs:4:1
   6: core::option::Option<T>::map
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880\library\core\src/option.rs:1075:29
   7: mockall_lab::__mock_MockMyTrait_MyTrait::__do_something::Expectations::call
             at .\src\lib.rs:4:1
   8: <mockall_lab::MockMyTrait as mockall_lab::MyTrait>::do_something
             at .\src\lib.rs:4:1
   9: <&core::cell::RefCell<T> as mockall_lab::MyTrait>::do_something
             at .\src\lib.rs:27:9
  10: mockall_lab::MyStruct<T>::do_something_root
             at .\src\lib.rs:21:9
  11: test1::test1
             at .\tests\test1.rs:17:5
  12: test1::test1::{{closure}}
             at .\tests\test1.rs:5:12
  13: core::ops::function::FnOnce::call_once
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880\library\core\src\ops/function.rs:250:5
  14: core::ops::function::FnOnce::call_once
             at /rustc/f20afcc455bbcc5c0f7679450fb35fd0c9668880/library\core\src\ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

It panics telling that something requires "nightly". But nightly feature is enabled in this crate: https://github.com/kkolyan/mockall_lab/blob/ddb2b0f3125cab478ae23dba1e65c2637e3fd6cc/Cargo.toml#L9

asomers commented 1 year ago

In your Cargo.toml, change:

mockall = { version = "0.11.4", feature = ["nightly"] }

to

mockall = { version = "0.11.4", features = ["nightly"] }
kkolyan commented 1 year ago

oh my... thank you!