diff --git a/crates/els/inlay_hint.rs b/crates/els/inlay_hint.rs index 93f11ddb..c38cd642 100644 --- a/crates/els/inlay_hint.rs +++ b/crates/els/inlay_hint.rs @@ -252,7 +252,10 @@ impl Server { // NG: f(proc:= i: T): U -> ... // OK: f proc:= (i: T): U -> ... let (name, col_begin) = if arg_is_lambda { - (format!(" {name}"), col_begin.saturating_sub(1)) + ( + format!(" {name}"), + col_begin.saturating_sub(1), + ) } else { (name.to_string(), col_begin) }; diff --git a/crates/erg_compiler/context/register.rs b/crates/erg_compiler/context/register.rs index d8887474..096d7aeb 100644 --- a/crates/erg_compiler/context/register.rs +++ b/crates/erg_compiler/context/register.rs @@ -11,8 +11,8 @@ use erg_common::python_util::BUILTIN_PYTHON_MODS; use erg_common::set::Set; use erg_common::traits::{Locational, Stream}; use erg_common::vis::Visibility; -use erg_common::Str; use erg_common::{enum_unwrap, get_hash, log, set}; +use erg_common::Str; use ast::{Decorator, DefId, Identifier, OperationKind, SimpleTypeSpec, VarName}; use erg_parser::ast::{self, ConstIdentifier}; diff --git a/src/dummy.rs b/src/dummy.rs index 7133b853..fcc05401 100644 --- a/src/dummy.rs +++ b/src/dummy.rs @@ -209,9 +209,14 @@ impl DummyVM { fn find_available_port() -> u16 { const DEFAULT_PORT: u16 = 8736; - let mut port = DEFAULT_PORT; - while TcpListener::bind(SocketAddrV4::new(Ipv4Addr::LOCALHOST, port)).is_err() { - port += 1; - } - port + TcpListener::bind(SocketAddrV4::new(Ipv4Addr::LOCALHOST, DEFAULT_PORT)) + .is_ok() + .then_some(DEFAULT_PORT) + .unwrap_or_else(|| { + let socket = SocketAddrV4::new(Ipv4Addr::LOCALHOST, 0); + TcpListener::bind(socket) + .and_then(|listener| listener.local_addr()) + .map(|sock_addr| sock_addr.port()) + .expect("No free port found.") + }) }