about summary refs log tree commit diff
path: root/tvix/eval
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/eval')
-rw-r--r--tvix/eval/src/builtins/impure.rs13
-rw-r--r--tvix/eval/src/errors.rs2
2 files changed, 2 insertions, 13 deletions
diff --git a/tvix/eval/src/builtins/impure.rs b/tvix/eval/src/builtins/impure.rs
index d73e5ccfa8f2..348963e89313 100644
--- a/tvix/eval/src/builtins/impure.rs
+++ b/tvix/eval/src/builtins/impure.rs
@@ -52,18 +52,7 @@ pub fn builtins_import(
         "import",
         &[true],
         move |mut args: Vec<Value>, vm: &mut VM| {
-            let path = match args.pop().unwrap() {
-                Value::Path(path) => path,
-                Value::String(_) => {
-                    return Err(ErrorKind::NotImplemented("importing from string-paths"))
-                }
-                other => {
-                    return Err(ErrorKind::TypeError {
-                        expected: "path or string",
-                        actual: other.type_of(),
-                    })
-                }
-            };
+            let path = super::coerce_value_to_path(&args.pop().unwrap(), vm)?;
 
             let contents =
                 std::fs::read_to_string(&path).map_err(|err| ErrorKind::ReadFileError {
diff --git a/tvix/eval/src/errors.rs b/tvix/eval/src/errors.rs
index b37469617160..50b1e9e31c44 100644
--- a/tvix/eval/src/errors.rs
+++ b/tvix/eval/src/errors.rs
@@ -262,7 +262,7 @@ to a missing value in the attribute set(s) included via `with`."#,
 
             ErrorKind::NotAnAbsolutePath(given) => {
                 format!(
-                    "string {} doesn't represent an absolute path",
+                    "string '{}' does not represent an absolute path",
                     given.to_string_lossy()
                 )
             }