Skip to content

Compilation failure with latest nightly #71

@Gerschtli

Description

@Gerschtli

There seems to be a regression with latest nightly.

$> cargo test
[...]
   Compiling mocktopus v0.7.11
error[E0059]: type parameter to bare `FnOnce` trait must be a tuple
   --> /home/tobhap/.cargo/registry/src/github.com-1ecc6299db9ec823/mocktopus-0.7.11/src/mocking.rs:100:25
    |
100 | impl<T, O, F: FnOnce<T, Output = O>> Mockable<T, O> for F {
    |                         ^^^^^^^^^^ the trait `Tuple` is not implemented for `T`
    |
note: required by a bound in `FnOnce`
help: consider restricting type parameter `T`
    |
100 | impl<T: std::marker::Tuple, O, F: FnOnce<T, Output = O>> Mockable<T, O> for F {
    |       ++++++++++++++++++++

error[E0059]: type parameter to bare `FnMut` trait must be a tuple
   --> /home/tobhap/.cargo/registry/src/github.com-1ecc6299db9ec823/mocktopus-0.7.11/src/mocking.rs:192:12
    |
192 |         M: FnMut<I, Output = MockResult<I, O>> + 'a,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `I`
    |
note: required by a bound in `FnMut`
help: consider further restricting type parameter `I`
    |
192 |         M: FnMut<I, Output = MockResult<I, O>> + 'a, I: std::marker::Tuple
    |                                                    ~~~~~~~~~~~~~~~~~~~~~~~

error[E0059]: type parameter to bare `FnMut` trait must be a tuple
   --> /home/tobhap/.cargo/registry/src/github.com-1ecc6299db9ec823/mocktopus-0.7.11/src/mocking.rs:204:12
    |
204 |         M: FnMut<I, Output = MockResult<I, O>>,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `I`
    |
note: required by a bound in `FnMut`
help: consider further restricting type parameter `I`
    |
204 |         M: FnMut<I, Output = MockResult<I, O>>, I: std::marker::Tuple
    |                                               ~~~~~~~~~~~~~~~~~~~~~~~

error[E0059]: type parameter to bare `FnMut` trait must be a tuple
  --> /home/tobhap/.cargo/registry/src/github.com-1ecc6299db9ec823/mocktopus-0.7.11/src/mocking.rs:45:27
   |
45 |     unsafe fn mock_raw<M: FnMut<T, Output = MockResult<T, O>>>(&self, mock: M);
   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `T`
   |
note: required by a bound in `FnMut`
help: consider restricting type parameter `T`
   |
11 | pub trait Mockable<T: std::marker::Tuple, O> {
   |                     ++++++++++++++++++++

error[E0059]: type parameter to bare `FnMut` trait must be a tuple
  --> /home/tobhap/.cargo/registry/src/github.com-1ecc6299db9ec823/mocktopus-0.7.11/src/mocking.rs:65:21
   |
65 |     fn mock_safe<M: FnMut<T, Output = MockResult<T, O>> + 'static>(&self, mock: M);
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `T`
   |
note: required by a bound in `FnMut`
help: consider restricting type parameter `T`
   |
11 | pub trait Mockable<T: std::marker::Tuple, O> {
   |                     ++++++++++++++++++++

For more information about this error, try `rustc --explain E0059`.
error: could not compile `mocktopus` due to 5 previous errors
warning: build failed, waiting for other jobs to finish...

$> rustc --version
rustc 1.67.0-nightly (7eef946fc 2022-11-06)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions