-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrap io::Error
in QASM2ParseError
on failed file read
#9958
Conversation
Previously, if Python thought the target file for `qasm2.load` existed, but Rust was unable to open it, the result `io:Error` would be propagated up to Python space verbatim, and these situations usually have confusing error messages. This could happen, for example, if the target was a directory on Windows.
Thank you for opening a new pull request. Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone. One or more of the the following people are requested to review this:
|
Pull Request Test Coverage Report for Build 4688938813
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM, but just one super minor question inline. I don't really care, so feel free to enqueue for merging if it doesn't bother you.
lex::TokenStream::from_path(path, strict)?, | ||
lex::TokenStream::from_path(&path, strict).map_err(|err| { | ||
let exc = QASM2ParseError::new_err(format!( | ||
"failed to read a token stream from file '{}'", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super minor nitpick, you don't want to start this with a capital f?
"failed to read a token stream from file '{}'", | |
"Failed to read a token stream from file '{}'", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's actually what I originally typed, but it turns out that I started all my other error messages with lower-case letters, which matches Python's built-in style.
Previously, if Python thought the target file for `qasm2.load` existed, but Rust was unable to open it, the result `io:Error` would be propagated up to Python space verbatim, and these situations usually have confusing error messages. This could happen, for example, if the target was a directory on Windows.
Previously, if Python thought the target file for `qasm2.load` existed, but Rust was unable to open it, the result `io:Error` would be propagated up to Python space verbatim, and these situations usually have confusing error messages. This could happen, for example, if the target was a directory on Windows.
Summary
Previously, if Python thought the target file for
qasm2.load
existed, but Rust was unable to open it, the resultio:Error
would be propagated up to Python space verbatim, and these situations usually have confusing error messages. This could happen, for example, if the target was a directory on Windows.Details and comments
Detected while doing #9955 preparing for 0.25. This PR is a bugfix for #9784, though, so wants to be in 0.24.