Commit fba836e6 authored by Wei Tang's avatar Wei Tang Committed by Bastian Köcher
Browse files

Mark unreachable match clause as unreachable! (#620)

* Mark unreachable match clause as unreachable!

* Fix indentation
parent 00e167fe
Pipeline #70333 failed with stages
in 17 minutes and 19 seconds
......@@ -835,7 +835,13 @@ impl<C, TxApi> futures03::Future for CreateProposal<C, TxApi> where
data
},
CreateProposalState::Switching => return Poll::Pending,
CreateProposalState::Switching =>
unreachable!(
"State Switching are only created on call, \
and immediately swapped out; \
the data being read is from state; \
thus Switching will never be reachable here; qed"
),
CreateProposalState::Fired(mut future) => {
let ret = Pin::new(&mut future).poll(cx);
self.state = CreateProposalState::Fired(future);
......@@ -844,17 +850,14 @@ impl<C, TxApi> futures03::Future for CreateProposal<C, TxApi> where
};
// 2. propose
let future = tokio_executor::blocking::run(move || {
let mut future = tokio_executor::blocking::run(move || {
let proposed_candidates = data.table.proposed_set();
data.propose_with(proposed_candidates)
});
let polled = Pin::new(&mut future).poll(cx);
self.state = CreateProposalState::Fired(future);
match &mut self.state {
CreateProposalState::Fired(future) => Pin::new(future).poll(cx),
CreateProposalState::Switching | CreateProposalState::Pending(_) =>
Poll::Pending,
}
polled
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment