]> git.proxmox.com Git - rustc.git/blob - vendor/redox_syscall/src/scheme/generate.sh
New upstream version 1.51.0+dfsg1
[rustc.git] / vendor / redox_syscall / src / scheme / generate.sh
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)/' \
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' \
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