mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
* script: Add traits to allow converting between types that are not defined in the script crate. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Rewrite all From/TryFrom implementations on generated WebIDL types to use new Convert/TryConvert traits. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
21 lines
924 B
Rust
21 lines
924 B
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
/// A version of the Into<T> trait from the standard library that can be used
|
|
/// to convert between two types that are not defined in the script crate.
|
|
/// This is intended to be used on dict/enum types generated from WebIDL once
|
|
/// those types are moved out of the script crate.
|
|
pub trait Convert<T> {
|
|
fn convert(self) -> T;
|
|
}
|
|
|
|
/// A version of the TryInto<T> trait from the standard library that can be used
|
|
/// to convert between two types that are not defined in the script crate.
|
|
/// This is intended to be used on dict/enum types generated from WebIDL once
|
|
/// those types are moved out of the script crate.
|
|
pub trait TryConvert<T> {
|
|
type Error;
|
|
|
|
fn try_convert(self) -> Result<T, Self::Error>;
|
|
}
|