You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

prettyplease

Package Overview
Dependencies
Maintainers
1
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prettyplease - cargo Package Compare versions

Comparing version
0.2.32
to
0.2.33
+1
-1
.cargo_vcs_info.json
{
"git": {
"sha1": "81c6daa38b2779def0f3dd9118004baf4d7a35fd"
"sha1": "d5239de6e22f0f0137faefdbb1a1590e17d4a0d4"
},
"path_in_vcs": ""
}

@@ -13,3 +13,3 @@ # This file is automatically @generated by Cargo.

name = "prettyplease"
version = "0.2.32"
version = "0.2.33"
dependencies = [

@@ -24,5 +24,5 @@ "indoc",

name = "proc-macro2"
version = "1.0.94"
version = "1.0.95"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
dependencies = [

@@ -43,5 +43,5 @@ "unicode-ident",

name = "syn"
version = "2.0.100"
version = "2.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
dependencies = [

@@ -48,0 +48,0 @@ "proc-macro2",

@@ -16,3 +16,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO

name = "prettyplease"
version = "0.2.32"
version = "0.2.33"
authors = ["David Tolnay <dtolnay@gmail.com>"]

@@ -19,0 +19,0 @@ build = "build.rs"

@@ -100,5 +100,5 @@ use crate::cmp::Ordering;use crate::fmt::{self, Write as FmtWrite};

if u32::from_be_bytes(self.octets()) == 0xc0000009 ||
u32::from_be_bytes(self.octets()) == 0xc000000a {
return true;
}
u32::from_be_bytes(self.octets()) == 0xc000000a {
return true;
}
!self.is_private() && !self.is_loopback() && !self.is_link_local() &&

@@ -173,15 +173,14 @@ !self.is_broadcast() && !self.is_documentation() &&

if fmt.precision().is_none() && fmt.width().is_none() {
write!(fmt, "{}.{}.{}.{}", octets [0], octets [1], octets [2],
octets [3])
} else {
const IPV4_BUF_LEN: usize = 15;
let mut buf = [0u8; IPV4_BUF_LEN];
let mut buf_slice = &mut buf[..];
write!(buf_slice, "{}.{}.{}.{}", octets [0], octets [1], octets
[2], octets [3]).unwrap();
let len = IPV4_BUF_LEN - buf_slice.len();
let buf =
unsafe { crate::str::from_utf8_unchecked(&buf[..len]) };
fmt.pad(buf)
}
write!(fmt, "{}.{}.{}.{}", octets [0], octets [1], octets [2],
octets [3])
} else {
const IPV4_BUF_LEN: usize = 15;
let mut buf = [0u8; IPV4_BUF_LEN];
let mut buf_slice = &mut buf[..];
write!(buf_slice, "{}.{}.{}.{}", octets [0], octets [1], octets
[2], octets [3]).unwrap();
let len = IPV4_BUF_LEN - buf_slice.len();
let buf = unsafe { crate::str::from_utf8_unchecked(&buf[..len]) };
fmt.pad(buf)
}
}

@@ -321,13 +320,13 @@ }

if self.is_multicast() {
match self.segments()[0] & 0x000f {
1 => Some(Ipv6MulticastScope::InterfaceLocal),
2 => Some(Ipv6MulticastScope::LinkLocal),
3 => Some(Ipv6MulticastScope::RealmLocal),
4 => Some(Ipv6MulticastScope::AdminLocal),
5 => Some(Ipv6MulticastScope::SiteLocal),
8 => Some(Ipv6MulticastScope::OrganizationLocal),
14 => Some(Ipv6MulticastScope::Global),
_ => None,
}
} else { None }
match self.segments()[0] & 0x000f {
1 => Some(Ipv6MulticastScope::InterfaceLocal),
2 => Some(Ipv6MulticastScope::LinkLocal),
3 => Some(Ipv6MulticastScope::RealmLocal),
4 => Some(Ipv6MulticastScope::AdminLocal),
5 => Some(Ipv6MulticastScope::SiteLocal),
8 => Some(Ipv6MulticastScope::OrganizationLocal),
14 => Some(Ipv6MulticastScope::Global),
_ => None,
}
} else { None }
}

@@ -347,11 +346,11 @@ pub const fn is_multicast(&self) -> bool {

if let [0, 0, 0, 0, 0, 0 | 0xffff, ab, cd] = self.segments() {
let [a, b] = ab.to_be_bytes();
let [c, d] = cd.to_be_bytes();
Some(Ipv4Addr::new(a, b, c, d))
} else { None }
let [a, b] = ab.to_be_bytes();
let [c, d] = cd.to_be_bytes();
Some(Ipv4Addr::new(a, b, c, d))
} else { None }
}
pub const fn to_canonical(&self) -> IpAddr {
if let Some(mapped) = self.to_ipv4_mapped() {
return IpAddr::V4(mapped);
}
return IpAddr::V4(mapped);
}
IpAddr::V6(*self)

@@ -364,61 +363,60 @@ }

if f.precision().is_none() && f.width().is_none() {
let segments = self.segments();
if self.is_unspecified() {
f.write_str("::")
} else if self.is_loopback() {
f.write_str("::1")
} else if let Some(ipv4) = self.to_ipv4() {
match segments[5] {
0 => write!(f, "::{}", ipv4),
0xffff => write!(f, "::ffff:{}", ipv4),
_ => unreachable!(),
}
} else {
#[derive(Copy, Clone, Default)]
struct Span {
start: usize,
len: usize,
}
let zeroes =
{
let mut longest = Span::default();
let mut current = Span::default();
for (i, &segment) in segments.iter().enumerate() {
if segment == 0 {
if current.len == 0 { current.start = i; }
current.len += 1;
if current.len > longest.len { longest = current; }
} else { current = Span::default(); }
}
longest
};
#[doc = " Write a colon-separated part of the address"]
#[inline]
fn fmt_subslice(f: &mut fmt::Formatter<'_>, chunk: &[u16])
-> fmt::Result {
if let Some((first, tail)) = chunk.split_first() {
write!(f, "{:x}", first)?;
for segment in tail {
f.write_char(':')?;
write!(f, "{:x}", segment)?;
}
}
Ok(())
}
if zeroes.len > 1 {
fmt_subslice(f, &segments[..zeroes.start])?;
f.write_str("::")?;
fmt_subslice(f, &segments[zeroes.start + zeroes.len..])
} else { fmt_subslice(f, &segments) }
}
let segments = self.segments();
if self.is_unspecified() {
f.write_str("::")
} else if self.is_loopback() {
f.write_str("::1")
} else if let Some(ipv4) = self.to_ipv4() {
match segments[5] {
0 => write!(f, "::{}", ipv4),
0xffff => write!(f, "::ffff:{}", ipv4),
_ => unreachable!(),
}
} else {
const IPV6_BUF_LEN: usize = (4 * 8) + 7;
let mut buf = [0u8; IPV6_BUF_LEN];
let mut buf_slice = &mut buf[..];
write!(buf_slice, "{}", self).unwrap();
let len = IPV6_BUF_LEN - buf_slice.len();
let buf =
unsafe { crate::str::from_utf8_unchecked(&buf[..len]) };
f.pad(buf)
}
#[derive(Copy, Clone, Default)]
struct Span {
start: usize,
len: usize,
}
let zeroes =
{
let mut longest = Span::default();
let mut current = Span::default();
for (i, &segment) in segments.iter().enumerate() {
if segment == 0 {
if current.len == 0 { current.start = i; }
current.len += 1;
if current.len > longest.len { longest = current; }
} else { current = Span::default(); }
}
longest
};
#[doc = " Write a colon-separated part of the address"]
#[inline]
fn fmt_subslice(f: &mut fmt::Formatter<'_>, chunk: &[u16])
-> fmt::Result {
if let Some((first, tail)) = chunk.split_first() {
write!(f, "{:x}", first)?;
for segment in tail {
f.write_char(':')?;
write!(f, "{:x}", segment)?;
}
}
Ok(())
}
if zeroes.len > 1 {
fmt_subslice(f, &segments[..zeroes.start])?;
f.write_str("::")?;
fmt_subslice(f, &segments[zeroes.start + zeroes.len..])
} else { fmt_subslice(f, &segments) }
}
} else {
const IPV6_BUF_LEN: usize = (4 * 8) + 7;
let mut buf = [0u8; IPV6_BUF_LEN];
let mut buf_slice = &mut buf[..];
write!(buf_slice, "{}", self).unwrap();
let len = IPV6_BUF_LEN - buf_slice.len();
let buf = unsafe { crate::str::from_utf8_unchecked(&buf[..len]) };
f.pad(buf)
}
}

@@ -425,0 +423,0 @@ }

@@ -323,3 +323,3 @@ //! [![github]](https://github.com/dtolnay/prettyplease)&ensp;[![crates-io]](https://crates.io/crates/prettyplease)&ensp;[![docs-rs]](https://docs.rs/prettyplease)

#![doc(html_root_url = "https://docs.rs/prettyplease/0.2.32")]
#![doc(html_root_url = "https://docs.rs/prettyplease/0.2.33")]
#![allow(

@@ -326,0 +326,0 @@ clippy::bool_to_int_with_if,

@@ -133,2 +133,3 @@ use crate::algorithm::Printer;

Dollar,
DollarCrate,
DollarIdent,

@@ -156,3 +157,5 @@ DollarIdentColon,

let (needs_space, next_state) = match (&state, &token) {
(Dollar, Token::Ident(_)) => (false, if matcher { DollarIdent } else { Other }),
(Dollar, Token::Ident(_)) if matcher => (false, DollarIdent),
(Dollar, Token::Ident(ident)) if ident == "crate" => (false, DollarCrate),
(Dollar, Token::Ident(_)) => (false, Other),
(DollarIdent, Token::Punct(':', Spacing::Alone)) => (false, DollarIdentColon),

@@ -185,3 +188,5 @@ (DollarIdentColon, Token::Ident(_)) => (false, Other),

(_, Token::Punct('.', _)) if !matcher => (state != Ident && state != Delim, Dot),
(_, Token::Punct(':', Spacing::Joint)) => (state != Ident, Colon),
(_, Token::Punct(':', Spacing::Joint)) => {
(state != Ident && state != DollarCrate, Colon)
}
(_, Token::Punct('$', _)) => (true, Dollar),

@@ -188,0 +193,0 @@ (_, Token::Punct('#', _)) => (true, Pound),

Sorry, the diff of this file is not supported yet