base64url_nopad

base64url without padding library.
git clone https://git.philomathiclife.com/repos/base64url_nopad
Log | Files | Refs | README

commit f17b7613d3ddd9a514d7b2db2e9e33f286b3981d
parent 60a97dc79d778726e30bebd07fa34822ceeae9f0
Author: Zack Newman <zack@philomathiclife.com>
Date:   Tue, 10 Mar 2026 18:13:22 -0600

update deps

Diffstat:
MCargo.toml | 9++++++---
Msrc/lib.rs | 29+++++++++++++++++++++++++++--
2 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml @@ -9,8 +9,8 @@ license = "MIT OR Apache-2.0" name = "base64url_nopad" readme = "README.md" repository = "https://git.philomathiclife.com/repos/base64url_nopad/" -rust-version = "1.93.0" -version = "0.1.3" +rust-version = "1.93.1" +version = "0.1.4" [lints.rust] deprecated-safe = { level = "deny", priority = -1 } @@ -87,6 +87,9 @@ return_and_then = "allow" single_char_lifetime_names = "allow" unseparated_literal_suffix = "allow" +[lints.rustdoc] +all = { level = "deny", priority = -1 } + [package.metadata.docs.rs] all-features = true default-target = "x86_64-unknown-linux-gnu" @@ -104,7 +107,7 @@ targets = [ ] [dev-dependencies] -rand = { version = "0.9.2", default-features = false, features = ["os_rng", "small_rng"] } +rand = { version = "0.10.0", default-features = false, features = ["sys_rng"] } ### FEATURES ################################################################# diff --git a/src/lib.rs b/src/lib.rs @@ -49,6 +49,21 @@ clippy::doc_paragraphs_missing_punctuation, reason = "false positive for crate documentation having image links" )] +#![cfg_attr( + all( + test, + target_os = "macos", + any( + target_pointer_width = "16", + target_pointer_width = "32", + target_pointer_width = "64" + ) + ), + allow( + linker_messages, + reason = "getrandom produces a linker message on macos" + ) +)] #![no_std] #![cfg_attr(docsrs, feature(doc_cfg))] #[cfg(any(doc, feature = "alloc"))] @@ -1955,10 +1970,20 @@ pub const fn decode_buffer_exact(input: &[u8], output: &mut [u8]) -> Result<(), } #[cfg(test)] mod test { + #[cfg(any( + target_pointer_width = "16", + target_pointer_width = "32", + target_pointer_width = "64", + ))] use super::MAX_ENCODE_INPUT_LEN; #[cfg(feature = "alloc")] use alloc::string::String; - use rand::{Rng as _, SeedableRng as _, rngs::SmallRng}; + #[cfg(any( + target_pointer_width = "16", + target_pointer_width = "32", + target_pointer_width = "64", + ))] + use rand::{RngExt as _, rngs::SmallRng}; #[expect( clippy::as_conversions, clippy::cast_possible_truncation, @@ -1973,7 +1998,7 @@ mod test { #[test] fn encode_decode_len() { assert_eq!(MAX_ENCODE_INPUT_LEN, 3 * (usize::MAX.div_ceil(4)) - 1); - let mut rng = SmallRng::from_os_rng(); + let mut rng = rand::make_rng::<SmallRng>(); for _ in 0u32..10_000_000 { // `uN as usize` is fine since we `cfg` by pointer width. #[cfg(target_pointer_width = "16")]