You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**[`Display`](https://doc.rust-lang.org/std/fmt/trait.Display.html)**| Provides `to_string` and allows for the value to be used in [format!](https://doc.rust-lang.org/std/fmt/fn.format.html) macros (e.g. `println!`). |
54
+
|**[`Debug`](https://doc.rust-lang.org/std/fmt/trait.Debug.html)**| Allows debugger output in format macros, (`{:?}` syntax) |
55
+
|**[`PartialEq`](https://doc.rust-lang.org/std/cmp/trait.PartialEq.html), [`Eq`](https://doc.rust-lang.org/std/cmp/trait.Eq.html)**| Allows for comparison, `url1 == url2`, `url1.eq(url2)`|
56
+
|**[`PartialOrd`](https://doc.rust-lang.org/std/cmp/trait.PartialOrd.html), [`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html)**| Allows for ordering `url1 < url2`, done so alphabetically. This is also allows `Url` to be used as a key in a [`BTreeMap`](https://doc.rust-lang.org/std/collections/struct.BTreeMap.html)|
57
+
|**[`Hash`](https://doc.rust-lang.org/std/hash/trait.Hash.html)**| Makes it so that `Url` can be hashed based on the string representation. This is important so that `Url` can be used as a key in a [`HashMap`](https://doc.rust-lang.org/std/collections/struct.HashMap.html)|
58
+
|**[`FromStr`](https://doc.rust-lang.org/std/str/trait.FromStr.html)**| Allows for use with [`str`'s `parse` method](https://doc.rust-lang.org/std/primitive.str.html#method.parse)|
59
+
|**[`TryFrom<String>`, `TryFrom<&str>`](https://doc.rust-lang.org/std/convert/trait.TryFrom.html)**| Provides `try_into` methods for `String` and `&str`|
60
+
|**[`Borrow<str>`](https://doc.rust-lang.org/std/borrow/trait.Borrow.html), [`Borrow<[u8]>`](https://doc.rust-lang.org/std/borrow/trait.Borrow.html)**| Used in some crates so that the `Url` can be used as a key. |
61
+
|**[`Deref<Target=str>`](https://doc.rust-lang.org/std/ops/trait.Deref.html)**| Allows for `&Url` to dereference as a `&str`. Also provides a [number of string methods](https://doc.rust-lang.org/std/string/struct.String.html#deref-methods-str)|
62
+
|**[`AsRef<[u8]>`](https://doc.rust-lang.org/std/convert/trait.AsRef.html), [`AsRef<str>`](https://doc.rust-lang.org/std/convert/trait.AsRef.html)**| Used to do a cheap reference-to-reference conversion. |
0 commit comments