extern crate session_types;
use std::thread::spawn;
use session_types::*;
fn srv(c: Chan<(), Recv<u8, Eps>>) {
let (c, x) = c.recv();
c.close();
}
fn main() {
let (c1, c2) = session_channel();
let t1 = spawn(|| { srv(c1) });
srv(c2); c2.close(); c2.sel1(); c2.sel2(); c2.offer(); c2.enter(); c2.zero(); c2.succ(); c2.recv();
c2.send(42).close();
t1.join().unwrap();
}