Remove 'static bounds on P.

These date back to 2014. I don't think they're needed any more.
This commit is contained in:
Nicholas Nethercote
2025-05-27 01:57:43 +10:00
parent 283db70ace
commit a35675d38f

View File

@@ -32,11 +32,11 @@ pub struct P<T: ?Sized> {
/// Construct a `P<T>` from a `T` value.
#[allow(non_snake_case)]
pub fn P<T: 'static>(value: T) -> P<T> {
pub fn P<T>(value: T) -> P<T> {
P { ptr: Box::new(value) }
}
impl<T: 'static> P<T> {
impl<T> P<T> {
/// Move out of the pointer.
/// Intended for chaining transformations not covered by `map`.
pub fn and_then<U, F>(self, f: F) -> U
@@ -86,7 +86,7 @@ impl<T: ?Sized> DerefMut for P<T> {
}
}
impl<T: 'static + Clone> Clone for P<T> {
impl<T: Clone> Clone for P<T> {
fn clone(&self) -> P<T> {
P((**self).clone())
}
@@ -110,7 +110,7 @@ impl<T> fmt::Pointer for P<T> {
}
}
impl<D: Decoder, T: 'static + Decodable<D>> Decodable<D> for P<T> {
impl<D: Decoder, T: Decodable<D>> Decodable<D> for P<T> {
fn decode(d: &mut D) -> P<T> {
P(Decodable::decode(d))
}