blob: ac47a555ab70b22bdac625882f9c34763b2691c2 [file] [log] [blame]
// vim: tw=80
//! generic structs with bounds on their generic parameters
#![deny(warnings)]
use mockall::*;
#[allow(unused)]
struct GenericStruct<T: Copy, V: Clone> {
t: T,
v: V
}
#[automock]
impl<T: Copy + 'static, V: Clone + 'static> GenericStruct<T, V> {
#[allow(unused)]
fn foo(&self, _x: u32) -> i64 {
42
}
}
#[test]
fn returning() {
let mut mock = MockGenericStruct::<u8, i8>::new();
mock.expect_foo()
.returning(|x| i64::from(x) + 1);
assert_eq!(5, mock.foo(4));
}