about summary refs log tree commit diff
path: root/tvix/eval/src/errors.rs
diff options
context:
space:
mode:
authorAspen Smith <root@gws.fyi>2024-02-10T17·22-0500
committerclbot <clbot@tvl.fyi>2024-02-10T20·35+0000
commit5d72d3980f21ac720520e4d2450f0709b6b581ea (patch)
tree6cc1106b84c2b10db10e2fdde9c36f636832e777 /tvix/eval/src/errors.rs
parent5d2ae840f13641a6f699ab77d43e41d98f459053 (diff)
refactor(tvix/eval): Box the strings in CatchableErrorKind r/7497
These strings are allocated once and never changed, so they don't need
the additional overhead of a capacity given by String - instead, we can
use Box<str> and save on 16 bytes for each of these, *and* for each
Value since this is currently the largest Value variant.

Change-Id: I3e5cb070fe6c5bf82114c92d04f6bae775663a7e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10796
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/errors.rs')
-rw-r--r--tvix/eval/src/errors.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/tvix/eval/src/errors.rs b/tvix/eval/src/errors.rs
index d5cb6ef34b0d..b59ee675dda4 100644
--- a/tvix/eval/src/errors.rs
+++ b/tvix/eval/src/errors.rs
@@ -40,11 +40,11 @@ use crate::{SourceCode, Value};
 ///
 #[derive(Clone, Debug)]
 pub enum CatchableErrorKind {
-    Throw(String),
+    Throw(Box<str>),
     AssertionFailed,
-    UnimplementedFeature(String),
+    UnimplementedFeature(Box<str>),
     /// Resolving a user-supplied angle brackets path literal failed in some way.
-    NixPathResolution(String),
+    NixPathResolution(Box<str>),
 }
 
 #[derive(Clone, Debug)]