summaryrefslogtreecommitdiffstats
path: root/vendor/icu_locid/src/extensions/private
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/icu_locid/src/extensions/private')
-rw-r--r--vendor/icu_locid/src/extensions/private/mod.rs16
-rw-r--r--vendor/icu_locid/src/extensions/private/other.rs3
2 files changed, 11 insertions, 8 deletions
diff --git a/vendor/icu_locid/src/extensions/private/mod.rs b/vendor/icu_locid/src/extensions/private/mod.rs
index 8382d166f..161d47f56 100644
--- a/vendor/icu_locid/src/extensions/private/mod.rs
+++ b/vendor/icu_locid/src/extensions/private/mod.rs
@@ -13,7 +13,7 @@
//! # Examples
//!
//! ```
-//! use icu::locid::extensions_private_subtag as subtag;
+//! use icu::locid::extensions::private::subtag;
//! use icu::locid::{locale, Locale};
//!
//! let mut loc: Locale = "en-US-x-foo-faa".parse().expect("Parsing failed.");
@@ -32,8 +32,10 @@ mod other;
use alloc::vec::Vec;
use core::ops::Deref;
-pub use other::Subtag;
+#[doc(inline)]
+pub use other::{subtag, Subtag};
+use crate::helpers::ShortSlice;
use crate::parser::ParserError;
use crate::parser::SubtagIterator;
@@ -58,7 +60,7 @@ use crate::parser::SubtagIterator;
/// [`Private Use Extensions`]: https://unicode.org/reports/tr35/#pu_extensions
/// [`Unicode Locale Identifier`]: https://unicode.org/reports/tr35/#Unicode_locale_identifier
#[derive(Clone, PartialEq, Eq, Debug, Default, Hash, PartialOrd, Ord)]
-pub struct Private(Vec<Subtag>);
+pub struct Private(ShortSlice<Subtag>);
impl Private {
/// Returns a new empty list of private-use extensions. Same as [`default()`](Default::default()), but is `const`.
@@ -72,7 +74,7 @@ impl Private {
/// ```
#[inline]
pub const fn new() -> Self {
- Self(Vec::new())
+ Self(ShortSlice::new())
}
/// A constructor which takes a pre-sorted list of [`Subtag`].
@@ -89,7 +91,7 @@ impl Private {
/// assert_eq!(&private.to_string(), "x-foo-bar");
/// ```
pub fn from_vec_unchecked(input: Vec<Subtag>) -> Self {
- Self(input)
+ Self(input.into())
}
/// Empties the [`Private`] list.
@@ -116,9 +118,9 @@ impl Private {
pub(crate) fn try_from_iter(iter: &mut SubtagIterator) -> Result<Self, ParserError> {
let keys = iter
.map(Subtag::try_from_bytes)
- .collect::<Result<Vec<_>, _>>()?;
+ .collect::<Result<ShortSlice<_>, _>>()?;
- Ok(Self::from_vec_unchecked(keys))
+ Ok(Self(keys))
}
pub(crate) fn for_each_subtag_str<E, F>(&self, f: &mut F) -> Result<(), E>
diff --git a/vendor/icu_locid/src/extensions/private/other.rs b/vendor/icu_locid/src/extensions/private/other.rs
index a91e12855..810ffa2f4 100644
--- a/vendor/icu_locid/src/extensions/private/other.rs
+++ b/vendor/icu_locid/src/extensions/private/other.rs
@@ -18,7 +18,8 @@ impl_tinystr_subtag!(
/// assert_eq!(subtag1.as_str(), "foo");
/// ```
Subtag,
- extensions::private::Subtag,
+ extensions::private,
+ subtag,
extensions_private_subtag,
1..=8,
s,