diff options
| author | Andreas Grois <andi@grois.info> | 2023-03-21 00:10:48 +0100 |
|---|---|---|
| committer | Andreas Grois <andi@grois.info> | 2023-03-21 00:10:48 +0100 |
| commit | e9d126e7ead84fc5319252717d70ce5954aa8526 (patch) | |
| tree | 0672a0119c61f2f350d77b84d2a5d7fe7c96cc4f /tests/multiple_generics.rs | |
| parent | 22154f14dd11f45230491cf0e93038ccfee8c85a (diff) | |
Multiple generic parameters now with lifetimes.
Diffstat (limited to 'tests/multiple_generics.rs')
| -rw-r--r-- | tests/multiple_generics.rs | 21 |
1 files changed, 21 insertions, 0 deletions
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 |
