From efa3384e585e0fdd340f4353878a758a4e55d222 Mon Sep 17 00:00:00 2001 From: Kaede Hoshikawa Date: Fri, 24 Jun 2022 22:24:12 +0900 Subject: [PATCH] Migrate to once_cell. --- Cargo.toml | 2 +- src/dns.rs | 7 +++---- src/lib.rs | 3 --- src/proxy.rs | 12 +++++------- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 1b5266589..a83ba602e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -98,7 +98,7 @@ futures-util = { version = "0.3.0", default-features = false } http-body = "0.4.0" hyper = { version = "0.14.18", default-features = false, features = ["tcp", "http1", "http2", "client", "runtime"] } h2 = "0.3.10" -lazy_static = "1.4" +once_cell = "1" log = "0.4" mime = "0.3.16" percent-encoding = "2.1" diff --git a/src/dns.rs b/src/dns.rs index 4bde25e4d..4f0f90dd6 100644 --- a/src/dns.rs +++ b/src/dns.rs @@ -7,6 +7,7 @@ use std::task::{self, Poll}; use hyper::client::connect::dns as hyper_dns; use hyper::service::Service; +use once_cell::sync::Lazy; use tokio::sync::Mutex; use trust_dns_resolver::{ config::{ResolverConfig, ResolverOpts}, @@ -18,10 +19,8 @@ use crate::error::BoxError; type SharedResolver = Arc>; -lazy_static! { - static ref SYSTEM_CONF: io::Result<(ResolverConfig, ResolverOpts)> = - system_conf::read_system_conf().map_err(io::Error::from); -} +static SYSTEM_CONF: Lazy> = + Lazy::new(|| system_conf::read_system_conf().map_err(io::Error::from)); #[derive(Clone)] pub(crate) struct TrustDnsResolver { diff --git a/src/lib.rs b/src/lib.rs index 78cf4deff..4a6fad263 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -289,9 +289,6 @@ if_hyper! { #[macro_use] extern crate doc_comment; - #[macro_use] - extern crate lazy_static; - #[cfg(test)] doctest!("../README.md"); diff --git a/src/proxy.rs b/src/proxy.rs index e98d7ff6e..915ef7c95 100644 --- a/src/proxy.rs +++ b/src/proxy.rs @@ -7,6 +7,7 @@ use crate::into_url::{IntoUrl, IntoUrlSealed}; use crate::Url; use http::{header::HeaderValue, Uri}; use ipnet::IpNet; +use once_cell::sync::Lazy; use percent_encoding::percent_decode; use std::collections::HashMap; use std::env; @@ -755,9 +756,8 @@ impl Dst for Uri { } } -lazy_static! { - static ref SYS_PROXIES: Arc = Arc::new(get_sys_proxies(get_from_registry())); -} +static SYS_PROXIES: Lazy> = + Lazy::new(|| Arc::new(get_sys_proxies(get_from_registry()))); /// Get system proxies information. /// @@ -934,7 +934,7 @@ fn parse_registry_values(registry_values: RegistryProxyValues) -> SystemProxyMap #[cfg(test)] mod tests { use super::*; - use lazy_static::lazy_static; + use once_cell::sync::Lazy; use std::sync::Mutex; impl Dst for Url { @@ -1074,9 +1074,7 @@ mod tests { // Smallest possible content for a mutex struct MutexInner; - lazy_static! { - static ref ENVLOCK: Mutex = Mutex::new(MutexInner); - } + static ENVLOCK: Lazy> = Lazy::new(|| Mutex::new(MutexInner)); #[test] fn test_get_sys_proxies_parsing() {