From e9d126e7ead84fc5319252717d70ce5954aa8526 Mon Sep 17 00:00:00 2001 From: Andreas Grois Date: Tue, 21 Mar 2023 00:10:48 +0100 Subject: Multiple generic parameters now with lifetimes. --- tests/multiple_generics.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests/multiple_generics.rs') diff --git a/tests/multiple_generics.rs b/tests/multiple_generics.rs index ce13414..2f560dd 100644 --- a/tests/multiple_generics.rs +++ b/tests/multiple_generics.rs @@ -62,4 +62,25 @@ fn test_multiple_generics2(){ }, _ => unreachable!() } +} + +#[test] +fn test_multiple_generics3(){ + let m : FreeResult<_, String> = FreeResult::lift_f(Ok(37u32)); + let f : FreeResult<_, String> = FreeResult::Pure(|x : u32| -> f32 {(x as f32)*0.5f32}).fmap(Into::into); + let m = m.apply(f); + match m{ + FreeResult::Free(m) => { + match &*m{ + Ok(k) => { + match k { + FreeResult::Pure(k) => assert_eq!(18.5f32, *k), + FreeResult::Free(_) => unreachable!(), + } + } + Err(_) => unreachable!(), + } + }, + _ => unreachable!() + } } \ No newline at end of file -- cgit v1.2.3