From ed1ff1d4e03f4e046b8a3cc7cce48dcfbf9028ba Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 12:23:11 +0530 Subject: [PATCH 1/7] feat: implement upstream field for build.toml. --- examples/kernels/cutlass-gemm/build.toml | 1 + examples/kernels/extra-data/build.toml | 1 + examples/kernels/relu-backprop-compile/build.toml | 1 + examples/kernels/relu-compiler-flags/build.toml | 1 + examples/kernels/relu-metal-cpp/build.toml | 1 + examples/kernels/relu-nki/build.toml | 1 + examples/kernels/relu-specific-torch/build.toml | 1 + examples/kernels/relu-torch-bounds/build.toml | 1 + examples/kernels/relu-tvm-ffi/build.toml | 1 + examples/kernels/relu/build.toml | 1 + examples/kernels/silu-and-mul/build.toml | 1 + kernel-builder/src/config/mod.rs | 3 +++ kernel-builder/src/config/v1.rs | 1 + kernel-builder/src/config/v2.rs | 1 + kernel-builder/src/config/v3.rs | 4 ++++ kernel-builder/src/pyproject/common.rs | 1 + kernel-builder/src/pyproject/metadata.rs | 2 ++ template/build.toml | 1 + 18 files changed, 24 insertions(+) diff --git a/examples/kernels/cutlass-gemm/build.toml b/examples/kernels/cutlass-gemm/build.toml index 250dd86b..c13a7b8d 100644 --- a/examples/kernels/cutlass-gemm/build.toml +++ b/examples/kernels/cutlass-gemm/build.toml @@ -1,5 +1,6 @@ [general] name = "cutlass-gemm" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/cutlass-gemm" backends = [ "cuda", "xpu", diff --git a/examples/kernels/extra-data/build.toml b/examples/kernels/extra-data/build.toml index 391b3043..1d4c667b 100644 --- a/examples/kernels/extra-data/build.toml +++ b/examples/kernels/extra-data/build.toml @@ -1,5 +1,6 @@ [general] name = "extra-data" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/extra-data" backends = [ "cpu", "cuda", diff --git a/examples/kernels/relu-backprop-compile/build.toml b/examples/kernels/relu-backprop-compile/build.toml index 6de49b78..f81b0149 100644 --- a/examples/kernels/relu-backprop-compile/build.toml +++ b/examples/kernels/relu-backprop-compile/build.toml @@ -1,5 +1,6 @@ [general] name = "relu-backprop-compile" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-backprop-compile" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-compiler-flags/build.toml b/examples/kernels/relu-compiler-flags/build.toml index b358d67f..ad8c2f86 100644 --- a/examples/kernels/relu-compiler-flags/build.toml +++ b/examples/kernels/relu-compiler-flags/build.toml @@ -1,5 +1,6 @@ [general] name = "relu-compiler-flags" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-compiler-flags" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-metal-cpp/build.toml b/examples/kernels/relu-metal-cpp/build.toml index 8cf012bc..249bbde8 100644 --- a/examples/kernels/relu-metal-cpp/build.toml +++ b/examples/kernels/relu-metal-cpp/build.toml @@ -1,5 +1,6 @@ [general] name = "relu" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-metal-cpp" backends = ["metal"] [torch] diff --git a/examples/kernels/relu-nki/build.toml b/examples/kernels/relu-nki/build.toml index 70e4ef7e..62073c11 100644 --- a/examples/kernels/relu-nki/build.toml +++ b/examples/kernels/relu-nki/build.toml @@ -1,6 +1,7 @@ [general] name = "relu-nki" version = 1 +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-nki" backends = [ "neuron", ] diff --git a/examples/kernels/relu-specific-torch/build.toml b/examples/kernels/relu-specific-torch/build.toml index 191c4081..267e3c9b 100644 --- a/examples/kernels/relu-specific-torch/build.toml +++ b/examples/kernels/relu-specific-torch/build.toml @@ -1,5 +1,6 @@ [general] name = "relu-specific-torch" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-specific-torch" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-torch-bounds/build.toml b/examples/kernels/relu-torch-bounds/build.toml index be8b5396..65453343 100644 --- a/examples/kernels/relu-torch-bounds/build.toml +++ b/examples/kernels/relu-torch-bounds/build.toml @@ -1,5 +1,6 @@ [general] name = "relu" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-torch-bounds" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-tvm-ffi/build.toml b/examples/kernels/relu-tvm-ffi/build.toml index 49eb4b82..f57fa3d2 100644 --- a/examples/kernels/relu-tvm-ffi/build.toml +++ b/examples/kernels/relu-tvm-ffi/build.toml @@ -1,6 +1,7 @@ [general] name = "relu-tvm-ffi" version = 1 +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-tvm-ffi" backends = [ "cpu", diff --git a/examples/kernels/relu/build.toml b/examples/kernels/relu/build.toml index 3627027c..82aeeacd 100644 --- a/examples/kernels/relu/build.toml +++ b/examples/kernels/relu/build.toml @@ -1,5 +1,6 @@ [general] name = "relu" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu" backends = [ "cpu", "cuda", diff --git a/examples/kernels/silu-and-mul/build.toml b/examples/kernels/silu-and-mul/build.toml index 7f022ef5..d27a89dc 100644 --- a/examples/kernels/silu-and-mul/build.toml +++ b/examples/kernels/silu-and-mul/build.toml @@ -1,6 +1,7 @@ [general] name = "silu-and-mul" license = "apache-2.0" +upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/silu-and-mul" backends = [ "cpu", "cuda", diff --git a/kernel-builder/src/config/mod.rs b/kernel-builder/src/config/mod.rs index 8f632989..ab2a156f 100644 --- a/kernel-builder/src/config/mod.rs +++ b/kernel-builder/src/config/mod.rs @@ -61,6 +61,9 @@ pub struct General { /// Hugging Face Hub license identifier. pub license: Option, + /// Source repository or reference for the kernel code. + pub upstream: Option, + pub backends: Vec, pub hub: Option, pub python_depends: Option>, diff --git a/kernel-builder/src/config/v1.rs b/kernel-builder/src/config/v1.rs index c4f523bb..01c969f1 100644 --- a/kernel-builder/src/config/v1.rs +++ b/kernel-builder/src/config/v1.rs @@ -106,6 +106,7 @@ impl TryFrom for super::Build { name: build.general.name, version: None, license: None, + upstream: None, backends, hub: None, neuron: None, diff --git a/kernel-builder/src/config/v2.rs b/kernel-builder/src/config/v2.rs index 7c94eac0..7a6f7384 100644 --- a/kernel-builder/src/config/v2.rs +++ b/kernel-builder/src/config/v2.rs @@ -171,6 +171,7 @@ impl General { name: general.name, version: None, license: None, + upstream: None, backends, cuda, hub: general.hub.map(Into::into), diff --git a/kernel-builder/src/config/v3.rs b/kernel-builder/src/config/v3.rs index 625d8102..eacb38d0 100644 --- a/kernel-builder/src/config/v3.rs +++ b/kernel-builder/src/config/v3.rs @@ -38,6 +38,8 @@ pub struct General { pub license: Option, + pub upstream: Option, + pub backends: Vec, pub cuda: Option, @@ -183,6 +185,7 @@ impl From for super::General { name: general.name, version: general.version, license: general.license, + upstream: general.upstream, backends: general.backends.into_iter().map(Into::into).collect(), cuda: general.cuda.map(Into::into), hub: general.hub.map(Into::into), @@ -363,6 +366,7 @@ impl From for General { name: general.name, version: general.version, license: general.license, + upstream: general.upstream, backends: general.backends.into_iter().map(Into::into).collect(), cuda: general.cuda.map(Into::into), hub: general.hub.map(Into::into), diff --git a/kernel-builder/src/pyproject/common.rs b/kernel-builder/src/pyproject/common.rs index d16cd2d4..af398c3c 100644 --- a/kernel-builder/src/pyproject/common.rs +++ b/kernel-builder/src/pyproject/common.rs @@ -34,6 +34,7 @@ pub fn write_metadata(general: &General, file_set: &mut FileSet) -> Result<()> { let metadata = Metadata { version: general.version, license: general.license.clone(), + upstream: general.upstream.clone(), python_depends, }; diff --git a/kernel-builder/src/pyproject/metadata.rs b/kernel-builder/src/pyproject/metadata.rs index c8635d90..9af0e05e 100644 --- a/kernel-builder/src/pyproject/metadata.rs +++ b/kernel-builder/src/pyproject/metadata.rs @@ -7,5 +7,7 @@ pub struct Metadata { pub version: Option, #[serde(skip_serializing_if = "Option::is_none")] pub license: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub upstream: Option, pub python_depends: Vec, } diff --git a/template/build.toml b/template/build.toml index 09db8326..caf4548f 100644 --- a/template/build.toml +++ b/template/build.toml @@ -8,6 +8,7 @@ backends = [ ] name = "__KERNEL_NAME__" version = 1 +upstream = "__UPSTREAM_URL__" [torch] src = [ From 6a77ec6d778516df221e62a8022e8157aa028259 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 12:33:33 +0530 Subject: [PATCH 2/7] remove modifications from existing kernel example build.toml --- examples/kernels/cutlass-gemm/build.toml | 1 - examples/kernels/extra-data/build.toml | 1 - examples/kernels/relu-backprop-compile/build.toml | 1 - examples/kernels/relu-compiler-flags/build.toml | 1 - examples/kernels/relu-metal-cpp/build.toml | 1 - examples/kernels/relu-nki/build.toml | 1 - examples/kernels/relu-specific-torch/build.toml | 1 - examples/kernels/relu-torch-bounds/build.toml | 1 - examples/kernels/relu-tvm-ffi/build.toml | 1 - examples/kernels/relu/build.toml | 1 - examples/kernels/silu-and-mul/build.toml | 1 - kernel-builder/src/config/mod.rs | 2 +- 12 files changed, 1 insertion(+), 12 deletions(-) diff --git a/examples/kernels/cutlass-gemm/build.toml b/examples/kernels/cutlass-gemm/build.toml index c13a7b8d..250dd86b 100644 --- a/examples/kernels/cutlass-gemm/build.toml +++ b/examples/kernels/cutlass-gemm/build.toml @@ -1,6 +1,5 @@ [general] name = "cutlass-gemm" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/cutlass-gemm" backends = [ "cuda", "xpu", diff --git a/examples/kernels/extra-data/build.toml b/examples/kernels/extra-data/build.toml index 1d4c667b..391b3043 100644 --- a/examples/kernels/extra-data/build.toml +++ b/examples/kernels/extra-data/build.toml @@ -1,6 +1,5 @@ [general] name = "extra-data" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/extra-data" backends = [ "cpu", "cuda", diff --git a/examples/kernels/relu-backprop-compile/build.toml b/examples/kernels/relu-backprop-compile/build.toml index f81b0149..6de49b78 100644 --- a/examples/kernels/relu-backprop-compile/build.toml +++ b/examples/kernels/relu-backprop-compile/build.toml @@ -1,6 +1,5 @@ [general] name = "relu-backprop-compile" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-backprop-compile" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-compiler-flags/build.toml b/examples/kernels/relu-compiler-flags/build.toml index ad8c2f86..b358d67f 100644 --- a/examples/kernels/relu-compiler-flags/build.toml +++ b/examples/kernels/relu-compiler-flags/build.toml @@ -1,6 +1,5 @@ [general] name = "relu-compiler-flags" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-compiler-flags" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-metal-cpp/build.toml b/examples/kernels/relu-metal-cpp/build.toml index 249bbde8..8cf012bc 100644 --- a/examples/kernels/relu-metal-cpp/build.toml +++ b/examples/kernels/relu-metal-cpp/build.toml @@ -1,6 +1,5 @@ [general] name = "relu" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-metal-cpp" backends = ["metal"] [torch] diff --git a/examples/kernels/relu-nki/build.toml b/examples/kernels/relu-nki/build.toml index 62073c11..70e4ef7e 100644 --- a/examples/kernels/relu-nki/build.toml +++ b/examples/kernels/relu-nki/build.toml @@ -1,7 +1,6 @@ [general] name = "relu-nki" version = 1 -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-nki" backends = [ "neuron", ] diff --git a/examples/kernels/relu-specific-torch/build.toml b/examples/kernels/relu-specific-torch/build.toml index 267e3c9b..191c4081 100644 --- a/examples/kernels/relu-specific-torch/build.toml +++ b/examples/kernels/relu-specific-torch/build.toml @@ -1,6 +1,5 @@ [general] name = "relu-specific-torch" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-specific-torch" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-torch-bounds/build.toml b/examples/kernels/relu-torch-bounds/build.toml index 65453343..be8b5396 100644 --- a/examples/kernels/relu-torch-bounds/build.toml +++ b/examples/kernels/relu-torch-bounds/build.toml @@ -1,6 +1,5 @@ [general] name = "relu" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-torch-bounds" backends = [ "cuda", "rocm", diff --git a/examples/kernels/relu-tvm-ffi/build.toml b/examples/kernels/relu-tvm-ffi/build.toml index f57fa3d2..49eb4b82 100644 --- a/examples/kernels/relu-tvm-ffi/build.toml +++ b/examples/kernels/relu-tvm-ffi/build.toml @@ -1,7 +1,6 @@ [general] name = "relu-tvm-ffi" version = 1 -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu-tvm-ffi" backends = [ "cpu", diff --git a/examples/kernels/relu/build.toml b/examples/kernels/relu/build.toml index 82aeeacd..3627027c 100644 --- a/examples/kernels/relu/build.toml +++ b/examples/kernels/relu/build.toml @@ -1,6 +1,5 @@ [general] name = "relu" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/relu" backends = [ "cpu", "cuda", diff --git a/examples/kernels/silu-and-mul/build.toml b/examples/kernels/silu-and-mul/build.toml index d27a89dc..7f022ef5 100644 --- a/examples/kernels/silu-and-mul/build.toml +++ b/examples/kernels/silu-and-mul/build.toml @@ -1,7 +1,6 @@ [general] name = "silu-and-mul" license = "apache-2.0" -upstream = "https://github.com/huggingface/kernels/tree/main/examples/kernels/silu-and-mul" backends = [ "cpu", "cuda", diff --git a/kernel-builder/src/config/mod.rs b/kernel-builder/src/config/mod.rs index ab2a156f..c069e344 100644 --- a/kernel-builder/src/config/mod.rs +++ b/kernel-builder/src/config/mod.rs @@ -330,4 +330,4 @@ impl FromStr for Backend { _ => Err(format!("Unknown backend: {s}")), } } -} +} \ No newline at end of file From 5b030120ab11a76b69fc7f9734ed87c28fbc264a Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 12:36:34 +0530 Subject: [PATCH 3/7] up --- kernel-builder/src/config/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel-builder/src/config/mod.rs b/kernel-builder/src/config/mod.rs index c069e344..ab2a156f 100644 --- a/kernel-builder/src/config/mod.rs +++ b/kernel-builder/src/config/mod.rs @@ -330,4 +330,4 @@ impl FromStr for Backend { _ => Err(format!("Unknown backend: {s}")), } } -} \ No newline at end of file +} From 6d1154898b092de186bd9abffe869defe7de7c94 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 15:55:52 +0530 Subject: [PATCH 4/7] use url for validation. --- kernel-builder/Cargo.lock | 2 ++ kernel-builder/Cargo.toml | 1 + kernel-builder/src/config/mod.rs | 2 +- kernel-builder/src/config/v3.rs | 2 +- kernel-builder/src/pyproject/metadata.rs | 2 +- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel-builder/Cargo.lock b/kernel-builder/Cargo.lock index ec5dbd91..16efb5e0 100644 --- a/kernel-builder/Cargo.lock +++ b/kernel-builder/Cargo.lock @@ -245,6 +245,7 @@ dependencies = [ "serde_json", "thiserror", "toml", + "url", ] [[package]] @@ -810,6 +811,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] diff --git a/kernel-builder/Cargo.toml b/kernel-builder/Cargo.toml index 8df3bab0..c5e01406 100644 --- a/kernel-builder/Cargo.toml +++ b/kernel-builder/Cargo.toml @@ -23,6 +23,7 @@ serde_json = "1" serde-value = "0.7" thiserror = "1" toml = "0.8" +url = { version = "2", features = ["serde"] } [build-dependencies] minijinja-embed = "2.5" diff --git a/kernel-builder/src/config/mod.rs b/kernel-builder/src/config/mod.rs index ab2a156f..dbd3ff78 100644 --- a/kernel-builder/src/config/mod.rs +++ b/kernel-builder/src/config/mod.rs @@ -62,7 +62,7 @@ pub struct General { pub license: Option, /// Source repository or reference for the kernel code. - pub upstream: Option, + pub upstream: Option, pub backends: Vec, pub hub: Option, diff --git a/kernel-builder/src/config/v3.rs b/kernel-builder/src/config/v3.rs index eacb38d0..a74cd7ee 100644 --- a/kernel-builder/src/config/v3.rs +++ b/kernel-builder/src/config/v3.rs @@ -38,7 +38,7 @@ pub struct General { pub license: Option, - pub upstream: Option, + pub upstream: Option, pub backends: Vec, diff --git a/kernel-builder/src/pyproject/metadata.rs b/kernel-builder/src/pyproject/metadata.rs index 9af0e05e..d40d0f58 100644 --- a/kernel-builder/src/pyproject/metadata.rs +++ b/kernel-builder/src/pyproject/metadata.rs @@ -8,6 +8,6 @@ pub struct Metadata { #[serde(skip_serializing_if = "Option::is_none")] pub license: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub upstream: Option, + pub upstream: Option, pub python_depends: Vec, } From fc6e8b69576821dc1e87825a2d001b3504ce938f Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 16:06:46 +0530 Subject: [PATCH 5/7] use box to just store pointer --- kernel-builder/src/config/compat.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel-builder/src/config/compat.rs b/kernel-builder/src/config/compat.rs index c8553a4a..3b6d0b20 100644 --- a/kernel-builder/src/config/compat.rs +++ b/kernel-builder/src/config/compat.rs @@ -8,7 +8,7 @@ use super::{v1, v2, v3, Build}; pub enum BuildCompat { V1(v1::Build), V2(v2::Build), - V3(v3::Build), + V3(Box), } impl<'de> Deserialize<'de> for BuildCompat { @@ -21,7 +21,7 @@ impl<'de> Deserialize<'de> for BuildCompat { v1::Build::deserialize(value.clone()) .map(BuildCompat::V1) .or_else(|_| v2::Build::deserialize(value.clone()).map(BuildCompat::V2)) - .or_else(|_| v3::Build::deserialize(value.clone()).map(BuildCompat::V3)) + .or_else(|_| v3::Build::deserialize(value.clone()).map(|b| BuildCompat::V3(Box::new(b)))) .map_err(serde::de::Error::custom) } } @@ -33,7 +33,7 @@ impl TryFrom for Build { match compat { BuildCompat::V1(v1_build) => v1_build.try_into(), BuildCompat::V2(v2_build) => v2_build.try_into(), - BuildCompat::V3(v3_build) => Ok(v3_build.into()), + BuildCompat::V3(v3_build) => Ok((*v3_build).into()), } } } From bf3a01a46951b1c701a09ce5bde0425ed0cc1549 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 16:09:25 +0530 Subject: [PATCH 6/7] up --- kernel-builder/src/config/compat.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel-builder/src/config/compat.rs b/kernel-builder/src/config/compat.rs index 3b6d0b20..05d0ec6a 100644 --- a/kernel-builder/src/config/compat.rs +++ b/kernel-builder/src/config/compat.rs @@ -21,7 +21,9 @@ impl<'de> Deserialize<'de> for BuildCompat { v1::Build::deserialize(value.clone()) .map(BuildCompat::V1) .or_else(|_| v2::Build::deserialize(value.clone()).map(BuildCompat::V2)) - .or_else(|_| v3::Build::deserialize(value.clone()).map(|b| BuildCompat::V3(Box::new(b)))) + .or_else(|_| { + v3::Build::deserialize(value.clone()).map(|b| BuildCompat::V3(Box::new(b))) + }) .map_err(serde::de::Error::custom) } } From 2718c102fb956ee92cfdd7568dcfbe0f93b0bdcf Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 19 Mar 2026 21:16:30 +0530 Subject: [PATCH 7/7] use #[allow(clippy::large_enum_variant)] --- kernel-builder/src/config/compat.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel-builder/src/config/compat.rs b/kernel-builder/src/config/compat.rs index 05d0ec6a..78d13d96 100644 --- a/kernel-builder/src/config/compat.rs +++ b/kernel-builder/src/config/compat.rs @@ -5,10 +5,11 @@ use serde_value::Value; use super::{v1, v2, v3, Build}; #[derive(Debug)] +#[allow(clippy::large_enum_variant)] pub enum BuildCompat { V1(v1::Build), V2(v2::Build), - V3(Box), + V3(v3::Build), } impl<'de> Deserialize<'de> for BuildCompat { @@ -21,9 +22,7 @@ impl<'de> Deserialize<'de> for BuildCompat { v1::Build::deserialize(value.clone()) .map(BuildCompat::V1) .or_else(|_| v2::Build::deserialize(value.clone()).map(BuildCompat::V2)) - .or_else(|_| { - v3::Build::deserialize(value.clone()).map(|b| BuildCompat::V3(Box::new(b))) - }) + .or_else(|_| v3::Build::deserialize(value.clone()).map(BuildCompat::V3)) .map_err(serde::de::Error::custom) } } @@ -35,7 +34,7 @@ impl TryFrom for Build { match compat { BuildCompat::V1(v1_build) => v1_build.try_into(), BuildCompat::V2(v2_build) => v2_build.try_into(), - BuildCompat::V3(v3_build) => Ok((*v3_build).into()), + BuildCompat::V3(v3_build) => Ok(v3_build.into()), } } }