Lines Matching full:uuid
2 // Copyright 2018 The Uuid Project Developers.
12 //! [`Uuid`] parsing constructs and utilities.
14 //! [`Uuid`]: ../struct.Uuid.html
19 Uuid,
22 impl str::FromStr for Uuid { implementation
26 Uuid::parse_str(uuid_str) in from_str()
30 impl TryFrom<&'_ str> for Uuid { implementation
34 Uuid::parse_str(uuid_str) in try_from()
38 impl Uuid { impl
39 /// Parses a `Uuid` from a string of hexadecimal digits with optional
50 /// Parse a hyphenated UUID:
53 /// # use uuid::{Uuid, Version, Variant};
54 /// # fn main() -> Result<(), uuid::Error> {
55 /// let uuid = Uuid::parse_str("550e8400-e29b-41d4-a716-446655440000")?;
57 /// assert_eq!(Some(Version::Random), uuid.get_version());
58 /// assert_eq!(Variant::RFC4122, uuid.get_variant());
64 pub fn parse_str(input: &str) -> Result<Uuid, Error> { in parse_str() argument
66 .map(Uuid::from_bytes) in parse_str()
70 /// Parses a `Uuid` from a string of hexadecimal digits with optional
78 /// To parse a UUID from a byte stream instead of a UTF8 string, see
83 /// Parse a hyphenated UUID:
86 /// # use uuid::{Uuid, Version, Variant};
87 /// # fn main() -> Result<(), uuid::Error> {
88 /// let uuid = Uuid::try_parse("550e8400-e29b-41d4-a716-446655440000")?;
90 /// assert_eq!(Some(Version::Random), uuid.get_version());
91 /// assert_eq!(Variant::RFC4122, uuid.get_variant());
98 pub const fn try_parse(input: &str) -> Result<Uuid, Error> { in try_parse() argument
102 /// Parses a `Uuid` from a string of hexadecimal digits with optional
106 /// can be more convenient than [`try_parse`] if the UUID is being
111 /// Parse a hyphenated UUID:
114 /// # use uuid::{Uuid, Version, Variant};
115 /// # fn main() -> Result<(), uuid::Error> {
116 /// let uuid = Uuid::try_parse_ascii(b"550e8400-e29b-41d4-a716-446655440000")?;
118 /// assert_eq!(Some(Version::Random), uuid.get_version());
119 /// assert_eq!(Variant::RFC4122, uuid.get_variant());
125 pub const fn try_parse_ascii(input: &[u8]) -> Result<Uuid, Error> { in try_parse_ascii() argument
127 Ok(bytes) => Ok(Uuid::from_bytes(bytes)), in try_parse_ascii()
137 // Inputs of 32 bytes must be a non-hyphenated UUID
140 // - `{UUID}` for braced UUIDs
141 // - `urn:uuid:UUID` for URNs
142 // - `UUID` for a regular hyphenated UUID
199 // that's the size of the smallest group in a hyphenated UUID.
202 // uuid : 936da01f-9abd-4d9d-80c7-02af85c822a8
281 let from_hyphenated = Uuid::parse_str("67e55044-10b1-426f-9247-bb680e5fe0c8").unwrap(); in test_parse_uuid_v4_valid()
282 let from_simple = Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c8").unwrap(); in test_parse_uuid_v4_valid()
283 let from_urn = Uuid::parse_str("urn:uuid:67e55044-10b1-426f-9247-bb680e5fe0c8").unwrap(); in test_parse_uuid_v4_valid()
284 let from_guid = Uuid::parse_str("{67e55044-10b1-426f-9247-bb680e5fe0c8}").unwrap(); in test_parse_uuid_v4_valid()
290 assert!(Uuid::parse_str("00000000000000000000000000000000").is_ok()); in test_parse_uuid_v4_valid()
291 assert!(Uuid::parse_str("67e55044-10b1-426f-9247-bb680e5fe0c8").is_ok()); in test_parse_uuid_v4_valid()
292 assert!(Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4").is_ok()); in test_parse_uuid_v4_valid()
293 assert!(Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c8").is_ok()); in test_parse_uuid_v4_valid()
294 assert!(Uuid::parse_str("01020304-1112-2122-3132-414243444546").is_ok()); in test_parse_uuid_v4_valid()
295 assert!(Uuid::parse_str("urn:uuid:67e55044-10b1-426f-9247-bb680e5fe0c8").is_ok()); in test_parse_uuid_v4_valid()
296 assert!(Uuid::parse_str("{6d93bade-bd9f-4e13-8914-9474e1e3567b}").is_ok()); in test_parse_uuid_v4_valid()
299 let nil = Uuid::nil(); in test_parse_uuid_v4_valid()
301 Uuid::parse_str("00000000000000000000000000000000").unwrap(), in test_parse_uuid_v4_valid()
305 Uuid::parse_str("00000000-0000-0000-0000-000000000000").unwrap(), in test_parse_uuid_v4_valid()
314 Uuid::parse_str(""), in test_parse_uuid_v4_invalid()
319 Uuid::parse_str("!"), in test_parse_uuid_v4_invalid()
327 Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E45"), in test_parse_uuid_v4_invalid()
336 Uuid::parse_str("F9168C5E-CEB2-4faa-BBF-329BF39FA1E4"), in test_parse_uuid_v4_invalid()
345 Uuid::parse_str("F9168C5E-CEB2-4faa-BGBF-329BF39FA1E4"), in test_parse_uuid_v4_invalid()
353 Uuid::parse_str("F9168C5E-CEB2F4faaFB6BFF329BF39FA1E4"), in test_parse_uuid_v4_invalid()
358 Uuid::parse_str("F9168C5E-CEB2-4faaFB6BFF329BF39FA1E4"), in test_parse_uuid_v4_invalid()
363 Uuid::parse_str("F9168C5E-CEB2-4faa-B6BFF329BF39FA1E4"), in test_parse_uuid_v4_invalid()
368 Uuid::parse_str("F9168C5E-CEB2-4faa"), in test_parse_uuid_v4_invalid()
373 Uuid::parse_str("F9168C5E-CEB2-4faaXB6BFF329BF39FA1E4"), in test_parse_uuid_v4_invalid()
381 Uuid::parse_str("{F9168C5E-CEB2-4faa9B6BFF329BF39FA1E41"), in test_parse_uuid_v4_invalid()
389 Uuid::parse_str("{F9168C5E-CEB2-4faa9B6BFF329BF39FA1E41}"), in test_parse_uuid_v4_invalid()
394 Uuid::parse_str("F9168C5E-CEB-24fa-eB6BFF32-BF39FA1E4"), in test_parse_uuid_v4_invalid()
405 Uuid::parse_str("01020304-1112-2122-3132-41424344"), in test_parse_uuid_v4_invalid()
414 Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c"), in test_parse_uuid_v4_invalid()
419 Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c88"), in test_parse_uuid_v4_invalid()
424 Uuid::parse_str("67e5504410b1426f9247bb680e5fe0cg8"), in test_parse_uuid_v4_invalid()
432 Uuid::parse_str("67e5504410b1426%9247bb680e5fe0c8"), in test_parse_uuid_v4_invalid()
440 Uuid::parse_str("231231212212423424324323477343246663"), in test_parse_uuid_v4_invalid()
445 Uuid::parse_str("{00000000000000000000000000000000}"), in test_parse_uuid_v4_invalid()
450 Uuid::parse_str("67e5504410b1426f9247bb680e5fe0c"), in test_parse_uuid_v4_invalid()
455 Uuid::parse_str("67e550X410b1426f9247bb680e5fe0cd"), in test_parse_uuid_v4_invalid()
463 Uuid::parse_str("67e550-4105b1426f9247bb680e5fe0c"), in test_parse_uuid_v4_invalid()
468 Uuid::parse_str("F9168C5E-CEB2-4faa-B6BF1-02BF39FA1E4"), in test_parse_uuid_v4_invalid()
481 let uuid_out = Uuid::parse_str(&orig_str).unwrap(); in test_roundtrip_default()
489 let uuid_out = Uuid::parse_str(&orig_str).unwrap(); in test_roundtrip_hyphenated()
497 let uuid_out = Uuid::parse_str(&orig_str).unwrap(); in test_roundtrip_simple()
505 let uuid_out = Uuid::parse_str(&orig_str).unwrap(); in test_roundtrip_urn()
513 let uuid_out = Uuid::parse_str(&orig_str).unwrap(); in test_roundtrip_braced()
519 assert!(Uuid::try_parse_ascii(b"67e55044-10b1-426f-9247-bb680e5\0e0c8").is_err()); in test_try_parse_ascii_non_utf8()