diff --git a/Cargo.lock b/Cargo.lock index 103a39a..22c9b06 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,7 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "akin" -version = "0.3.3" +version = "0.4.0" diff --git a/src/lib.rs b/src/lib.rs index 289d657..f2969db 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,11 @@ -use std::fmt::Write; +#![no_std] + +use core::fmt::Write; + +extern crate alloc; +use alloc::string::{String, ToString}; +use alloc::vec::Vec; +use alloc::format; use proc_macro::{Delimiter, Spacing, TokenTree}; @@ -515,7 +522,7 @@ impl<'c> Chunk<'c> { let mut text_start = 0usize; let chopped = prefix.match_indices(var_name).map(move |(idx, v)| (idx, v.len(), var_values)); - let chopped = chopped.chain(std::iter::once((prefix.len(), 0, suffix_variants))); + let chopped = chopped.chain(core::iter::once((prefix.len(), 0, suffix_variants))); let chopped = chopped.map(move |(var_start, var_len, values)| { let new_prefix = &prefix[text_start..var_start]; text_start = var_start + var_len; @@ -580,4 +587,4 @@ fn fold_tt(a: &mut String, tt: TokenTree, prev: &mut Option) { *prev = Some(tt); } -type Map = std::collections::BTreeMap; +type Map = alloc::collections::BTreeMap;