xmpp-parsers: Don’t use anything from std
The remaining two were core::str::FromStr and alloc::collections::BTreeMap. Note that this doesn’t allow us to be no_std yet. skip-changelog: This isn’t in any way user-visible, except that some structs are now slightly smaller.
This commit is contained in:
parent
fefc898fdf
commit
0adca163f8
18 changed files with 32 additions and 32 deletions
|
|
@ -125,8 +125,8 @@ impl IqSetPayload for Revoke {}
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::ns;
|
use crate::ns;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,9 @@ impl PresencePayload for Delay {}
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use jid::BareJid;
|
use jid::BareJid;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,8 @@ pub struct Token {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_simple() {
|
fn test_simple() {
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
use crate::data_forms::DataForm;
|
use crate::data_forms::DataForm;
|
||||||
use crate::iq::{IqGetPayload, IqResultPayload, IqSetPayload};
|
use crate::iq::{IqGetPayload, IqResultPayload, IqSetPayload};
|
||||||
use crate::ns;
|
use crate::ns;
|
||||||
|
use alloc::collections::BTreeMap;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::collections::HashMap;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
/// Query for registering against a service.
|
/// Query for registering against a service.
|
||||||
|
|
@ -16,7 +16,7 @@ use xso::error::{Error, FromElementError};
|
||||||
pub struct Query {
|
pub struct Query {
|
||||||
/// Deprecated fixed list of possible fields to fill before the user can
|
/// Deprecated fixed list of possible fields to fill before the user can
|
||||||
/// register.
|
/// register.
|
||||||
pub fields: HashMap<String, String>,
|
pub fields: BTreeMap<String, String>,
|
||||||
|
|
||||||
/// Whether this account is already registered.
|
/// Whether this account is already registered.
|
||||||
pub registered: bool,
|
pub registered: bool,
|
||||||
|
|
@ -41,7 +41,7 @@ impl TryFrom<Element> for Query {
|
||||||
check_self!(elem, "query", REGISTER, "IBR query");
|
check_self!(elem, "query", REGISTER, "IBR query");
|
||||||
let mut query = Query {
|
let mut query = Query {
|
||||||
registered: false,
|
registered: false,
|
||||||
fields: HashMap::new(),
|
fields: BTreeMap::new(),
|
||||||
remove: false,
|
remove: false,
|
||||||
form: None,
|
form: None,
|
||||||
};
|
};
|
||||||
|
|
@ -119,13 +119,13 @@ mod tests {
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_size() {
|
fn test_size() {
|
||||||
assert_size!(Query, 88);
|
assert_size!(Query, 68);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "64")]
|
#[cfg(target_pointer_width = "64")]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_size() {
|
fn test_size() {
|
||||||
assert_size!(Query, 160);
|
assert_size!(Query, 136);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ impl PresencePayload for Idle {}
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ impl ::xso::AsXml for Transport {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use std::str::FromStr;
|
use core::str::FromStr;
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -402,7 +402,7 @@ impl ::xso::AsXml for Message {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use std::str::FromStr;
|
use core::str::FromStr;
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,8 @@ impl Muc {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,8 @@ mod tests {
|
||||||
pubsub::{Item as PubSubItem, Publish},
|
pubsub::{Item as PubSubItem, Publish},
|
||||||
Item, NodeName,
|
Item, NodeName,
|
||||||
};
|
};
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn pubsub_publish_pubkey_data() {
|
fn pubsub_publish_pubkey_data() {
|
||||||
|
|
|
||||||
|
|
@ -192,8 +192,8 @@ impl From<PubSubOwner> for Element {
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::data_forms::{DataFormType, Field, FieldType};
|
use crate::data_forms::{DataFormType, Field, FieldType};
|
||||||
|
use core::str::FromStr;
|
||||||
use jid::BareJid;
|
use jid::BareJid;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn affiliations() {
|
fn affiliations() {
|
||||||
|
|
|
||||||
|
|
@ -97,8 +97,8 @@ impl IqResultPayload for Roster {}
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
use xso::{text::Base64, AsXml, FromXml};
|
use xso::{text::Base64, AsXml, FromXml};
|
||||||
|
|
||||||
use crate::ns;
|
use crate::ns;
|
||||||
use std::collections::BTreeMap;
|
use alloc::collections::BTreeMap;
|
||||||
|
|
||||||
generate_attribute!(
|
generate_attribute!(
|
||||||
/// The list of available SASL mechanisms.
|
/// The list of available SASL mechanisms.
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@ use crate::date::DateTime;
|
||||||
use crate::iq::{IqGetPayload, IqResultPayload};
|
use crate::iq::{IqGetPayload, IqResultPayload};
|
||||||
use crate::ns;
|
use crate::ns;
|
||||||
use chrono::FixedOffset;
|
use chrono::FixedOffset;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
/// An entity time query.
|
/// An entity time query.
|
||||||
|
|
|
||||||
|
|
@ -117,8 +117,8 @@ impl Tune {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ macro_rules! generate_attribute {
|
||||||
$a
|
$a
|
||||||
),+
|
),+
|
||||||
}
|
}
|
||||||
impl ::std::str::FromStr for $elem {
|
impl ::core::str::FromStr for $elem {
|
||||||
type Err = xso::error::Error;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
||||||
Ok(match s {
|
Ok(match s {
|
||||||
|
|
@ -120,7 +120,7 @@ macro_rules! generate_attribute {
|
||||||
$a
|
$a
|
||||||
),+
|
),+
|
||||||
}
|
}
|
||||||
impl ::std::str::FromStr for $elem {
|
impl ::core::str::FromStr for $elem {
|
||||||
type Err = xso::error::Error;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
||||||
Ok(match s {
|
Ok(match s {
|
||||||
|
|
@ -173,7 +173,7 @@ macro_rules! generate_attribute {
|
||||||
/// Value when absent.
|
/// Value when absent.
|
||||||
None,
|
None,
|
||||||
}
|
}
|
||||||
impl ::std::str::FromStr for $elem {
|
impl ::core::str::FromStr for $elem {
|
||||||
type Err = xso::error::Error;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<Self, xso::error::Error> {
|
fn from_str(s: &str) -> Result<Self, xso::error::Error> {
|
||||||
Ok(match s {
|
Ok(match s {
|
||||||
|
|
@ -218,7 +218,7 @@ macro_rules! generate_attribute {
|
||||||
$(#[$meta])*
|
$(#[$meta])*
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
pub struct $elem(pub $type);
|
pub struct $elem(pub $type);
|
||||||
impl ::std::str::FromStr for $elem {
|
impl ::core::str::FromStr for $elem {
|
||||||
type Err = xso::error::Error;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<Self, xso::error::Error> {
|
fn from_str(s: &str) -> Result<Self, xso::error::Error> {
|
||||||
Ok($elem($type::from_str(s).map_err(xso::error::Error::text_parse_error)?))
|
Ok($elem($type::from_str(s).map_err(xso::error::Error::text_parse_error)?))
|
||||||
|
|
@ -382,7 +382,7 @@ macro_rules! generate_id {
|
||||||
$(#[$meta])*
|
$(#[$meta])*
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||||
pub struct $elem(pub String);
|
pub struct $elem(pub String);
|
||||||
impl ::std::str::FromStr for $elem {
|
impl ::core::str::FromStr for $elem {
|
||||||
type Err = xso::error::Error;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
||||||
// TODO: add a way to parse that differently when needed.
|
// TODO: add a way to parse that differently when needed.
|
||||||
|
|
@ -410,7 +410,7 @@ macro_rules! generate_id {
|
||||||
macro_rules! generate_elem_id {
|
macro_rules! generate_elem_id {
|
||||||
($(#[$meta:meta])* $elem:ident, $name:literal, $ns:ident) => (
|
($(#[$meta:meta])* $elem:ident, $name:literal, $ns:ident) => (
|
||||||
generate_elem_id!($(#[$meta])* $elem, $name, $ns, String);
|
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;
|
type Err = xso::error::Error;
|
||||||
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
fn from_str(s: &str) -> Result<$elem, xso::error::Error> {
|
||||||
// TODO: add a way to parse that differently when needed.
|
// TODO: add a way to parse that differently when needed.
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ impl IqResultPayload for VCard {}
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use std::str::FromStr;
|
use core::str::FromStr;
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,8 @@ pub struct Photo {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use core::str::FromStr;
|
||||||
use minidom::Element;
|
use minidom::Element;
|
||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_vcard_update() {
|
fn test_vcard_update() {
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
||||||
|
|
||||||
use crate::message::MessagePayload;
|
use crate::message::MessagePayload;
|
||||||
use crate::ns;
|
use crate::ns;
|
||||||
|
use alloc::collections::BTreeMap;
|
||||||
use minidom::{Element, Node};
|
use minidom::{Element, Node};
|
||||||
use std::collections::HashMap;
|
|
||||||
use xso::error::{Error, FromElementError};
|
use xso::error::{Error, FromElementError};
|
||||||
|
|
||||||
// TODO: Use a proper lang type.
|
// TODO: Use a proper lang type.
|
||||||
|
|
@ -17,7 +17,7 @@ type Lang = String;
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct XhtmlIm {
|
pub struct XhtmlIm {
|
||||||
/// Map of language to body element.
|
/// Map of language to body element.
|
||||||
bodies: HashMap<Lang, Body>,
|
bodies: BTreeMap<Lang, Body>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl XhtmlIm {
|
impl XhtmlIm {
|
||||||
|
|
@ -41,7 +41,7 @@ impl XhtmlIm {
|
||||||
|
|
||||||
/// Removes all unknown elements.
|
/// Removes all unknown elements.
|
||||||
fn flatten(self) -> XhtmlIm {
|
fn flatten(self) -> XhtmlIm {
|
||||||
let mut bodies = HashMap::new();
|
let mut bodies = BTreeMap::new();
|
||||||
for (lang, body) in self.bodies {
|
for (lang, body) in self.bodies {
|
||||||
let children = body.children.into_iter().fold(vec![], |mut acc, child| {
|
let children = body.children.into_iter().fold(vec![], |mut acc, child| {
|
||||||
match child {
|
match child {
|
||||||
|
|
@ -66,7 +66,7 @@ impl TryFrom<Element> for XhtmlIm {
|
||||||
check_self!(elem, "html", XHTML_IM);
|
check_self!(elem, "html", XHTML_IM);
|
||||||
check_no_attributes!(elem, "html");
|
check_no_attributes!(elem, "html");
|
||||||
|
|
||||||
let mut bodies = HashMap::new();
|
let mut bodies = BTreeMap::new();
|
||||||
for child in elem.children() {
|
for child in elem.children() {
|
||||||
if child.is("body", ns::XHTML) {
|
if child.is("body", ns::XHTML) {
|
||||||
let child = child.clone();
|
let child = child.clone();
|
||||||
|
|
@ -504,7 +504,7 @@ mod tests {
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(target_pointer_width = "32")]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_size() {
|
fn test_size() {
|
||||||
assert_size!(XhtmlIm, 32);
|
assert_size!(XhtmlIm, 12);
|
||||||
assert_size!(Child, 48);
|
assert_size!(Child, 48);
|
||||||
assert_size!(Tag, 48);
|
assert_size!(Tag, 48);
|
||||||
}
|
}
|
||||||
|
|
@ -512,7 +512,7 @@ mod tests {
|
||||||
#[cfg(target_pointer_width = "64")]
|
#[cfg(target_pointer_width = "64")]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_size() {
|
fn test_size() {
|
||||||
assert_size!(XhtmlIm, 48);
|
assert_size!(XhtmlIm, 24);
|
||||||
assert_size!(Child, 96);
|
assert_size!(Child, 96);
|
||||||
assert_size!(Tag, 96);
|
assert_size!(Tag, 96);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue