Skip to content

Commit 60132da

Browse files
Add a NotebookError type to avoid returning Diagnostics on error (#7035)
## Summary This PR refactors the error-handling cases around Jupyter notebooks to use errors rather than `Box<Diagnostics>`, which creates some oddities in the downstream handling. So, instead of formatting errors as diagnostics _eagerly_ (in the notebook methods), we now return errors and convert those errors to diagnostics at the last possible moment (in `diagnostics.rs`). This is more ergonomic, as errors can be composed and reported-on in different ways, whereas diagnostics require a `Printer`, etc. See, e.g., #7013 (comment). ## Test Plan Ran `cargo run` over a Python file labeled with a `.ipynb` suffix, and saw: ``` foo.ipynb:1:1: E999 SyntaxError: Expected a Jupyter Notebook, which must be internally stored as JSON, but found a Python source file: expected value at line 1 column 1 ```
1 parent 17a44c0 commit 60132da

File tree

5 files changed

+223
-334
lines changed

5 files changed

+223
-334
lines changed

0 commit comments

Comments
 (0)