diff options
-rw-r--r-- | tvix/eval/src/builtins/impure.rs | 13 | ||||
-rw-r--r-- | tvix/eval/src/errors.rs | 2 |
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() ) } |