diff --git a/parsers/src/cert_management.rs b/parsers/src/cert_management.rs index 7035b60e14f9642883b4d59dcdead7f1b806cebd..78cc073bb930ae21990ba575b874cb1f6a522dff 100644 --- a/parsers/src/cert_management.rs +++ b/parsers/src/cert_management.rs @@ -125,8 +125,8 @@ impl IqSetPayload for Revoke {} mod tests { use super::*; use crate::ns; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; #[cfg(target_pointer_width = "32")] #[test] diff --git a/parsers/src/delay.rs b/parsers/src/delay.rs index c103fe5f90ddd1c7873951ea2ff5167078cc1234..4d8e31c353425627cd92ac5dc85075ab8450f652 100644 --- a/parsers/src/delay.rs +++ b/parsers/src/delay.rs @@ -35,9 +35,9 @@ impl PresencePayload for Delay {} #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use jid::BareJid; use minidom::Element; - use std::str::FromStr; use xso::error::{Error, FromElementError}; #[cfg(target_pointer_width = "32")] diff --git a/parsers/src/fast.rs b/parsers/src/fast.rs index 1f0dd3110467f31efbe226267d53faa4ffd3ba6a..aed0bde75c919822014419d7e7cf4fded25e5f5d 100644 --- a/parsers/src/fast.rs +++ b/parsers/src/fast.rs @@ -71,8 +71,8 @@ pub struct Token { #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; #[test] fn test_simple() { diff --git a/parsers/src/ibr.rs b/parsers/src/ibr.rs index 2bd8916bd5ebdcf0da7d05d8f07ee1842e8e14dd..820762769706e009b11572a1e72c42297328e48e 100644 --- a/parsers/src/ibr.rs +++ b/parsers/src/ibr.rs @@ -7,8 +7,8 @@ use crate::data_forms::DataForm; use crate::iq::{IqGetPayload, IqResultPayload, IqSetPayload}; use crate::ns; +use alloc::collections::BTreeMap; use minidom::Element; -use std::collections::HashMap; use xso::error::{Error, FromElementError}; /// Query for registering against a service. @@ -16,7 +16,7 @@ use xso::error::{Error, FromElementError}; pub struct Query { /// Deprecated fixed list of possible fields to fill before the user can /// register. - pub fields: HashMap, + pub fields: BTreeMap, /// Whether this account is already registered. pub registered: bool, @@ -41,7 +41,7 @@ impl TryFrom for Query { check_self!(elem, "query", REGISTER, "IBR query"); let mut query = Query { registered: false, - fields: HashMap::new(), + fields: BTreeMap::new(), remove: false, form: None, }; @@ -119,13 +119,13 @@ mod tests { #[cfg(target_pointer_width = "32")] #[test] fn test_size() { - assert_size!(Query, 88); + assert_size!(Query, 68); } #[cfg(target_pointer_width = "64")] #[test] fn test_size() { - assert_size!(Query, 160); + assert_size!(Query, 136); } #[test] diff --git a/parsers/src/idle.rs b/parsers/src/idle.rs index 54cb235dd7a459ea84b253ca6c46fd53f4ba391f..10d5461bb5d29e5b43b4247908b4bce6a521ccdb 100644 --- a/parsers/src/idle.rs +++ b/parsers/src/idle.rs @@ -24,8 +24,8 @@ impl PresencePayload for Idle {} #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; use xso::error::{Error, FromElementError}; #[test] diff --git a/parsers/src/jingle_s5b.rs b/parsers/src/jingle_s5b.rs index 69eb9b4619b66ff4f4000f287c64835c68071b81..474d6eb8bd96e4cb160efc7632648df080c23dd1 100644 --- a/parsers/src/jingle_s5b.rs +++ b/parsers/src/jingle_s5b.rs @@ -309,7 +309,7 @@ impl ::xso::AsXml for Transport { #[cfg(test)] mod tests { use super::*; - use std::str::FromStr; + use core::str::FromStr; #[cfg(target_pointer_width = "32")] #[test] diff --git a/parsers/src/message.rs b/parsers/src/message.rs index cb377f30b4f6fd38a77e7b9906d97527fff810d9..0c96cbc973854ac9fef1594c0857c8f3dd9786b8 100644 --- a/parsers/src/message.rs +++ b/parsers/src/message.rs @@ -402,7 +402,7 @@ impl ::xso::AsXml for Message { #[cfg(test)] mod tests { use super::*; - use std::str::FromStr; + use core::str::FromStr; #[cfg(target_pointer_width = "32")] #[test] diff --git a/parsers/src/muc/muc.rs b/parsers/src/muc/muc.rs index 613980372c5fd7d5afab123b3659fdb081201b58..68c713f029de16f919f8326386b46ba9af51c106 100644 --- a/parsers/src/muc/muc.rs +++ b/parsers/src/muc/muc.rs @@ -100,8 +100,8 @@ impl Muc { #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; use xso::error::{Error, FromElementError}; #[test] diff --git a/parsers/src/openpgp.rs b/parsers/src/openpgp.rs index 09c3b633f4374a2c097ea861dabbf8d6e97f59e9..04693dd9fbbc78cfa6dfd499d8f92d38e9844c36 100644 --- a/parsers/src/openpgp.rs +++ b/parsers/src/openpgp.rs @@ -67,8 +67,8 @@ mod tests { pubsub::{Item as PubSubItem, Publish}, Item, NodeName, }; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; #[test] fn pubsub_publish_pubkey_data() { diff --git a/parsers/src/pubsub/owner.rs b/parsers/src/pubsub/owner.rs index bc6ec3a6c40303180661c4bb873ae2fb6e766977..b371ec5a3509bc3bb88e121386c25ac8236c626e 100644 --- a/parsers/src/pubsub/owner.rs +++ b/parsers/src/pubsub/owner.rs @@ -192,8 +192,8 @@ impl From for Element { mod tests { use super::*; use crate::data_forms::{DataFormType, Field, FieldType}; + use core::str::FromStr; use jid::BareJid; - use std::str::FromStr; #[test] fn affiliations() { diff --git a/parsers/src/roster.rs b/parsers/src/roster.rs index 6e044bb8d382fa8d9bf001928bd7ee7ca5c57532..e8148578b4a9fc4ce3f7785f10c3c4fb1728bf42 100644 --- a/parsers/src/roster.rs +++ b/parsers/src/roster.rs @@ -97,8 +97,8 @@ impl IqResultPayload for Roster {} #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; use xso::error::{Error, FromElementError}; #[cfg(target_pointer_width = "32")] diff --git a/parsers/src/sasl.rs b/parsers/src/sasl.rs index b18c83438f0c0f14a359448cc552ea51abe631bf..602aff180388c51e98291b31557f16dba8ef336c 100644 --- a/parsers/src/sasl.rs +++ b/parsers/src/sasl.rs @@ -7,7 +7,7 @@ use xso::{text::Base64, AsXml, FromXml}; use crate::ns; -use std::collections::BTreeMap; +use alloc::collections::BTreeMap; generate_attribute!( /// The list of available SASL mechanisms. diff --git a/parsers/src/time.rs b/parsers/src/time.rs index c01206fc762a7622b46bef862a7e5b7702f84e3d..31c0b1ca99750ccb7fcff107c663005013629330 100644 --- a/parsers/src/time.rs +++ b/parsers/src/time.rs @@ -10,8 +10,8 @@ use crate::date::DateTime; use crate::iq::{IqGetPayload, IqResultPayload}; use crate::ns; use chrono::FixedOffset; +use core::str::FromStr; use minidom::Element; -use std::str::FromStr; use xso::error::{Error, FromElementError}; /// An entity time query. diff --git a/parsers/src/tune.rs b/parsers/src/tune.rs index 84005e33da6c3611ad0dd489c48f97589cea6bf8..d27cf5ebcce643bad0e6b92feadf088345ce7b20 100644 --- a/parsers/src/tune.rs +++ b/parsers/src/tune.rs @@ -117,8 +117,8 @@ impl Tune { #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; #[cfg(target_pointer_width = "32")] #[test] diff --git a/parsers/src/util/macros.rs b/parsers/src/util/macros.rs index 569ae74f0f98294cda715eb1a3837cb32ed81961..d5cd47af6aafc89e115bdb212e4a16c1abee5602 100644 --- a/parsers/src/util/macros.rs +++ b/parsers/src/util/macros.rs @@ -73,7 +73,7 @@ macro_rules! generate_attribute { $a ),+ } - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result<$elem, xso::error::Error> { Ok(match s { @@ -120,7 +120,7 @@ macro_rules! generate_attribute { $a ),+ } - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result<$elem, xso::error::Error> { Ok(match s { @@ -173,7 +173,7 @@ macro_rules! generate_attribute { /// Value when absent. None, } - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result { Ok(match s { @@ -218,7 +218,7 @@ macro_rules! generate_attribute { $(#[$meta])* #[derive(Debug, Clone, PartialEq)] pub struct $elem(pub $type); - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result { Ok($elem($type::from_str(s).map_err(xso::error::Error::text_parse_error)?)) @@ -382,7 +382,7 @@ macro_rules! generate_id { $(#[$meta])* #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct $elem(pub String); - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result<$elem, xso::error::Error> { // TODO: add a way to parse that differently when needed. @@ -410,7 +410,7 @@ macro_rules! generate_id { macro_rules! generate_elem_id { ($(#[$meta:meta])* $elem:ident, $name:literal, $ns:ident) => ( generate_elem_id!($(#[$meta])* $elem, $name, $ns, String); - impl ::std::str::FromStr for $elem { + impl ::core::str::FromStr for $elem { type Err = xso::error::Error; fn from_str(s: &str) -> Result<$elem, xso::error::Error> { // TODO: add a way to parse that differently when needed. diff --git a/parsers/src/vcard.rs b/parsers/src/vcard.rs index 93f8af45fcd5e98aef0def04dabf194589c44613..157842c2e885875f6498764aafa22b93e1d29094 100644 --- a/parsers/src/vcard.rs +++ b/parsers/src/vcard.rs @@ -73,7 +73,7 @@ impl IqResultPayload for VCard {} #[cfg(test)] mod tests { use super::*; - use std::str::FromStr; + use core::str::FromStr; #[cfg(target_pointer_width = "32")] #[test] diff --git a/parsers/src/vcard_update.rs b/parsers/src/vcard_update.rs index 702d41f27c7c2142c3a2aaf9ce708331b44c55bd..b4e58d2d37e9a6dd2cc4966036988bd24abb5ae9 100644 --- a/parsers/src/vcard_update.rs +++ b/parsers/src/vcard_update.rs @@ -37,8 +37,8 @@ pub struct Photo { #[cfg(test)] mod tests { use super::*; + use core::str::FromStr; use minidom::Element; - use std::str::FromStr; #[test] fn test_vcard_update() { diff --git a/parsers/src/xhtml.rs b/parsers/src/xhtml.rs index 7c99afe9bba3a4fe706a1d6a4274054272059733..28cd30648a0d4240ad684dbf319085a437b9318f 100644 --- a/parsers/src/xhtml.rs +++ b/parsers/src/xhtml.rs @@ -6,8 +6,8 @@ use crate::message::MessagePayload; use crate::ns; +use alloc::collections::BTreeMap; use minidom::{Element, Node}; -use std::collections::HashMap; use xso::error::{Error, FromElementError}; // TODO: Use a proper lang type. @@ -17,7 +17,7 @@ type Lang = String; #[derive(Debug, Clone)] pub struct XhtmlIm { /// Map of language to body element. - bodies: HashMap, + bodies: BTreeMap, } impl XhtmlIm { @@ -41,7 +41,7 @@ impl XhtmlIm { /// Removes all unknown elements. fn flatten(self) -> XhtmlIm { - let mut bodies = HashMap::new(); + let mut bodies = BTreeMap::new(); for (lang, body) in self.bodies { let children = body.children.into_iter().fold(vec![], |mut acc, child| { match child { @@ -66,7 +66,7 @@ impl TryFrom for XhtmlIm { check_self!(elem, "html", XHTML_IM); check_no_attributes!(elem, "html"); - let mut bodies = HashMap::new(); + let mut bodies = BTreeMap::new(); for child in elem.children() { if child.is("body", ns::XHTML) { let child = child.clone(); @@ -504,7 +504,7 @@ mod tests { #[cfg(target_pointer_width = "32")] #[test] fn test_size() { - assert_size!(XhtmlIm, 32); + assert_size!(XhtmlIm, 12); assert_size!(Child, 48); assert_size!(Tag, 48); } @@ -512,7 +512,7 @@ mod tests { #[cfg(target_pointer_width = "64")] #[test] fn test_size() { - assert_size!(XhtmlIm, 48); + assert_size!(XhtmlIm, 24); assert_size!(Child, 96); assert_size!(Tag, 96); }