Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.24 KB | None | 0 0
  1. use std::marker::PhantomData;
  2.  
  3. struct StateM<F, S, A>(F, PhantomData<S>, PhantomData<A>);
  4.  
  5. impl StateM<(), (), ()>
  6. {
  7. fn unit<S, A>(a: A) -> StateM<impl FnOnce(S) -> (A, S), S, A> {
  8. StateM(move |s| (a, s), PhantomData, PhantomData)
  9. }
  10. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement