summaryrefslogtreecommitdiffstats
path: root/vendor/redox_syscall-0.2.16/src/scheme/generate.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:42 +0000
commit837b550238aa671a591ccf282dddeab29cadb206 (patch)
tree914b6b8862bace72bd3245ca184d374b08d8a672 /vendor/redox_syscall-0.2.16/src/scheme/generate.sh
parentAdding debian version 1.70.0+dfsg2-1. (diff)
downloadrustc-837b550238aa671a591ccf282dddeab29cadb206.tar.xz
rustc-837b550238aa671a591ccf282dddeab29cadb206.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/redox_syscall-0.2.16/src/scheme/generate.sh')
-rwxr-xr-xvendor/redox_syscall-0.2.16/src/scheme/generate.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/redox_syscall-0.2.16/src/scheme/generate.sh b/vendor/redox_syscall-0.2.16/src/scheme/generate.sh
new file mode 100755
index 000000000..a877cda92
--- /dev/null
+++ b/vendor/redox_syscall-0.2.16/src/scheme/generate.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+set -e
+
+echo "Generating SchemeMut from Scheme"
+sed 's/trait Scheme/trait SchemeMut/' scheme.rs \
+| sed 's/\&self/\&mut self/g' \
+> scheme_mut.rs
+
+echo "Generating SchemeBlock from Scheme"
+sed 's/trait Scheme/trait SchemeBlock/' scheme.rs \
+| sed 's/fn handle(\&self, packet: \&mut Packet)/fn handle(\&self, packet: \&Packet) -> Option<usize>/' \
+| sed 's/packet.a = Error::mux(res);/res.transpose().map(Error::mux)/' \
+| sed 's/\.map(|f| f\.bits())/\.map(|f| f.map(|f| f.bits()))/' \
+| sed 's/\.map(|o| o as usize)/.map(|o| o.map(|o| o as usize))/' \
+| sed 's/Ok(0)/Ok(Some(0))/g' \
+| sed 's/Result<\([^>]\+\)>/Result<Option<\1>>/g' \
+> scheme_block.rs
+
+echo "Generating SchemeBlockMut from SchemeBlock"
+sed 's/trait SchemeBlock/trait SchemeBlockMut/' scheme_block.rs \
+| sed 's/\&self/\&mut self/g' \
+> scheme_block_mut.rs