refactor(tvix/eval): let OpCoerceToString select the CoercionKind

Change-Id: I92d58ef216d7e0766af70f019b3dcd445284a95d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10344
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Adam Joseph 2023-12-12 20:47:31 -08:00 committed by tazjin
parent 0c22454bb9
commit 11e35a77a6
4 changed files with 13 additions and 15 deletions

View file

@ -34,6 +34,7 @@ use crate::spans::LightSpan;
use crate::spans::ToSpan;
use crate::value::{Closure, Formals, Lambda, NixAttrs, Thunk, Value};
use crate::warnings::{EvalWarning, WarningKind};
use crate::CoercionKind;
use crate::SourceCode;
use self::scope::{LocalIdx, LocalPosition, Scope, Upvalue, UpvalueKind};
@ -444,7 +445,13 @@ impl Compiler<'_> {
ast::InterpolPart::Interpolation(ipol) => {
self.compile(slot, ipol.expr().unwrap());
// implicitly forces as well
self.push_op(OpCode::OpCoerceToString, ipol);
self.push_op(
OpCode::OpCoerceToString(CoercionKind {
strong: false,
import_paths: true,
}),
ipol,
);
}
ast::InterpolPart::Literal(lit) => {