1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#![deny(missing_docs)]
#![deny(warnings)]
pub trait From<I> {
fn from(I) -> Self;
}
impl<T> From<T> for T {
fn from(x: T) -> T { x }
}
impl<'a, T: Clone> From<&'a T> for T {
fn from(x: &'a T) -> T { x.clone() }
}
impl<'a, T> From<&'a Vec<T>> for &'a [T] {
fn from(x: &'a Vec<T>) -> &'a [T] { x.as_slice() }
}
impl<'a> From<&'a String> for &'a str {
fn from(x: &'a String) -> &'a str { x.as_slice() }
}
impl<'a> From<&'a str> for String {
fn from(x: &'a str) -> String { x.into_string() }
}
impl<'a, T: Clone> From<&'a [T]> for Vec<T> {
fn from(x: &'a [T]) -> Vec<T> { x.to_vec() }
}