]>
Commit | Line | Data |
---|---|---|
8faf50e0 XL |
1 | #!/usr/bin/env bash |
2 | ||
3 | set -e | |
4 | ||
5 | echo "Generating SchemeMut from Scheme" | |
6 | sed 's/trait Scheme/trait SchemeMut/' scheme.rs \ | |
7 | | sed 's/\&self/\&mut self/g' \ | |
8 | > scheme_mut.rs | |
9 | ||
10 | echo "Generating SchemeBlock from Scheme" | |
11 | sed '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)/' \ | |
5869c6ff XL |
14 | | sed 's/\.map(|f| f\.bits())/\.map(|f| f.map(|f| f.bits()))/' \ |
15 | | sed 's/\.map(|o| o as usize)/.map(|o| o.map(|o| o as usize))/' \ | |
16 | | sed 's/Ok(0)/Ok(Some(0))/g' \ | |
17 | | sed 's/Result<\([^>]\+\)>/Result<Option<\1>>/g' \ | |
8faf50e0 XL |
18 | > scheme_block.rs |
19 | ||
20 | echo "Generating SchemeBlockMut from SchemeBlock" | |
21 | sed 's/trait SchemeBlock/trait SchemeBlockMut/' scheme_block.rs \ | |
22 | | sed 's/\&self/\&mut self/g' \ | |
23 | > scheme_block_mut.rs |