Skip to content

Commit 30356b1

Browse files
committed
simplify ResultsHook::get() using 'let else'
1 parent 871e0a9 commit 30356b1

File tree

1 file changed

+22
-29
lines changed

1 file changed

+22
-29
lines changed

capnp-rpc/src/rpc.rs

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2214,36 +2214,29 @@ impl<VatId> Drop for Results<VatId> {
22142214
impl<VatId> ResultsHook for Results<VatId> {
22152215
fn get(&mut self) -> ::capnp::Result<any_pointer::Builder> {
22162216
use ::capnp::traits::ImbueMut;
2217-
if let Some(ref mut inner) = self.inner {
2218-
inner.ensure_initialized();
2219-
match inner.variant {
2220-
None => unreachable!(),
2221-
Some(ResultsVariant::Rpc(ref mut message, ref mut cap_table)) => {
2222-
let root: message::Builder = message.get_body()?.get_as()?;
2223-
match root.which()? {
2224-
message::Return(ret) => match ret?.which()? {
2225-
return_::Results(payload) => {
2226-
let mut content = payload?.get_content();
2227-
content.imbue_mut(cap_table);
2228-
Ok(content)
2229-
}
2230-
_ => {
2231-
unreachable!()
2232-
}
2233-
},
2234-
_ => {
2235-
unreachable!()
2236-
}
2237-
}
2238-
}
2239-
Some(ResultsVariant::LocallyRedirected(ref mut message, ref mut cap_table)) => {
2240-
let mut result: any_pointer::Builder = message.get_root()?;
2241-
result.imbue_mut(cap_table);
2242-
Ok(result)
2243-
}
2217+
let Some(ref mut inner) = self.inner else {
2218+
unreachable!();
2219+
};
2220+
inner.ensure_initialized();
2221+
match inner.variant {
2222+
None => unreachable!(),
2223+
Some(ResultsVariant::Rpc(ref mut message, ref mut cap_table)) => {
2224+
let root: message::Builder = message.get_body()?.get_as()?;
2225+
let message::Return(ret) = root.which()? else {
2226+
unreachable!();
2227+
};
2228+
let return_::Results(payload) = ret?.which()? else {
2229+
unreachable!()
2230+
};
2231+
let mut content = payload?.get_content();
2232+
content.imbue_mut(cap_table);
2233+
Ok(content)
2234+
}
2235+
Some(ResultsVariant::LocallyRedirected(ref mut message, ref mut cap_table)) => {
2236+
let mut result: any_pointer::Builder = message.get_root()?;
2237+
result.imbue_mut(cap_table);
2238+
Ok(result)
22442239
}
2245-
} else {
2246-
unreachable!()
22472240
}
22482241
}
22492242

0 commit comments

Comments
 (0)