mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
43 lines
824 B
Rust
43 lines
824 B
Rust
use crate::url::{Url, UrlBuf, UrlCow};
|
|
|
|
pub trait AsUrl {
|
|
fn as_url(&self) -> Url<'_>;
|
|
}
|
|
|
|
impl AsUrl for Url<'_> {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { *self }
|
|
}
|
|
|
|
impl AsUrl for UrlBuf {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { self.as_url() }
|
|
}
|
|
|
|
impl AsUrl for &UrlBuf {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { (**self).as_url() }
|
|
}
|
|
|
|
impl AsUrl for &mut UrlBuf {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { (**self).as_url() }
|
|
}
|
|
|
|
impl AsUrl for UrlCow<'_> {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { self.as_url() }
|
|
}
|
|
|
|
impl AsUrl for &UrlCow<'_> {
|
|
#[inline]
|
|
fn as_url(&self) -> Url<'_> { (**self).as_url() }
|
|
}
|
|
|
|
impl<'a, T: AsUrl> From<&'a T> for Url<'a> {
|
|
fn from(value: &'a T) -> Self { value.as_url() }
|
|
}
|
|
|
|
impl<'a, T: AsUrl> From<&'a mut T> for Url<'a> {
|
|
fn from(value: &'a mut T) -> Self { value.as_url() }
|
|
}
|