about summary refs log tree commit diff
path: root/tvix/eval/src/builtins/mod.rs
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2022-09-14T13·35+0200
committersterni <sternenseemann@systemli.org>2022-09-15T15·52+0000
commitbcd7e520f076fb7a6b26805663fac2d70c677bc8 (patch)
tree69b249c5768b8f3d06b7a1b838e9b2f954568c90 /tvix/eval/src/builtins/mod.rs
parentb570da18d651df8a513a921fd4deb6474bb72d45 (diff)
fix(tvix/eval): thunk string interpolation r/4859
If we have multiple string parts, we need to thunk assembling the
string. If we have a single literal, it is strict (like all literals),
but a single interpolation part may compile to a thunk, depending on how
the expression inside is compiled – we can avoid forcing to early here
compared to the previous behavior.

Note that this CL retains the bug that `"${x}"` is erroneously
translated to `x`, implying e.g. `"${12}" == 12`.

The use of `parts.len()` is unproblematic, since normalized_parts()
builds a `Vec` instead of returning an iterator.

Change-Id: I3aecbfefef65cc627b1b8a65be27cbaeada3582b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6580
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/builtins/mod.rs')
0 files changed, 0 insertions, 0 deletions