diff options
author | Josh Matthews <josh@joshmatthews.net> | 2024-12-11 00:52:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-11 05:52:48 +0000 |
commit | e0cbab2fbb58ac687fb3df1bb56a27e748210bbb (patch) | |
tree | 5c331274b24c62842cd31cfdefe80b29120273dd /components/script/dom/webgpu/gpuerror.rs | |
parent | e10e989abb884f3c83a5c35d4c1b1be887ec0bb1 (diff) | |
download | servo-e0cbab2fbb58ac687fb3df1bb56a27e748210bbb.tar.gz servo-e0cbab2fbb58ac687fb3df1bb56a27e748210bbb.zip |
Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554)
* 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>
Diffstat (limited to 'components/script/dom/webgpu/gpuerror.rs')
-rw-r--r-- | components/script/dom/webgpu/gpuerror.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/components/script/dom/webgpu/gpuerror.rs b/components/script/dom/webgpu/gpuerror.rs index a4de08cc18b..bc349ed4377 100644 --- a/components/script/dom/webgpu/gpuerror.rs +++ b/components/script/dom/webgpu/gpuerror.rs @@ -6,6 +6,7 @@ use dom_struct::dom_struct; use js::rust::HandleObject; use webgpu::{Error, ErrorFilter}; +use crate::conversions::Convert; use crate::dom::bindings::codegen::Bindings::WebGPUBinding::{GPUErrorFilter, GPUErrorMethods}; use crate::dom::bindings::reflector::{reflect_dom_object_with_proto, Reflector}; use crate::dom::bindings::root::DomRoot; @@ -79,9 +80,9 @@ impl GPUErrorMethods<crate::DomTypeHolder> for GPUError { } } -impl From<ErrorFilter> for GPUErrorFilter { - fn from(filter: ErrorFilter) -> Self { - match filter { +impl Convert<GPUErrorFilter> for ErrorFilter { + fn convert(self) -> GPUErrorFilter { + match self { ErrorFilter::Validation => GPUErrorFilter::Validation, ErrorFilter::OutOfMemory => GPUErrorFilter::Out_of_memory, ErrorFilter::Internal => GPUErrorFilter::Internal, |