1#!/usr/bin/env bash 2 3set -e 4 5echo "Generating SchemeMut from Scheme" 6sed 's/trait Scheme/trait SchemeMut/' scheme.rs \ 7| sed 's/\&self/\&mut self/g' \ 8> scheme_mut.rs 9 10echo "Generating SchemeBlock from Scheme" 11sed 's/trait Scheme/trait SchemeBlock/' scheme.rs \ 12| sed 's/fn handle(\&self, packet: \&mut Packet)/fn handle(\&self, packet: \&Packet) -> Option<usize>/' \ 13| sed 's/packet.a = Error::mux(res);/res.transpose().map(Error::mux)/' \ 14| sed 's/Result<usize>/Result<Option<usize>>/g' \ 15> scheme_block.rs 16 17echo "Generating SchemeBlockMut from SchemeBlock" 18sed 's/trait SchemeBlock/trait SchemeBlockMut/' scheme_block.rs \ 19| sed 's/\&self/\&mut self/g' \ 20> scheme_block_mut.rs 21