mirror of https://github.com/rwf2/Rocket.git
Remove use of 'unsafe' in 'RawStr' doctests.
This commit is contained in:
parent
23bf83d50d
commit
a9549cd4e8
|
@ -173,9 +173,7 @@ impl RawStr {
|
||||||
/// # extern crate rocket;
|
/// # extern crate rocket;
|
||||||
/// use rocket::http::RawStr;
|
/// use rocket::http::RawStr;
|
||||||
///
|
///
|
||||||
/// // Note: Rocket should never hand you a bad `&RawStr`.
|
/// let bad_raw_str = RawStr::new("%FF");
|
||||||
/// let bad_str = unsafe { std::str::from_utf8_unchecked(b"a=\xff") };
|
|
||||||
/// let bad_raw_str = RawStr::new(bad_str);
|
|
||||||
/// assert!(bad_raw_str.percent_decode().is_err());
|
/// assert!(bad_raw_str.percent_decode().is_err());
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
@ -211,9 +209,7 @@ impl RawStr {
|
||||||
/// # extern crate rocket;
|
/// # extern crate rocket;
|
||||||
/// use rocket::http::RawStr;
|
/// use rocket::http::RawStr;
|
||||||
///
|
///
|
||||||
/// // Note: Rocket should never hand you a bad `&RawStr`.
|
/// let bad_raw_str = RawStr::new("a=%FF");
|
||||||
/// let bad_str = unsafe { std::str::from_utf8_unchecked(b"a=\xff") };
|
|
||||||
/// let bad_raw_str = RawStr::new(bad_str);
|
|
||||||
/// assert_eq!(bad_raw_str.percent_decode_lossy(), "a=<3D>");
|
/// assert_eq!(bad_raw_str.percent_decode_lossy(), "a=<3D>");
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
@ -235,6 +231,15 @@ impl RawStr {
|
||||||
allocated = string.into();
|
allocated = string.into();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SAFETY:
|
||||||
|
//
|
||||||
|
// 1. The caller must ensure that the content of the slice is valid
|
||||||
|
// UTF-8 before the borrow ends and the underlying `str` is used.
|
||||||
|
//
|
||||||
|
// `allocated[i]` is `+` since that is what we searched for. The
|
||||||
|
// `+` char is ASCII => the character is one byte wide. ' ' is
|
||||||
|
// also one byte and ASCII => UTF-8. The replacement of `+` with
|
||||||
|
// ` ` thus yields a valid UTF-8 string.
|
||||||
unsafe { allocated.as_bytes_mut()[i] = b' '; }
|
unsafe { allocated.as_bytes_mut()[i] = b' '; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,9 +270,7 @@ impl RawStr {
|
||||||
/// # extern crate rocket;
|
/// # extern crate rocket;
|
||||||
/// use rocket::http::RawStr;
|
/// use rocket::http::RawStr;
|
||||||
///
|
///
|
||||||
/// // NOTE: Rocket will never hand you a bad `&RawStr`.
|
/// let bad_raw_str = RawStr::new("%FF");
|
||||||
/// let bad_str = unsafe { std::str::from_utf8_unchecked(b"a=\xff") };
|
|
||||||
/// let bad_raw_str = RawStr::new(bad_str);
|
|
||||||
/// assert!(bad_raw_str.percent_decode().is_err());
|
/// assert!(bad_raw_str.percent_decode().is_err());
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
@ -344,9 +347,7 @@ impl RawStr {
|
||||||
/// # extern crate rocket;
|
/// # extern crate rocket;
|
||||||
/// use rocket::http::RawStr;
|
/// use rocket::http::RawStr;
|
||||||
///
|
///
|
||||||
/// // Note: Rocket should never hand you a bad `&RawStr`.
|
/// let bad_raw_str = RawStr::new("a+b=%FF");
|
||||||
/// let bad_str = unsafe { std::str::from_utf8_unchecked(b"a+b=\xff") };
|
|
||||||
/// let bad_raw_str = RawStr::new(bad_str);
|
|
||||||
/// assert_eq!(bad_raw_str.url_decode_lossy(), "a b=<3D>");
|
/// assert_eq!(bad_raw_str.url_decode_lossy(), "a b=<3D>");
|
||||||
/// ```
|
/// ```
|
||||||
pub fn url_decode_lossy(&self) -> Cow<'_, str> {
|
pub fn url_decode_lossy(&self) -> Cow<'_, str> {
|
||||||
|
|
Loading…
Reference in New Issue