refactor(tvix/eval): use EvalIO::read_to_string in impure builtins
With this change, the behaviour of reading a string from a file path is controlled by the provided `EvalIO` structure. This is a huge step towards abstracting away I/O behaviour correctly. Change-Id: Ifde8e46cd863b16e0301dca45a434ad27560399f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7567 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
parent
c3c4d752c9
commit
0ef3c2fc2b
3 changed files with 21 additions and 38 deletions
|
|
@ -109,12 +109,6 @@ pub enum ErrorKind {
|
|||
/// literal attribute sets.
|
||||
UnmergeableValue,
|
||||
|
||||
/// Tvix failed to read a file from disk for some reason.
|
||||
ReadFileError {
|
||||
path: PathBuf,
|
||||
error: Rc<std::io::Error>,
|
||||
},
|
||||
|
||||
/// Parse errors occured while importing a file.
|
||||
ImportParseError {
|
||||
path: PathBuf,
|
||||
|
|
@ -342,15 +336,6 @@ to a missing value in the attribute set(s) included via `with`."#,
|
|||
)
|
||||
}
|
||||
|
||||
ErrorKind::ReadFileError { path, error } => {
|
||||
write!(
|
||||
f,
|
||||
"failed to read file '{}': {}",
|
||||
path.to_string_lossy(),
|
||||
error
|
||||
)
|
||||
}
|
||||
|
||||
// Errors themselves ignored here & handled in Self::spans instead
|
||||
ErrorKind::ImportParseError { path, .. } => {
|
||||
write!(
|
||||
|
|
@ -676,7 +661,6 @@ impl Error {
|
|||
| ErrorKind::NegativeLength { .. }
|
||||
| ErrorKind::UnmergeableInherit { .. }
|
||||
| ErrorKind::UnmergeableValue
|
||||
| ErrorKind::ReadFileError { .. }
|
||||
| ErrorKind::ImportParseError { .. }
|
||||
| ErrorKind::ImportCompilerError { .. }
|
||||
| ErrorKind::IO { .. }
|
||||
|
|
@ -716,7 +700,6 @@ impl Error {
|
|||
ErrorKind::TailEmptyList { .. } => "E023",
|
||||
ErrorKind::UnmergeableInherit { .. } => "E024",
|
||||
ErrorKind::UnmergeableValue => "E025",
|
||||
ErrorKind::ReadFileError { .. } => "E026",
|
||||
ErrorKind::ImportParseError { .. } => "E027",
|
||||
ErrorKind::ImportCompilerError { .. } => "E028",
|
||||
ErrorKind::IO { .. } => "E029",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue