From 758dab7d4f6990a72d9f5794e3d6ca7989174848 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Tue, 19 Jul 2022 11:59:10 +1000 Subject: [PATCH] Optimize `DesiredTargets`: Avoid mem alloc on `clone` Signed-off-by: Jiahao XU --- src/target.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/target.rs b/src/target.rs index fdca606f..c6bf8dd9 100644 --- a/src/target.rs +++ b/src/target.rs @@ -11,7 +11,7 @@ pub const TARGET: &str = env!("TARGET"); #[derive(Debug, Clone)] enum DesiredTargetsInner { AutoDetect(Arc>>), - Initialized(Vec), + Initialized(Arc>), } #[derive(Debug, Clone)] @@ -19,7 +19,7 @@ pub struct DesiredTargets(DesiredTargetsInner); impl DesiredTargets { fn initialized(targets: Vec) -> Self { - Self(DesiredTargetsInner::Initialized(targets)) + Self(DesiredTargetsInner::Initialized(Arc::new(targets))) } fn auto_detect() -> Self {