Improve error description when deserializing partial field struct #13956
Improve error description when deserializing partial field struct #13956bors merged 2 commits intorust-lang:masterfrom
Conversation
tests/testsuite/config.rs
Outdated
| failed to parse config key `foo` | ||
|
|
||
| Caused by: | ||
| could not load config key `foo.bar` |
There was a problem hiding this comment.
There is no better way to deal with the problem of lost environment variables. Because we never pass CARGO_FOO_BAR. So the defination will be None here.
6fa3992 to
bc0a8cb
Compare
| fn is_missing_field(&self) -> bool { | ||
| self.error.to_string().contains("missing field") | ||
| } |
There was a problem hiding this comment.
Could we have serde tell us a field is missing so we don't have to be doing string matching?
There was a problem hiding this comment.
Good idea. By Implementing the missing_field and return the MissingField error which we defined
|
Looks awesome. Thanks! @bors r+ |
|
☀️ Test successful - checks-actions |
1 similar comment
|
☀️ Test successful - checks-actions |
|
👀 Test was successful, but fast-forwarding failed: 422 Changes must be made through a pull request. |
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
Update cargo 7 commits in 84dc5dc11a9007a08f27170454da6097265e510e..a8d72c675ee52dd57f0d8f2bae6655913c15b2fb 2024-05-20 18:57:08 +0000 to 2024-05-24 03:34:17 +0000 - Improve error description when deserializing partial field struct (rust-lang/cargo#13956) - fix: remove symlink dir on Windows (rust-lang/cargo#13910) - Fix wrong type of rustc-flags in documentation (rust-lang/cargo#13957) - Add more high level traces (rust-lang/cargo#13951) - upgrade gix from 0.62 to 0.63 (rust-lang/cargo#13948) - Use `i32` rather than `usize` as "default integer" in library template (rust-lang/cargo#13939) - fetch specific commits even if the github fast path fails (rust-lang/cargo#13946) r? ghost
What does this PR try to resolve?
Fixes #13688
How should we test and review this PR?
one commit add test, one commit fixed and update the test.
Additional information