From: Thierry Marianne Date: Sun, 14 Sep 2025 16:32:30 +0000 (+0200) Subject: merge if let, match structures X-Git-Tag: v0.10.0~2^2~2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=28ec45715978add714a8790abb8b6f23f2909c11;p=scryer-prolog.git merge if let, match structures Signed-off-by: Thierry Marianne --- diff --git a/src/machine/machine_state.rs b/src/machine/machine_state.rs index e1124222..a3c141e0 100644 --- a/src/machine/machine_state.rs +++ b/src/machine/machine_state.rs @@ -745,44 +745,29 @@ impl MachineState { stream: Stream, indices: &mut IndexStore, ) -> CallResult { - if let Stream::Readline(ptr) = stream { - let readline = unsafe { ptr.as_ptr().as_mut() }.unwrap(); - readline.set_atoms_for_completion(&self.atom_tbl); - return self.read_term( + match stream { + #[cfg(feature = "http")] + Stream::HttpRead(_) => self.read_term( stream, indices, MachineState::read_term_from_user_input_eof_handler, - ); - } - - match stream { - #[cfg(feature = "http")] - Stream::HttpRead(_) => { - return self.read_term( - stream, - indices, - MachineState::read_term_from_user_input_eof_handler, - ) - } - Stream::InputFile(_) | Stream::NamedTcp(_) => { - return self.read_term( + ), + Stream::Readline(ptr) => { + let readline = unsafe { ptr.as_ptr().as_mut() }.unwrap(); + readline.set_atoms_for_completion(&self.atom_tbl); + self.read_term( stream, indices, MachineState::read_term_from_user_input_eof_handler, ) } - _ => true, - }; - - if let Stream::Byte(_) = stream { - return self.read_term( + Stream::Byte(_) | Stream::InputFile(_) | Stream::NamedTcp(_) => self.read_term( stream, indices, MachineState::read_term_from_user_input_eof_handler, - ); + ), + _ => Err(functor_stub(atom!("read_term_from_user_input"), 3)), } - - unreachable!("Stream must be a Stream::Readline(_)") } pub fn read_term_eof_handler(&mut self, mut stream: Stream) -> Result {