diff options
author | Aspen Smith <root@gws.fyi> | 2024-02-10T17·22-0500 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-02-10T20·35+0000 |
commit | 5d72d3980f21ac720520e4d2450f0709b6b581ea (patch) | |
tree | 6cc1106b84c2b10db10e2fdde9c36f636832e777 /tvix/eval/src/builtins/mod.rs | |
parent | 5d2ae840f13641a6f699ab77d43e41d98f459053 (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/builtins/mod.rs')
-rw-r--r-- | tvix/eval/src/builtins/mod.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/tvix/eval/src/builtins/mod.rs b/tvix/eval/src/builtins/mod.rs index d9f8567886e3..3048b32fb550 100644 --- a/tvix/eval/src/builtins/mod.rs +++ b/tvix/eval/src/builtins/mod.rs @@ -476,7 +476,7 @@ mod pure_builtins { async fn builtin_filterSource(_co: GenCo, #[lazy] _e: Value) -> Result<Value, ErrorKind> { // TODO: implement for nixpkgs compatibility Ok(Value::Catchable(CatchableErrorKind::UnimplementedFeature( - "filterSource".to_string(), + "filterSource".into(), ))) } @@ -695,7 +695,7 @@ mod pure_builtins { ) -> Result<Value, ErrorKind> { // FIXME: propagate contexts here. Ok(Value::Catchable(CatchableErrorKind::UnimplementedFeature( - "hashString".to_string(), + "hashString".into(), ))) } @@ -1392,7 +1392,7 @@ mod pure_builtins { // TODO(sterni): coerces to string // We do not care about the context here explicitly. Ok(Value::Catchable(CatchableErrorKind::Throw( - message.to_contextful_str()?.to_string(), + message.to_contextful_str()?.to_string().into(), ))) } @@ -1531,9 +1531,7 @@ pub fn pure_builtins() -> Vec<(&'static str, Value)> { // TODO: implement for nixpkgs compatibility result.push(( "__curPos", - Value::Catchable(CatchableErrorKind::UnimplementedFeature( - "__curPos".to_string(), - )), + Value::Catchable(CatchableErrorKind::UnimplementedFeature("__curPos".into())), )); result |