diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/thiserror | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/thiserror')
85 files changed, 0 insertions, 2907 deletions
diff --git a/vendor/thiserror/.cargo-checksum.json b/vendor/thiserror/.cargo-checksum.json deleted file mode 100644 index cee7027..0000000 --- a/vendor/thiserror/.cargo-checksum.json +++ /dev/null @@ -1 +0,0 @@ -{"files":{"Cargo.toml":"d78abe9a046d804b1c51260cefe516c36dfbb9994edfe47175bbd838cd46f68f","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"106c5a937767d49503e1fc5eae1b924f57f15decd8583720a3c652483e348a64","build.rs":"532f6ac494cdddfad3267067a46969a8052b02c1bd94567361f7103ab0dc8c28","build/probe.rs":"3245569a228727091f335db44c7c2f729729b2dfac9f46c1143eb179439f223d","rust-toolchain.toml":"6bbb61302978c736b2da03e4fb40e3beab908f85d533ab46fd541e637b5f3e0f","src/aserror.rs":"cf3c98abb2b9e06afa3c4aba0df14938417c3e330315863437561cbb3573888b","src/display.rs":"0adeeeb524c6bee06de179d54e82a43dc12d2c5b7f69f6fd268ba4611ebf5233","src/lib.rs":"074676e9bbe9402ebe3f41dedcaa289774e47e075d10e2f523d2dcbd8f648f79","src/provide.rs":"8007e22953bacfcc57bb7d12a03fbeb0acece5d2ec889cf55522a4e071d26df3","tests/compiletest.rs":"022a8e400ef813d7ea1875b944549cee5125f6a995dc33e93b48cba3e1b57bd1","tests/test_backtrace.rs":"a8f038490fb881463c0e8c36557617c47cf2d181f16c00525d4d139c7964fade","tests/test_deprecated.rs":"7b80a10f090a3982da017556d3d71398abcead59afd8278c7b9d9b1f7b66c7b3","tests/test_display.rs":"28e0f938fe0f6354529c35722eff04830451e27718145c27522c9acf7f8a6639","tests/test_error.rs":"d06dca3c38f22d7ce4e27dadd6c0f78e5cefe3a2ebbc5fe44abc9ddd5ee1985f","tests/test_expr.rs":"d35b11040ebc547467f52571051854e3e094d52b8e229fa3d44700d5f40959a2","tests/test_from.rs":"36bd22be7b048cd187a19076aeac1456040f20a0b677b01c6003998b63439ea1","tests/test_generics.rs":"adc61f0d5fe8d53796848d44fb0373be5eab19a1eeb6a7172bc6f0dd7b91199c","tests/test_lints.rs":"c17d79d77edfcdd4b8f6dcdcd1c70ad065cfbc747e1a618ac6343315d0b59ea4","tests/test_option.rs":"ac30d929c019d6c54d1c1792b09e43c18dc0e4123b82051ff9e5db5e63c15e43","tests/test_path.rs":"ef5452c7e828a0179f5ace7e19f95b9762aa887caf10244adbfe36ded712c090","tests/test_source.rs":"f2f04f11bf8a709eddb1c68f113cda0c2be87e56800d6b9d991bedd545b4642f","tests/test_transparent.rs":"cd8d5be14d00d610a1782104bea6c013618501dab5c3625178ecfcf66e31f939","tests/ui/bad-field-attr.rs":"c5b567e3091969a01061843fb2d95c5e1aa3fa81edfeecdf416a84a6fba40aa8","tests/ui/bad-field-attr.stderr":"78f576d5ec66464a77f1cdf0f5bb7dcdf18f7f04f1165983a6239ec59d908ea3","tests/ui/concat-display.rs":"3995bd6b3bdd67df7bb16499775d89600c0dd20895633fe807396a64c117078d","tests/ui/concat-display.stderr":"256dfde61ee689ebe51588b135e2e030bdf95ba5adef1cb59f588c797bbdeef2","tests/ui/duplicate-enum-source.rs":"bfe28ce18042d446a76c7411aa233598211ce1157fdd3cb87bff3b3fa7c33131","tests/ui/duplicate-enum-source.stderr":"3d32fead420b27b4497be49080bc3b78f7f0ba339ead3de6c94e5dc20302c18f","tests/ui/duplicate-fmt.rs":"af53b66445bcce076a114376747f176b42c060a156563a41ccb638ae14c451fd","tests/ui/duplicate-fmt.stderr":"998bb121ce6f1595fd99529a7a1b06451b6bf476924337dce5524a83a7a5f1a1","tests/ui/duplicate-struct-source.rs":"f3d5f8e3d6fccfcdbb630db291353709583a920c6bf46f9f9de9966b67ea4c0f","tests/ui/duplicate-struct-source.stderr":"fb761d76668ac42357cf37b03c0abdbae5de0a828034990850291c9cb6ab766d","tests/ui/duplicate-transparent.rs":"41a9447e85f1a47027023442acde55c3d8610ec46d91b39bd43a42d7a004d747","tests/ui/duplicate-transparent.stderr":"4975abad43e973df158f18098d9bcb9dc39f8e75d3e733ed5d6620d1ee065c11","tests/ui/fallback-impl-with-display.rs":"141a8efbabe3fdac584bec8a61e6cceb58a34a70b825f6277037bf9d591150eb","tests/ui/fallback-impl-with-display.stderr":"1b3dad712b97598fbee70125471de1a8106eb161d42ce1f790ae07be8c8984ba","tests/ui/from-backtrace-backtrace.rs":"0caac64486c0eb9c076553c0502d468fbc477602a9a2595165a1dcd95524e5ff","tests/ui/from-backtrace-backtrace.stderr":"e24156ae0828878f3282341732b6e032eaa8cb4b4db366a6b5437ed0731d40a7","tests/ui/from-not-source.rs":"744a55aeffe11066830159ac023c33aaa5576e313b341fa24440ee13dfe3ac98","tests/ui/from-not-source.stderr":"525038e8b841707b927434cca4549168f73bd305faca17552a0d1fffa542ccc4","tests/ui/invalid-input-impl-anyway.rs":"6de91f71ddf038dffa3b9da33763a2ec3a5aa0047528e19ba998d5efe3aada5b","tests/ui/invalid-input-impl-anyway.stderr":"fa2725053cd87fc37f87546b377e6e5eed95c45e2a960863303b21a1935fdddb","tests/ui/lifetime.rs":"e72e0391695e47fcd07edbf3819f114e468e2097086ec687781c7c8d6b4b7da7","tests/ui/lifetime.stderr":"d889a23f71324afe95dafc5f9d15337fbdbc9977cb8924f0cafe3a3becf4ced7","tests/ui/missing-display.rs":"c1fd1bc0ec0fb103d7f7b128837f717d49485662839899d570b3c983f1332888","tests/ui/missing-display.stderr":"a8de0f1559da9320ee99ef334937d532d9e9f40a32ed7f8ce56fb465628bff96","tests/ui/missing-fmt.rs":"bc9e2830e54c2474ff6c27a766ed3dee88d29e40f93f30e8d64d63233866c17d","tests/ui/missing-fmt.stderr":"9a20ccee9b660fe31a5b3199307b48580bb8305cb9ce33d97d3fc767a0cfc614","tests/ui/no-display.rs":"962245372272d23e9833311c15e73221b3c7da822a2ff90189613af56ffb5c2e","tests/ui/no-display.stderr":"9e2161baf5f66ab22370322f2e66e7633bf04b1ec07ef656e904b984bcc45d09","tests/ui/source-enum-not-error.rs":"3add5e7b4503d964bcae0848904822e1473c1d08c5a146c2df5347314ce1b8df","tests/ui/source-enum-not-error.stderr":"c093580558a259489eef92728d19aeca3b6c27ec17c39a02a75f0a924b095675","tests/ui/source-enum-unnamed-field-not-error.rs":"a98989e908b84a8e6e6dceef02af7bdd1098a444d229950f67ed4f54d55c62e7","tests/ui/source-enum-unnamed-field-not-error.stderr":"45b520f44e6fd10792d7f48e8ca7bc89850aa039278cba7c9f6ea11aa6378494","tests/ui/source-struct-not-error.rs":"09fb7713637242dca9192585a6daeb8d732dc1c1d0fa522b74f1c98618e6d949","tests/ui/source-struct-not-error.stderr":"66fb5fa85d59f11d8b5f7ec99469a843c51943b0010e554bdf56376a0614a2ca","tests/ui/source-struct-unnamed-field-not-error.rs":"eee605a9aafbb093666393e25cef4f7d7b8e90d518b9fadbdbed9685c66ccfcd","tests/ui/source-struct-unnamed-field-not-error.stderr":"38e4bd380ff1637c179b277ea1beb0a1ce688d191e5a9502ee69ab752e9ba70f","tests/ui/transparent-display.rs":"b3c59583eb64b0b5a246444456d03cf52d51bcdc08885023600dbb44fd87e5f2","tests/ui/transparent-display.stderr":"16d538914e0d92026bde4b4bec75660217da9ecc6b621d12d2eb81d33ed1d1da","tests/ui/transparent-enum-many.rs":"2a40a764fb4683bff57973eec61507a6c00f7d4d7a32da6e7bd0190c2e445434","tests/ui/transparent-enum-many.stderr":"f1d78c1d6d8edbef153420db4fb9ca3dc6076fa043b5b1bc0cd291daa417a3ea","tests/ui/transparent-enum-not-error.rs":"f6315993e68bc71d6d4d39afa4d059695308ef785f92cc0d1df3e9ff55be2a9a","tests/ui/transparent-enum-not-error.stderr":"e485c39f861ab66a6a41f0a423b1b13ba277968210284148883b350b5d629ccc","tests/ui/transparent-enum-source.rs":"18f606a98ac0a53f08dc56f5f923b9cbe75d25ed34479c777b48dac305d5968c","tests/ui/transparent-enum-source.stderr":"1b2e0ac53951034575d43ec0396c4e2b3cfb272db2aef8d6baa13a7e1632cc84","tests/ui/transparent-enum-unnamed-field-not-error.rs":"0c720567e9e0f87921055dfa9f607661725377633445e01a4b5048c7a7a50a85","tests/ui/transparent-enum-unnamed-field-not-error.stderr":"6b8ba244eba94006039d10f35bdd7526136bcff4751b13313ab12283d5bdc24c","tests/ui/transparent-struct-many.rs":"72c6b6c1a44c203d3bc68989b2f1ec092531ef75b745432824c3776c290326f6","tests/ui/transparent-struct-many.stderr":"7bd0536dbb54a0ce7d4a8e66ca7624a1b132d8a1d1e4fecca642ec77494ac01c","tests/ui/transparent-struct-not-error.rs":"fd814d3141c9182b1267b558d9daef8dd6e8b6462e1ad42b197f3a1c0703dce2","tests/ui/transparent-struct-not-error.stderr":"bb8b856515b34711c046f195b4267d2bb21309c5d3ac0a39d6660c55dadafb41","tests/ui/transparent-struct-source.rs":"863fa691ed7d27e8767da58d9ee11fd40d6642274b36338ca1074c07964ea2b3","tests/ui/transparent-struct-source.stderr":"267dab65929e67d32347fb467a00b43af931f8205d727d7671938580217fc70e","tests/ui/transparent-struct-unnamed-field-not-error.rs":"fbff5874be44a5dcc347693d7929537256b187dfec467ed72c9968c095228d8d","tests/ui/transparent-struct-unnamed-field-not-error.stderr":"684d4ed4325f2e7fb95c84a6d231585b2be313990c41222fda66b99a84e7b884","tests/ui/unexpected-field-fmt.rs":"29fba7b4d81c642ec8e47cfe053aa515acf9080a86d65e685363a48993becfe3","tests/ui/unexpected-field-fmt.stderr":"20731c4a08af04bed3ff513903adadd690b6bc532b15604557e7f25575a8338f","tests/ui/unexpected-struct-source.rs":"c6cbe882d622635c216feb8290b1bd536ce0ec4feee16bc087667a21b3641d5c","tests/ui/unexpected-struct-source.stderr":"7c8227513478f6cc09e8a28be337c8a0e758a06ca5978d774c91bd43c4a54043","tests/ui/union.rs":"331adff27cebd8b95b03b6742cc8247331fda1f961e1590ed39c8d39f50cf1d8","tests/ui/union.stderr":"5f67ad29753d6fb14bc03aef7d4a1f660ee7796e469c037efbf8b13456934ad3"},"package":"d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"}
\ No newline at end of file diff --git a/vendor/thiserror/Cargo.toml b/vendor/thiserror/Cargo.toml deleted file mode 100644 index 7871761..0000000 --- a/vendor/thiserror/Cargo.toml +++ /dev/null @@ -1,48 +0,0 @@ -# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO -# -# When uploading crates to the registry Cargo will automatically -# "normalize" Cargo.toml files for maximal compatibility -# with all versions of Cargo and also rewrite `path` dependencies -# to registry (e.g., crates.io) dependencies. -# -# If you are reading this file be aware that the original Cargo.toml -# will likely look very different (and much more reasonable). -# See Cargo.toml.orig for the original contents. - -[package] -edition = "2021" -rust-version = "1.56" -name = "thiserror" -version = "1.0.56" -authors = ["David Tolnay <dtolnay@gmail.com>"] -description = "derive(Error)" -documentation = "https://docs.rs/thiserror" -readme = "README.md" -keywords = [ - "error", - "error-handling", - "derive", -] -categories = ["rust-patterns"] -license = "MIT OR Apache-2.0" -repository = "https://github.com/dtolnay/thiserror" - -[package.metadata.docs.rs] -rustdoc-args = ["--generate-link-to-definition"] -targets = ["x86_64-unknown-linux-gnu"] - -[dependencies.thiserror-impl] -version = "=1.0.56" - -[dev-dependencies.anyhow] -version = "1.0.73" - -[dev-dependencies.ref-cast] -version = "1.0.18" - -[dev-dependencies.rustversion] -version = "1.0.13" - -[dev-dependencies.trybuild] -version = "1.0.81" -features = ["diff"] diff --git a/vendor/thiserror/LICENSE-APACHE b/vendor/thiserror/LICENSE-APACHE deleted file mode 100644 index 1b5ec8b..0000000 --- a/vendor/thiserror/LICENSE-APACHE +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/vendor/thiserror/LICENSE-MIT b/vendor/thiserror/LICENSE-MIT deleted file mode 100644 index 31aa793..0000000 --- a/vendor/thiserror/LICENSE-MIT +++ /dev/null @@ -1,23 +0,0 @@ -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/vendor/thiserror/README.md b/vendor/thiserror/README.md deleted file mode 100644 index 9de063c..0000000 --- a/vendor/thiserror/README.md +++ /dev/null @@ -1,222 +0,0 @@ -derive(Error) -============= - -[<img alt="github" src="https://img.shields.io/badge/github-dtolnay/thiserror-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/dtolnay/thiserror) -[<img alt="crates.io" src="https://img.shields.io/crates/v/thiserror.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/thiserror) -[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-thiserror-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs" height="20">](https://docs.rs/thiserror) -[<img alt="build status" src="https://img.shields.io/github/actions/workflow/status/dtolnay/thiserror/ci.yml?branch=master&style=for-the-badge" height="20">](https://github.com/dtolnay/thiserror/actions?query=branch%3Amaster) - -This library provides a convenient derive macro for the standard library's -[`std::error::Error`] trait. - -[`std::error::Error`]: https://doc.rust-lang.org/std/error/trait.Error.html - -```toml -[dependencies] -thiserror = "1.0" -``` - -*Compiler support: requires rustc 1.56+* - -<br> - -## Example - -```rust -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum DataStoreError { - #[error("data store disconnected")] - Disconnect(#[from] io::Error), - #[error("the data for key `{0}` is not available")] - Redaction(String), - #[error("invalid header (expected {expected:?}, found {found:?})")] - InvalidHeader { - expected: String, - found: String, - }, - #[error("unknown data store error")] - Unknown, -} -``` - -<br> - -## Details - -- Thiserror deliberately does not appear in your public API. You get the same - thing as if you had written an implementation of `std::error::Error` by hand, - and switching from handwritten impls to thiserror or vice versa is not a - breaking change. - -- Errors may be enums, structs with named fields, tuple structs, or unit - structs. - -- A `Display` impl is generated for your error if you provide `#[error("...")]` - messages on the struct or each variant of your enum, as shown above in the - example. - - The messages support a shorthand for interpolating fields from the error. - - - `#[error("{var}")]` ⟶ `write!("{}", self.var)` - - `#[error("{0}")]` ⟶ `write!("{}", self.0)` - - `#[error("{var:?}")]` ⟶ `write!("{:?}", self.var)` - - `#[error("{0:?}")]` ⟶ `write!("{:?}", self.0)` - - These shorthands can be used together with any additional format args, which - may be arbitrary expressions. For example: - - ```rust - #[derive(Error, Debug)] - pub enum Error { - #[error("invalid rdo_lookahead_frames {0} (expected < {})", i32::MAX)] - InvalidLookahead(u32), - } - ``` - - If one of the additional expression arguments needs to refer to a field of the - struct or enum, then refer to named fields as `.var` and tuple fields as `.0`. - - ```rust - #[derive(Error, Debug)] - pub enum Error { - #[error("first letter must be lowercase but was {:?}", first_char(.0))] - WrongCase(String), - #[error("invalid index {idx}, expected at least {} and at most {}", .limits.lo, .limits.hi)] - OutOfBounds { idx: usize, limits: Limits }, - } - ``` - -- A `From` impl is generated for each variant containing a `#[from]` attribute. - - Note that the variant must not contain any other fields beyond the source - error and possibly a backtrace. A backtrace is captured from within the `From` - impl if there is a field for it. - - ```rust - #[derive(Error, Debug)] - pub enum MyError { - Io { - #[from] - source: io::Error, - backtrace: Backtrace, - }, - } - ``` - -- The Error trait's `source()` method is implemented to return whichever field - has a `#[source]` attribute or is named `source`, if any. This is for - identifying the underlying lower level error that caused your error. - - The `#[from]` attribute always implies that the same field is `#[source]`, so - you don't ever need to specify both attributes. - - Any error type that implements `std::error::Error` or dereferences to `dyn - std::error::Error` will work as a source. - - ```rust - #[derive(Error, Debug)] - pub struct MyError { - msg: String, - #[source] // optional if field name is `source` - source: anyhow::Error, - } - ``` - -- The Error trait's `provide()` method is implemented to provide whichever field - has a type named `Backtrace`, if any, as a `std::backtrace::Backtrace`. - - ```rust - use std::backtrace::Backtrace; - - #[derive(Error, Debug)] - pub struct MyError { - msg: String, - backtrace: Backtrace, // automatically detected - } - ``` - -- If a field is both a source (named `source`, or has `#[source]` or `#[from]` - attribute) *and* is marked `#[backtrace]`, then the Error trait's `provide()` - method is forwarded to the source's `provide` so that both layers of the error - share the same backtrace. - - ```rust - #[derive(Error, Debug)] - pub enum MyError { - Io { - #[backtrace] - source: io::Error, - }, - } - ``` - -- Errors may use `error(transparent)` to forward the source and Display methods - straight through to an underlying error without adding an additional message. - This would be appropriate for enums that need an "anything else" variant. - - ```rust - #[derive(Error, Debug)] - pub enum MyError { - ... - - #[error(transparent)] - Other(#[from] anyhow::Error), // source and Display delegate to anyhow::Error - } - ``` - - Another use case is hiding implementation details of an error representation - behind an opaque error type, so that the representation is able to evolve - without breaking the crate's public API. - - ```rust - // PublicError is public, but opaque and easy to keep compatible. - #[derive(Error, Debug)] - #[error(transparent)] - pub struct PublicError(#[from] ErrorRepr); - - impl PublicError { - // Accessors for anything we do want to expose publicly. - } - - // Private and free to change across minor version of the crate. - #[derive(Error, Debug)] - enum ErrorRepr { - ... - } - ``` - -- See also the [`anyhow`] library for a convenient single error type to use in - application code. - - [`anyhow`]: https://github.com/dtolnay/anyhow - -<br> - -## Comparison to anyhow - -Use thiserror if you care about designing your own dedicated error type(s) so -that the caller receives exactly the information that you choose in the event of -failure. This most often applies to library-like code. Use [Anyhow] if you don't -care what error type your functions return, you just want it to be easy. This is -common in application-like code. - -[Anyhow]: https://github.com/dtolnay/anyhow - -<br> - -#### License - -<sup> -Licensed under either of <a href="LICENSE-APACHE">Apache License, Version -2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option. -</sup> - -<br> - -<sub> -Unless you explicitly state otherwise, any contribution intentionally submitted -for inclusion in this crate by you, as defined in the Apache-2.0 license, shall -be dual licensed as above, without any additional terms or conditions. -</sub> diff --git a/vendor/thiserror/build.rs b/vendor/thiserror/build.rs deleted file mode 100644 index 0b995d8..0000000 --- a/vendor/thiserror/build.rs +++ /dev/null @@ -1,119 +0,0 @@ -use std::env; -use std::ffi::OsString; -use std::path::Path; -use std::process::{self, Command, Stdio}; - -fn main() { - println!("cargo:rerun-if-changed=build/probe.rs"); - - let error_generic_member_access; - let consider_rustc_bootstrap; - if compile_probe(false) { - // This is a nightly or dev compiler, so it supports unstable features - // regardless of RUSTC_BOOTSTRAP. No need to rerun build script if - // RUSTC_BOOTSTRAP is changed. - error_generic_member_access = true; - consider_rustc_bootstrap = false; - } else if let Some(rustc_bootstrap) = env::var_os("RUSTC_BOOTSTRAP") { - if compile_probe(true) { - // This is a stable or beta compiler for which the user has set - // RUSTC_BOOTSTRAP to turn on unstable features. Rerun build script - // if they change it. - error_generic_member_access = true; - consider_rustc_bootstrap = true; - } else if rustc_bootstrap == "1" { - // This compiler does not support the generic member access API in - // the form that thiserror expects. No need to pay attention to - // RUSTC_BOOTSTRAP. - error_generic_member_access = false; - consider_rustc_bootstrap = false; - } else { - // This is a stable or beta compiler for which RUSTC_BOOTSTRAP is - // set to restrict the use of unstable features by this crate. - error_generic_member_access = false; - consider_rustc_bootstrap = true; - } - } else { - // Without RUSTC_BOOTSTRAP, this compiler does not support the generic - // member access API in the form that thiserror expects, but try again - // if the user turns on unstable features. - error_generic_member_access = false; - consider_rustc_bootstrap = true; - } - - if error_generic_member_access { - println!("cargo:rustc-cfg=error_generic_member_access"); - } - - if consider_rustc_bootstrap { - println!("cargo:rerun-if-env-changed=RUSTC_BOOTSTRAP"); - } -} - -fn compile_probe(rustc_bootstrap: bool) -> bool { - if env::var_os("RUSTC_STAGE").is_some() { - // We are running inside rustc bootstrap. This is a highly non-standard - // environment with issues such as: - // - // https://github.com/rust-lang/cargo/issues/11138 - // https://github.com/rust-lang/rust/issues/114839 - // - // Let's just not use nightly features here. - return false; - } - - let rustc = cargo_env_var("RUSTC"); - let out_dir = cargo_env_var("OUT_DIR"); - let probefile = Path::new("build").join("probe.rs"); - - // Make sure to pick up Cargo rustc configuration. - let mut cmd = if let Some(wrapper) = env::var_os("RUSTC_WRAPPER") { - let mut cmd = Command::new(wrapper); - // The wrapper's first argument is supposed to be the path to rustc. - cmd.arg(rustc); - cmd - } else { - Command::new(rustc) - }; - - if !rustc_bootstrap { - cmd.env_remove("RUSTC_BOOTSTRAP"); - } - - cmd.stderr(Stdio::null()) - .arg("--edition=2018") - .arg("--crate-name=thiserror") - .arg("--crate-type=lib") - .arg("--emit=dep-info,metadata") - .arg("--out-dir") - .arg(out_dir) - .arg(probefile); - - if let Some(target) = env::var_os("TARGET") { - cmd.arg("--target").arg(target); - } - - // If Cargo wants to set RUSTFLAGS, use that. - if let Ok(rustflags) = env::var("CARGO_ENCODED_RUSTFLAGS") { - if !rustflags.is_empty() { - for arg in rustflags.split('\x1f') { - cmd.arg(arg); - } - } - } - - match cmd.status() { - Ok(status) => status.success(), - Err(_) => false, - } -} - -fn cargo_env_var(key: &str) -> OsString { - env::var_os(key).unwrap_or_else(|| { - eprintln!( - "Environment variable ${} is not set during execution of build script", - key, - ); - process::exit(1); - }) -} diff --git a/vendor/thiserror/build/probe.rs b/vendor/thiserror/build/probe.rs deleted file mode 100644 index 0dce6f5..0000000 --- a/vendor/thiserror/build/probe.rs +++ /dev/null @@ -1,32 +0,0 @@ -// This code exercises the surface area that we expect of the Error generic -// member access API. If the current toolchain is able to compile it, then -// thiserror is able to provide backtrace support. - -#![feature(error_generic_member_access)] - -use std::error::{Error, Request}; -use std::fmt::{self, Debug, Display}; - -struct MyError(Thing); -struct Thing; - -impl Debug for MyError { - fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { - unimplemented!() - } -} - -impl Display for MyError { - fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { - unimplemented!() - } -} - -impl Error for MyError { - fn provide<'a>(&'a self, request: &mut Request<'a>) { - request.provide_ref(&self.0); - } -} - -// Include in sccache cache key. -const _: Option<&str> = option_env!("RUSTC_BOOTSTRAP"); diff --git a/vendor/thiserror/rust-toolchain.toml b/vendor/thiserror/rust-toolchain.toml deleted file mode 100644 index 20fe888..0000000 --- a/vendor/thiserror/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -components = ["rust-src"] diff --git a/vendor/thiserror/src/aserror.rs b/vendor/thiserror/src/aserror.rs deleted file mode 100644 index 54fc6f1..0000000 --- a/vendor/thiserror/src/aserror.rs +++ /dev/null @@ -1,50 +0,0 @@ -use std::error::Error; -use std::panic::UnwindSafe; - -#[doc(hidden)] -pub trait AsDynError<'a>: Sealed { - fn as_dyn_error(&self) -> &(dyn Error + 'a); -} - -impl<'a, T: Error + 'a> AsDynError<'a> for T { - #[inline] - fn as_dyn_error(&self) -> &(dyn Error + 'a) { - self - } -} - -impl<'a> AsDynError<'a> for dyn Error + 'a { - #[inline] - fn as_dyn_error(&self) -> &(dyn Error + 'a) { - self - } -} - -impl<'a> AsDynError<'a> for dyn Error + Send + 'a { - #[inline] - fn as_dyn_error(&self) -> &(dyn Error + 'a) { - self - } -} - -impl<'a> AsDynError<'a> for dyn Error + Send + Sync + 'a { - #[inline] - fn as_dyn_error(&self) -> &(dyn Error + 'a) { - self - } -} - -impl<'a> AsDynError<'a> for dyn Error + Send + Sync + UnwindSafe + 'a { - #[inline] - fn as_dyn_error(&self) -> &(dyn Error + 'a) { - self - } -} - -#[doc(hidden)] -pub trait Sealed {} -impl<'a, T: Error + 'a> Sealed for T {} -impl<'a> Sealed for dyn Error + 'a {} -impl<'a> Sealed for dyn Error + Send + 'a {} -impl<'a> Sealed for dyn Error + Send + Sync + 'a {} -impl<'a> Sealed for dyn Error + Send + Sync + UnwindSafe + 'a {} diff --git a/vendor/thiserror/src/display.rs b/vendor/thiserror/src/display.rs deleted file mode 100644 index 27098f1..0000000 --- a/vendor/thiserror/src/display.rs +++ /dev/null @@ -1,40 +0,0 @@ -use std::fmt::Display; -use std::path::{self, Path, PathBuf}; - -#[doc(hidden)] -pub trait AsDisplay<'a> { - // TODO: convert to generic associated type. - // https://github.com/dtolnay/thiserror/pull/253 - type Target: Display; - - fn as_display(&'a self) -> Self::Target; -} - -impl<'a, T> AsDisplay<'a> for &T -where - T: Display + 'a, -{ - type Target = &'a T; - - fn as_display(&'a self) -> Self::Target { - *self - } -} - -impl<'a> AsDisplay<'a> for Path { - type Target = path::Display<'a>; - - #[inline] - fn as_display(&'a self) -> Self::Target { - self.display() - } -} - -impl<'a> AsDisplay<'a> for PathBuf { - type Target = path::Display<'a>; - - #[inline] - fn as_display(&'a self) -> Self::Target { - self.display() - } -} diff --git a/vendor/thiserror/src/lib.rs b/vendor/thiserror/src/lib.rs deleted file mode 100644 index 73e6e21..0000000 --- a/vendor/thiserror/src/lib.rs +++ /dev/null @@ -1,260 +0,0 @@ -//! [![github]](https://github.com/dtolnay/thiserror) [![crates-io]](https://crates.io/crates/thiserror) [![docs-rs]](https://docs.rs/thiserror) -//! -//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github -//! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust -//! [docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs -//! -//! <br> -//! -//! This library provides a convenient derive macro for the standard library's -//! [`std::error::Error`] trait. -//! -//! [`std::error::Error`]: https://doc.rust-lang.org/std/error/trait.Error.html -//! -//! <br> -//! -//! # Example -//! -//! ```rust -//! # use std::io; -//! use thiserror::Error; -//! -//! #[derive(Error, Debug)] -//! pub enum DataStoreError { -//! #[error("data store disconnected")] -//! Disconnect(#[from] io::Error), -//! #[error("the data for key `{0}` is not available")] -//! Redaction(String), -//! #[error("invalid header (expected {expected:?}, found {found:?})")] -//! InvalidHeader { -//! expected: String, -//! found: String, -//! }, -//! #[error("unknown data store error")] -//! Unknown, -//! } -//! ``` -//! -//! <br> -//! -//! # Details -//! -//! - Thiserror deliberately does not appear in your public API. You get the -//! same thing as if you had written an implementation of `std::error::Error` -//! by hand, and switching from handwritten impls to thiserror or vice versa -//! is not a breaking change. -//! -//! - Errors may be enums, structs with named fields, tuple structs, or unit -//! structs. -//! -//! - A `Display` impl is generated for your error if you provide -//! `#[error("...")]` messages on the struct or each variant of your enum, as -//! shown above in the example. -//! -//! The messages support a shorthand for interpolating fields from the error. -//! -//! - `#[error("{var}")]` ⟶ `write!("{}", self.var)` -//! - `#[error("{0}")]` ⟶ `write!("{}", self.0)` -//! - `#[error("{var:?}")]` ⟶ `write!("{:?}", self.var)` -//! - `#[error("{0:?}")]` ⟶ `write!("{:?}", self.0)` -//! -//! These shorthands can be used together with any additional format args, -//! which may be arbitrary expressions. For example: -//! -//! ```rust -//! # use std::i32; -//! # use thiserror::Error; -//! # -//! #[derive(Error, Debug)] -//! pub enum Error { -//! #[error("invalid rdo_lookahead_frames {0} (expected < {})", i32::MAX)] -//! InvalidLookahead(u32), -//! } -//! ``` -//! -//! If one of the additional expression arguments needs to refer to a field of -//! the struct or enum, then refer to named fields as `.var` and tuple fields -//! as `.0`. -//! -//! ```rust -//! # use thiserror::Error; -//! # -//! # fn first_char(s: &String) -> char { -//! # s.chars().next().unwrap() -//! # } -//! # -//! # #[derive(Debug)] -//! # struct Limits { -//! # lo: usize, -//! # hi: usize, -//! # } -//! # -//! #[derive(Error, Debug)] -//! pub enum Error { -//! #[error("first letter must be lowercase but was {:?}", first_char(.0))] -//! WrongCase(String), -//! #[error("invalid index {idx}, expected at least {} and at most {}", .limits.lo, .limits.hi)] -//! OutOfBounds { idx: usize, limits: Limits }, -//! } -//! ``` -//! -//! - A `From` impl is generated for each variant containing a `#[from]` -//! attribute. -//! -//! Note that the variant must not contain any other fields beyond the source -//! error and possibly a backtrace. A backtrace is captured from within the -//! `From` impl if there is a field for it. -//! -//! ```rust -//! # const IGNORE: &str = stringify! { -//! #[derive(Error, Debug)] -//! pub enum MyError { -//! Io { -//! #[from] -//! source: io::Error, -//! backtrace: Backtrace, -//! }, -//! } -//! # }; -//! ``` -//! -//! - The Error trait's `source()` method is implemented to return whichever -//! field has a `#[source]` attribute or is named `source`, if any. This is -//! for identifying the underlying lower level error that caused your error. -//! -//! The `#[from]` attribute always implies that the same field is `#[source]`, -//! so you don't ever need to specify both attributes. -//! -//! Any error type that implements `std::error::Error` or dereferences to `dyn -//! std::error::Error` will work as a source. -//! -//! ```rust -//! # use std::fmt::{self, Display}; -//! # use thiserror::Error; -//! # -//! #[derive(Error, Debug)] -//! pub struct MyError { -//! msg: String, -//! #[source] // optional if field name is `source` -//! source: anyhow::Error, -//! } -//! # -//! # impl Display for MyError { -//! # fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -//! # unimplemented!() -//! # } -//! # } -//! ``` -//! -//! - The Error trait's `provide()` method is implemented to provide whichever -//! field has a type named `Backtrace`, if any, as a -//! `std::backtrace::Backtrace`. -//! -//! ```rust -//! # const IGNORE: &str = stringify! { -//! use std::backtrace::Backtrace; -//! -//! #[derive(Error, Debug)] -//! pub struct MyError { -//! msg: String, -//! backtrace: Backtrace, // automatically detected -//! } -//! # }; -//! ``` -//! -//! - If a field is both a source (named `source`, or has `#[source]` or -//! `#[from]` attribute) *and* is marked `#[backtrace]`, then the Error -//! trait's `provide()` method is forwarded to the source's `provide` so that -//! both layers of the error share the same backtrace. -//! -//! ```rust -//! # const IGNORE: &str = stringify! { -//! #[derive(Error, Debug)] -//! pub enum MyError { -//! Io { -//! #[backtrace] -//! source: io::Error, -//! }, -//! } -//! # }; -//! ``` -//! -//! - Errors may use `error(transparent)` to forward the source and Display -//! methods straight through to an underlying error without adding an -//! additional message. This would be appropriate for enums that need an -//! "anything else" variant. -//! -//! ``` -//! # use thiserror::Error; -//! # -//! #[derive(Error, Debug)] -//! pub enum MyError { -//! # /* -//! ... -//! # */ -//! -//! #[error(transparent)] -//! Other(#[from] anyhow::Error), // source and Display delegate to anyhow::Error -//! } -//! ``` -//! -//! Another use case is hiding implementation details of an error -//! representation behind an opaque error type, so that the representation is -//! able to evolve without breaking the crate's public API. -//! -//! ``` -//! # use thiserror::Error; -//! # -//! // PublicError is public, but opaque and easy to keep compatible. -//! #[derive(Error, Debug)] -//! #[error(transparent)] -//! pub struct PublicError(#[from] ErrorRepr); -//! -//! impl PublicError { -//! // Accessors for anything we do want to expose publicly. -//! } -//! -//! // Private and free to change across minor version of the crate. -//! #[derive(Error, Debug)] -//! enum ErrorRepr { -//! # /* -//! ... -//! # */ -//! } -//! ``` -//! -//! - See also the [`anyhow`] library for a convenient single error type to use -//! in application code. -//! -//! [`anyhow`]: https://github.com/dtolnay/anyhow - -#![doc(html_root_url = "https://docs.rs/thiserror/1.0.56")] -#![allow( - clippy::module_name_repetitions, - clippy::needless_lifetimes, - clippy::return_self_not_must_use, - clippy::wildcard_imports -)] -#![cfg_attr(error_generic_member_access, feature(error_generic_member_access))] - -#[cfg(all(thiserror_nightly_testing, not(error_generic_member_access)))] -compile_error!("Build script probe failed to compile."); - -mod aserror; -mod display; -#[cfg(error_generic_member_access)] -mod provide; - -pub use thiserror_impl::*; - -// Not public API. -#[doc(hidden)] -pub mod __private { - #[doc(hidden)] - pub use crate::aserror::AsDynError; - #[doc(hidden)] - pub use crate::display::AsDisplay; - #[cfg(error_generic_member_access)] - #[doc(hidden)] - pub use crate::provide::ThiserrorProvide; -} diff --git a/vendor/thiserror/src/provide.rs b/vendor/thiserror/src/provide.rs deleted file mode 100644 index 7b4e922..0000000 --- a/vendor/thiserror/src/provide.rs +++ /dev/null @@ -1,20 +0,0 @@ -use std::error::{Error, Request}; - -#[doc(hidden)] -pub trait ThiserrorProvide: Sealed { - fn thiserror_provide<'a>(&'a self, request: &mut Request<'a>); -} - -impl<T> ThiserrorProvide for T -where - T: Error + ?Sized, -{ - #[inline] - fn thiserror_provide<'a>(&'a self, request: &mut Request<'a>) { - self.provide(request); - } -} - -#[doc(hidden)] -pub trait Sealed {} -impl<T: Error + ?Sized> Sealed for T {} diff --git a/vendor/thiserror/tests/compiletest.rs b/vendor/thiserror/tests/compiletest.rs deleted file mode 100644 index 7974a62..0000000 --- a/vendor/thiserror/tests/compiletest.rs +++ /dev/null @@ -1,7 +0,0 @@ -#[rustversion::attr(not(nightly), ignore)] -#[cfg_attr(miri, ignore)] -#[test] -fn ui() { - let t = trybuild::TestCases::new(); - t.compile_fail("tests/ui/*.rs"); -} diff --git a/vendor/thiserror/tests/test_backtrace.rs b/vendor/thiserror/tests/test_backtrace.rs deleted file mode 100644 index 4710d45..0000000 --- a/vendor/thiserror/tests/test_backtrace.rs +++ /dev/null @@ -1,274 +0,0 @@ -#![cfg_attr(thiserror_nightly_testing, feature(error_generic_member_access))] - -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("...")] -pub struct Inner; - -#[cfg(thiserror_nightly_testing)] -#[derive(Error, Debug)] -#[error("...")] -pub struct InnerBacktrace { - backtrace: std::backtrace::Backtrace, -} - -#[cfg(thiserror_nightly_testing)] -pub mod structs { - use super::{Inner, InnerBacktrace}; - use std::backtrace::Backtrace; - use std::error::{self, Error}; - use std::sync::Arc; - use thiserror::Error; - - #[derive(Error, Debug)] - #[error("...")] - pub struct PlainBacktrace { - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ExplicitBacktrace { - #[backtrace] - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptBacktrace { - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ArcBacktrace { - #[backtrace] - backtrace: Arc<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct BacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct CombinedBacktraceFrom { - #[from] - #[backtrace] - source: InnerBacktrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptBacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct ArcBacktraceFrom { - #[from] - source: Inner, - #[backtrace] - backtrace: Arc<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct AnyhowBacktrace { - #[backtrace] - source: anyhow::Error, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct BoxDynErrorBacktrace { - #[backtrace] - source: Box<dyn Error>, - } - - #[test] - fn test_backtrace() { - let error = PlainBacktrace { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ExplicitBacktrace { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktrace { - backtrace: Some(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktrace { - backtrace: Arc::new(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = CombinedBacktraceFrom::from(InnerBacktrace { - backtrace: Backtrace::capture(), - }); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = AnyhowBacktrace { - source: anyhow::Error::msg("..."), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BoxDynErrorBacktrace { - source: Box::new(PlainBacktrace { - backtrace: Backtrace::capture(), - }), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - } -} - -#[cfg(thiserror_nightly_testing)] -pub mod enums { - use super::{Inner, InnerBacktrace}; - use std::backtrace::Backtrace; - use std::error; - use std::sync::Arc; - use thiserror::Error; - - #[derive(Error, Debug)] - pub enum PlainBacktrace { - #[error("...")] - Test { backtrace: Backtrace }, - } - - #[derive(Error, Debug)] - pub enum ExplicitBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Backtrace, - }, - } - - #[derive(Error, Debug)] - pub enum OptBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum ArcBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Arc<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum BacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Backtrace, - }, - } - - #[derive(Error, Debug)] - pub enum CombinedBacktraceFrom { - #[error("...")] - Test { - #[from] - #[backtrace] - source: InnerBacktrace, - }, - } - - #[derive(Error, Debug)] - pub enum OptBacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum ArcBacktraceFrom { - #[error("...")] - Test { - #[from] - source: Inner, - #[backtrace] - backtrace: Arc<Backtrace>, - }, - } - - #[test] - fn test_backtrace() { - let error = PlainBacktrace::Test { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ExplicitBacktrace::Test { - backtrace: Backtrace::capture(), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktrace::Test { - backtrace: Some(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktrace::Test { - backtrace: Arc::new(Backtrace::capture()), - }; - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = BacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = CombinedBacktraceFrom::from(InnerBacktrace { - backtrace: Backtrace::capture(), - }); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = OptBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - - let error = ArcBacktraceFrom::from(Inner); - assert!(error::request_ref::<Backtrace>(&error).is_some()); - } -} - -#[test] -#[cfg_attr(not(thiserror_nightly_testing), ignore)] -fn test_backtrace() {} diff --git a/vendor/thiserror/tests/test_deprecated.rs b/vendor/thiserror/tests/test_deprecated.rs deleted file mode 100644 index 5524666..0000000 --- a/vendor/thiserror/tests/test_deprecated.rs +++ /dev/null @@ -1,10 +0,0 @@ -#![deny(deprecated, clippy::all, clippy::pedantic)] - -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[deprecated] - #[error("...")] - Deprecated, -} diff --git a/vendor/thiserror/tests/test_display.rs b/vendor/thiserror/tests/test_display.rs deleted file mode 100644 index 6f60388..0000000 --- a/vendor/thiserror/tests/test_display.rs +++ /dev/null @@ -1,303 +0,0 @@ -#![allow(clippy::uninlined_format_args)] - -use std::fmt::{self, Display}; -use thiserror::Error; - -fn assert<T: Display>(expected: &str, value: T) { - assert_eq!(expected, value.to_string()); -} - -#[test] -fn test_braced() { - #[derive(Error, Debug)] - #[error("braced error: {msg}")] - struct Error { - msg: String, - } - - let msg = "T".to_owned(); - assert("braced error: T", Error { msg }); -} - -#[test] -fn test_braced_unused() { - #[derive(Error, Debug)] - #[error("braced error")] - struct Error { - extra: usize, - } - - assert("braced error", Error { extra: 0 }); -} - -#[test] -fn test_tuple() { - #[derive(Error, Debug)] - #[error("tuple error: {0}")] - struct Error(usize); - - assert("tuple error: 0", Error(0)); -} - -#[test] -fn test_unit() { - #[derive(Error, Debug)] - #[error("unit error")] - struct Error; - - assert("unit error", Error); -} - -#[test] -fn test_enum() { - #[derive(Error, Debug)] - enum Error { - #[error("braced error: {id}")] - Braced { id: usize }, - #[error("tuple error: {0}")] - Tuple(usize), - #[error("unit error")] - Unit, - } - - assert("braced error: 0", Error::Braced { id: 0 }); - assert("tuple error: 0", Error::Tuple(0)); - assert("unit error", Error::Unit); -} - -#[test] -fn test_constants() { - #[derive(Error, Debug)] - #[error("{MSG}: {id:?} (code {CODE:?})")] - struct Error { - id: &'static str, - } - - const MSG: &str = "failed to do"; - const CODE: usize = 9; - - assert("failed to do: \"\" (code 9)", Error { id: "" }); -} - -#[test] -fn test_inherit() { - #[derive(Error, Debug)] - #[error("{0}")] - enum Error { - Some(&'static str), - #[error("other error")] - Other(&'static str), - } - - assert("some error", Error::Some("some error")); - assert("other error", Error::Other("...")); -} - -#[test] -fn test_brace_escape() { - #[derive(Error, Debug)] - #[error("fn main() {{}}")] - struct Error; - - assert("fn main() {}", Error); -} - -#[test] -fn test_expr() { - #[derive(Error, Debug)] - #[error("1 + 1 = {}", 1 + 1)] - struct Error; - assert("1 + 1 = 2", Error); -} - -#[test] -fn test_nested() { - #[derive(Error, Debug)] - #[error("!bool = {}", not(.0))] - struct Error(bool); - - #[allow(clippy::trivially_copy_pass_by_ref)] - fn not(bool: &bool) -> bool { - !*bool - } - - assert("!bool = false", Error(true)); -} - -#[test] -fn test_match() { - #[derive(Error, Debug)] - #[error("{}: {0}", match .1 { - Some(n) => format!("error occurred with {}", n), - None => "there was an empty error".to_owned(), - })] - struct Error(String, Option<usize>); - - assert( - "error occurred with 1: ...", - Error("...".to_owned(), Some(1)), - ); - assert( - "there was an empty error: ...", - Error("...".to_owned(), None), - ); -} - -#[test] -fn test_nested_display() { - // Same behavior as the one in `test_match`, but without String allocations. - #[derive(Error, Debug)] - #[error("{}", { - struct Msg<'a>(&'a String, &'a Option<usize>); - impl<'a> Display for Msg<'a> { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self.1 { - Some(n) => write!(formatter, "error occurred with {}", n), - None => write!(formatter, "there was an empty error"), - }?; - write!(formatter, ": {}", self.0) - } - } - Msg(.0, .1) - })] - struct Error(String, Option<usize>); - - assert( - "error occurred with 1: ...", - Error("...".to_owned(), Some(1)), - ); - assert( - "there was an empty error: ...", - Error("...".to_owned(), None), - ); -} - -#[test] -fn test_void() { - #[allow(clippy::empty_enum)] - #[derive(Error, Debug)] - #[error("...")] - pub enum Error {} - - let _: Error; -} - -#[test] -fn test_mixed() { - #[derive(Error, Debug)] - #[error("a={a} :: b={} :: c={c} :: d={d}", 1, c = 2, d = 3)] - struct Error { - a: usize, - d: usize, - } - - assert("a=0 :: b=1 :: c=2 :: d=3", Error { a: 0, d: 0 }); -} - -#[test] -fn test_ints() { - #[derive(Error, Debug)] - enum Error { - #[error("error {0}")] - Tuple(usize, usize), - #[error("error {0}", '?')] - Struct { v: usize }, - } - - assert("error 9", Error::Tuple(9, 0)); - assert("error ?", Error::Struct { v: 0 }); -} - -#[test] -fn test_trailing_comma() { - #[derive(Error, Debug)] - #[error( - "error {0}", - )] - #[rustfmt::skip] - struct Error(char); - - assert("error ?", Error('?')); -} - -#[test] -fn test_field() { - #[derive(Debug)] - struct Inner { - data: usize, - } - - #[derive(Error, Debug)] - #[error("{}", .0.data)] - struct Error(Inner); - - assert("0", Error(Inner { data: 0 })); -} - -#[test] -fn test_macro_rules() { - // Regression test for https://github.com/dtolnay/thiserror/issues/86 - - macro_rules! decl_error { - ($variant:ident($value:ident)) => { - #[derive(Debug, Error)] - pub enum Error0 { - #[error("{0:?}")] - $variant($value), - } - - #[derive(Debug, Error)] - #[error("{0:?}")] - pub enum Error1 { - $variant($value), - } - }; - } - - decl_error!(Repro(u8)); - - assert("0", Error0::Repro(0)); - assert("0", Error1::Repro(0)); -} - -#[test] -fn test_raw() { - #[derive(Error, Debug)] - #[error("braced raw error: {r#fn}")] - struct Error { - r#fn: &'static str, - } - - assert("braced raw error: T", Error { r#fn: "T" }); -} - -#[test] -fn test_raw_enum() { - #[derive(Error, Debug)] - enum Error { - #[error("braced raw error: {r#fn}")] - Braced { r#fn: &'static str }, - } - - assert("braced raw error: T", Error::Braced { r#fn: "T" }); -} - -#[test] -fn test_raw_conflict() { - #[derive(Error, Debug)] - enum Error { - #[error("braced raw error: {r#func}, {func}", func = "U")] - Braced { r#func: &'static str }, - } - - assert("braced raw error: T, U", Error::Braced { r#func: "T" }); -} - -#[test] -fn test_keyword() { - #[derive(Error, Debug)] - #[error("error: {type}", type = 1)] - struct Error; - - assert("error: 1", Error); -} diff --git a/vendor/thiserror/tests/test_error.rs b/vendor/thiserror/tests/test_error.rs deleted file mode 100644 index fab934d..0000000 --- a/vendor/thiserror/tests/test_error.rs +++ /dev/null @@ -1,56 +0,0 @@ -#![allow(dead_code)] - -use std::fmt::{self, Display}; -use std::io; -use thiserror::Error; - -macro_rules! unimplemented_display { - ($ty:ty) => { - impl Display for $ty { - fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { - unimplemented!() - } - } - }; -} - -#[derive(Error, Debug)] -struct BracedError { - msg: String, - pos: usize, -} - -#[derive(Error, Debug)] -struct TupleError(String, usize); - -#[derive(Error, Debug)] -struct UnitError; - -#[derive(Error, Debug)] -struct WithSource { - #[source] - cause: io::Error, -} - -#[derive(Error, Debug)] -struct WithAnyhow { - #[source] - cause: anyhow::Error, -} - -#[derive(Error, Debug)] -enum EnumError { - Braced { - #[source] - cause: io::Error, - }, - Tuple(#[source] io::Error), - Unit, -} - -unimplemented_display!(BracedError); -unimplemented_display!(TupleError); -unimplemented_display!(UnitError); -unimplemented_display!(WithSource); -unimplemented_display!(WithAnyhow); -unimplemented_display!(EnumError); diff --git a/vendor/thiserror/tests/test_expr.rs b/vendor/thiserror/tests/test_expr.rs deleted file mode 100644 index 028f34e..0000000 --- a/vendor/thiserror/tests/test_expr.rs +++ /dev/null @@ -1,88 +0,0 @@ -#![allow(clippy::iter_cloned_collect, clippy::uninlined_format_args)] - -use std::fmt::Display; -use thiserror::Error; - -// Some of the elaborate cases from the rcc codebase, which is a C compiler in -// Rust. https://github.com/jyn514/rcc/blob/0.8.0/src/data/error.rs -#[derive(Error, Debug)] -pub enum CompilerError { - #[error("cannot shift {} by {maximum} or more bits (got {current})", if *.is_left { "left" } else { "right" })] - TooManyShiftBits { - is_left: bool, - maximum: u64, - current: u64, - }, - - #[error("#error {}", (.0).iter().copied().collect::<Vec<_>>().join(" "))] - User(Vec<&'static str>), - - #[error("overflow while parsing {}integer literal", - if let Some(signed) = .is_signed { - if *signed { "signed "} else { "unsigned "} - } else { - "" - } - )] - IntegerOverflow { is_signed: Option<bool> }, - - #[error("overflow while parsing {}integer literal", match .is_signed { - Some(true) => "signed ", - Some(false) => "unsigned ", - None => "", - })] - IntegerOverflow2 { is_signed: Option<bool> }, -} - -// Examples drawn from Rustup. -#[derive(Error, Debug)] -pub enum RustupError { - #[error( - "toolchain '{name}' does not contain component {component}{}", - .suggestion - .as_ref() - .map_or_else(String::new, |s| format!("; did you mean '{}'?", s)), - )] - UnknownComponent { - name: String, - component: String, - suggestion: Option<String>, - }, -} - -fn assert<T: Display>(expected: &str, value: T) { - assert_eq!(expected, value.to_string()); -} - -#[test] -fn test_rcc() { - assert( - "cannot shift left by 32 or more bits (got 50)", - CompilerError::TooManyShiftBits { - is_left: true, - maximum: 32, - current: 50, - }, - ); - - assert("#error A B C", CompilerError::User(vec!["A", "B", "C"])); - - assert( - "overflow while parsing signed integer literal", - CompilerError::IntegerOverflow { - is_signed: Some(true), - }, - ); -} - -#[test] -fn test_rustup() { - assert( - "toolchain 'nightly' does not contain component clipy; did you mean 'clippy'?", - RustupError::UnknownComponent { - name: "nightly".to_owned(), - component: "clipy".to_owned(), - suggestion: Some("clippy".to_owned()), - }, - ); -} diff --git a/vendor/thiserror/tests/test_from.rs b/vendor/thiserror/tests/test_from.rs deleted file mode 100644 index 51af40b..0000000 --- a/vendor/thiserror/tests/test_from.rs +++ /dev/null @@ -1,64 +0,0 @@ -#![allow(clippy::extra_unused_type_parameters)] - -use std::io; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorStruct { - #[from] - source: io::Error, -} - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorStructOptional { - #[from] - source: Option<io::Error>, -} - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorTuple(#[from] io::Error); - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorTupleOptional(#[from] Option<io::Error>); - -#[derive(Error, Debug)] -#[error("...")] -pub enum ErrorEnum { - Test { - #[from] - source: io::Error, - }, -} - -#[derive(Error, Debug)] -#[error("...")] -pub enum ErrorEnumOptional { - Test { - #[from] - source: Option<io::Error>, - }, -} - -#[derive(Error, Debug)] -#[error("...")] -pub enum Many { - Any(#[from] anyhow::Error), - Io(#[from] io::Error), -} - -fn assert_impl<T: From<io::Error>>() {} - -#[test] -fn test_from() { - assert_impl::<ErrorStruct>(); - assert_impl::<ErrorStructOptional>(); - assert_impl::<ErrorTuple>(); - assert_impl::<ErrorTupleOptional>(); - assert_impl::<ErrorEnum>(); - assert_impl::<ErrorEnumOptional>(); - assert_impl::<Many>(); -} diff --git a/vendor/thiserror/tests/test_generics.rs b/vendor/thiserror/tests/test_generics.rs deleted file mode 100644 index c94d95e..0000000 --- a/vendor/thiserror/tests/test_generics.rs +++ /dev/null @@ -1,161 +0,0 @@ -#![allow(clippy::needless_late_init, clippy::uninlined_format_args)] - -use std::fmt::{self, Debug, Display}; -use thiserror::Error; - -pub struct NoFormat; - -#[derive(Debug)] -pub struct DebugOnly; - -pub struct DisplayOnly; - -impl Display for DisplayOnly { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str("display only") - } -} - -#[derive(Debug)] -pub struct DebugAndDisplay; - -impl Display for DebugAndDisplay { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str("debug and display") - } -} - -// Should expand to: -// -// impl<E> Display for EnumDebugField<E> -// where -// E: Debug; -// -// impl<E> Error for EnumDebugField<E> -// where -// Self: Debug + Display; -// -#[derive(Error, Debug)] -pub enum EnumDebugGeneric<E> { - #[error("{0:?}")] - FatalError(E), -} - -// Should expand to: -// -// impl<E> Display for EnumFromGeneric<E>; -// -// impl<E> Error for EnumFromGeneric<E> -// where -// EnumDebugGeneric<E>: Error + 'static, -// Self: Debug + Display; -// -#[derive(Error, Debug)] -pub enum EnumFromGeneric<E> { - #[error("enum from generic")] - Source(#[from] EnumDebugGeneric<E>), -} - -// Should expand to: -// -// impl<HasDisplay, HasDebug, HasNeither> Display -// for EnumCompound<HasDisplay, HasDebug, HasNeither> -// where -// HasDisplay: Display, -// HasDebug: Debug; -// -// impl<HasDisplay, HasDebug, HasNeither> Error -// for EnumCompound<HasDisplay, HasDebug, HasNeither> -// where -// Self: Debug + Display; -// -#[derive(Error)] -pub enum EnumCompound<HasDisplay, HasDebug, HasNeither> { - #[error("{0} {1:?}")] - DisplayDebug(HasDisplay, HasDebug), - #[error("{0}")] - Display(HasDisplay, HasNeither), - #[error("{1:?}")] - Debug(HasNeither, HasDebug), -} - -impl<HasDisplay, HasDebug, HasNeither> Debug for EnumCompound<HasDisplay, HasDebug, HasNeither> { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str("EnumCompound") - } -} - -#[test] -fn test_display_enum_compound() { - let mut instance: EnumCompound<DisplayOnly, DebugOnly, NoFormat>; - - instance = EnumCompound::DisplayDebug(DisplayOnly, DebugOnly); - assert_eq!(format!("{}", instance), "display only DebugOnly"); - - instance = EnumCompound::Display(DisplayOnly, NoFormat); - assert_eq!(format!("{}", instance), "display only"); - - instance = EnumCompound::Debug(NoFormat, DebugOnly); - assert_eq!(format!("{}", instance), "DebugOnly"); -} - -// Should expand to: -// -// impl<E> Display for EnumTransparentGeneric<E> -// where -// E: Display; -// -// impl<E> Error for EnumTransparentGeneric<E> -// where -// E: Error, -// Self: Debug + Display; -// -#[derive(Error, Debug)] -pub enum EnumTransparentGeneric<E> { - #[error(transparent)] - Other(E), -} - -// Should expand to: -// -// impl<E> Display for StructDebugGeneric<E> -// where -// E: Debug; -// -// impl<E> Error for StructDebugGeneric<E> -// where -// Self: Debug + Display; -// -#[derive(Error, Debug)] -#[error("{underlying:?}")] -pub struct StructDebugGeneric<E> { - pub underlying: E, -} - -// Should expand to: -// -// impl<E> Error for StructFromGeneric<E> -// where -// StructDebugGeneric<E>: Error + 'static, -// Self: Debug + Display; -// -#[derive(Error, Debug)] -pub struct StructFromGeneric<E> { - #[from] - pub source: StructDebugGeneric<E>, -} - -// Should expand to: -// -// impl<E> Display for StructTransparentGeneric<E> -// where -// E: Display; -// -// impl<E> Error for StructTransparentGeneric<E> -// where -// E: Error, -// Self: Debug + Display; -// -#[derive(Error, Debug)] -#[error(transparent)] -pub struct StructTransparentGeneric<E>(E); diff --git a/vendor/thiserror/tests/test_lints.rs b/vendor/thiserror/tests/test_lints.rs deleted file mode 100644 index 59699a4..0000000 --- a/vendor/thiserror/tests/test_lints.rs +++ /dev/null @@ -1,18 +0,0 @@ -use thiserror::Error; - -pub use std::error::Error; - -#[test] -fn test_unused_qualifications() { - #![deny(unused_qualifications)] - - // Expansion of derive(Error) macro can't know whether something like - // std::error::Error is already imported in the caller's scope so it must - // suppress unused_qualifications. - - #[derive(Debug, Error)] - #[error("...")] - pub struct MyError; - - let _: MyError; -} diff --git a/vendor/thiserror/tests/test_option.rs b/vendor/thiserror/tests/test_option.rs deleted file mode 100644 index 232e5a3..0000000 --- a/vendor/thiserror/tests/test_option.rs +++ /dev/null @@ -1,105 +0,0 @@ -#![cfg_attr(thiserror_nightly_testing, feature(error_generic_member_access))] - -#[cfg(thiserror_nightly_testing)] -pub mod structs { - use std::backtrace::Backtrace; - use thiserror::Error; - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptSourceNoBacktrace { - #[source] - source: Option<anyhow::Error>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptSourceAlwaysBacktrace { - #[source] - source: Option<anyhow::Error>, - backtrace: Backtrace, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct NoSourceOptBacktrace { - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct AlwaysSourceOptBacktrace { - source: anyhow::Error, - #[backtrace] - backtrace: Option<Backtrace>, - } - - #[derive(Error, Debug)] - #[error("...")] - pub struct OptSourceOptBacktrace { - #[source] - source: Option<anyhow::Error>, - #[backtrace] - backtrace: Option<Backtrace>, - } -} - -#[cfg(thiserror_nightly_testing)] -pub mod enums { - use std::backtrace::Backtrace; - use thiserror::Error; - - #[derive(Error, Debug)] - pub enum OptSourceNoBacktrace { - #[error("...")] - Test { - #[source] - source: Option<anyhow::Error>, - }, - } - - #[derive(Error, Debug)] - pub enum OptSourceAlwaysBacktrace { - #[error("...")] - Test { - #[source] - source: Option<anyhow::Error>, - backtrace: Backtrace, - }, - } - - #[derive(Error, Debug)] - pub enum NoSourceOptBacktrace { - #[error("...")] - Test { - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum AlwaysSourceOptBacktrace { - #[error("...")] - Test { - source: anyhow::Error, - #[backtrace] - backtrace: Option<Backtrace>, - }, - } - - #[derive(Error, Debug)] - pub enum OptSourceOptBacktrace { - #[error("...")] - Test { - #[source] - source: Option<anyhow::Error>, - #[backtrace] - backtrace: Option<Backtrace>, - }, - } -} - -#[test] -#[cfg_attr(not(thiserror_nightly_testing), ignore)] -fn test_option() {} diff --git a/vendor/thiserror/tests/test_path.rs b/vendor/thiserror/tests/test_path.rs deleted file mode 100644 index a34a3d7..0000000 --- a/vendor/thiserror/tests/test_path.rs +++ /dev/null @@ -1,37 +0,0 @@ -use ref_cast::RefCast; -use std::fmt::Display; -use std::path::{Path, PathBuf}; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("failed to read '{file}'")] -struct StructPathBuf { - file: PathBuf, -} - -#[derive(Error, Debug, RefCast)] -#[repr(C)] -#[error("failed to read '{file}'")] -struct StructPath { - file: Path, -} - -#[derive(Error, Debug)] -enum EnumPathBuf { - #[error("failed to read '{0}'")] - Read(PathBuf), -} - -fn assert<T: Display>(expected: &str, value: T) { - assert_eq!(expected, value.to_string()); -} - -#[test] -fn test_display() { - let path = Path::new("/thiserror"); - let file = path.to_owned(); - assert("failed to read '/thiserror'", StructPathBuf { file }); - let file = path.to_owned(); - assert("failed to read '/thiserror'", EnumPathBuf::Read(file)); - assert("failed to read '/thiserror'", StructPath::ref_cast(path)); -} diff --git a/vendor/thiserror/tests/test_source.rs b/vendor/thiserror/tests/test_source.rs deleted file mode 100644 index 637f4ac..0000000 --- a/vendor/thiserror/tests/test_source.rs +++ /dev/null @@ -1,65 +0,0 @@ -use std::error::Error as StdError; -use std::io; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("implicit source")] -pub struct ImplicitSource { - source: io::Error, -} - -#[derive(Error, Debug)] -#[error("explicit source")] -pub struct ExplicitSource { - source: String, - #[source] - io: io::Error, -} - -#[derive(Error, Debug)] -#[error("boxed source")] -pub struct BoxedSource { - #[source] - source: Box<dyn StdError + Send + 'static>, -} - -#[test] -fn test_implicit_source() { - let io = io::Error::new(io::ErrorKind::Other, "oh no!"); - let error = ImplicitSource { source: io }; - error.source().unwrap().downcast_ref::<io::Error>().unwrap(); -} - -#[test] -fn test_explicit_source() { - let io = io::Error::new(io::ErrorKind::Other, "oh no!"); - let error = ExplicitSource { - source: String::new(), - io, - }; - error.source().unwrap().downcast_ref::<io::Error>().unwrap(); -} - -#[test] -fn test_boxed_source() { - let source = Box::new(io::Error::new(io::ErrorKind::Other, "oh no!")); - let error = BoxedSource { source }; - error.source().unwrap().downcast_ref::<io::Error>().unwrap(); -} - -macro_rules! error_from_macro { - ($($variants:tt)*) => { - #[derive(Error)] - #[derive(Debug)] - pub enum MacroSource { - $($variants)* - } - } -} - -// Test that we generate impls with the proper hygiene -#[rustfmt::skip] -error_from_macro! { - #[error("Something")] - Variant(#[from] io::Error) -} diff --git a/vendor/thiserror/tests/test_transparent.rs b/vendor/thiserror/tests/test_transparent.rs deleted file mode 100644 index 6f3c03e..0000000 --- a/vendor/thiserror/tests/test_transparent.rs +++ /dev/null @@ -1,78 +0,0 @@ -use anyhow::anyhow; -use std::error::Error as _; -use std::io; -use thiserror::Error; - -#[test] -fn test_transparent_struct() { - #[derive(Error, Debug)] - #[error(transparent)] - struct Error(ErrorKind); - - #[derive(Error, Debug)] - enum ErrorKind { - #[error("E0")] - E0, - #[error("E1")] - E1(#[from] io::Error), - } - - let error = Error(ErrorKind::E0); - assert_eq!("E0", error.to_string()); - assert!(error.source().is_none()); - - let io = io::Error::new(io::ErrorKind::Other, "oh no!"); - let error = Error(ErrorKind::from(io)); - assert_eq!("E1", error.to_string()); - error.source().unwrap().downcast_ref::<io::Error>().unwrap(); -} - -#[test] -fn test_transparent_enum() { - #[derive(Error, Debug)] - enum Error { - #[error("this failed")] - This, - #[error(transparent)] - Other(anyhow::Error), - } - - let error = Error::This; - assert_eq!("this failed", error.to_string()); - - let error = Error::Other(anyhow!("inner").context("outer")); - assert_eq!("outer", error.to_string()); - assert_eq!("inner", error.source().unwrap().to_string()); -} - -#[test] -fn test_anyhow() { - #[derive(Error, Debug)] - #[error(transparent)] - struct Any(#[from] anyhow::Error); - - let error = Any::from(anyhow!("inner").context("outer")); - assert_eq!("outer", error.to_string()); - assert_eq!("inner", error.source().unwrap().to_string()); -} - -#[test] -fn test_non_static() { - #[derive(Error, Debug)] - #[error(transparent)] - struct Error<'a> { - inner: ErrorKind<'a>, - } - - #[derive(Error, Debug)] - enum ErrorKind<'a> { - #[error("unexpected token: {:?}", token)] - Unexpected { token: &'a str }, - } - - let error = Error { - inner: ErrorKind::Unexpected { token: "error" }, - }; - assert_eq!("unexpected token: \"error\"", error.to_string()); - assert!(error.source().is_none()); -} diff --git a/vendor/thiserror/tests/ui/bad-field-attr.rs b/vendor/thiserror/tests/ui/bad-field-attr.rs deleted file mode 100644 index d5429b2..0000000 --- a/vendor/thiserror/tests/ui/bad-field-attr.rs +++ /dev/null @@ -1,7 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -pub struct Error(#[error(transparent)] std::io::Error); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/bad-field-attr.stderr b/vendor/thiserror/tests/ui/bad-field-attr.stderr deleted file mode 100644 index 5fb5744..0000000 --- a/vendor/thiserror/tests/ui/bad-field-attr.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: #[error(transparent)] needs to go outside the enum or struct, not on an individual field - --> tests/ui/bad-field-attr.rs:5:18 - | -5 | pub struct Error(#[error(transparent)] std::io::Error); - | ^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/concat-display.rs b/vendor/thiserror/tests/ui/concat-display.rs deleted file mode 100644 index 8b53cc0..0000000 --- a/vendor/thiserror/tests/ui/concat-display.rs +++ /dev/null @@ -1,15 +0,0 @@ -use thiserror::Error; - -macro_rules! error_type { - ($name:ident, $what:expr) => { - // Use #[error("invalid {}", $what)] instead. - - #[derive(Error, Debug)] - #[error(concat!("invalid ", $what))] - pub struct $name; - }; -} - -error_type!(Error, "foo"); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/concat-display.stderr b/vendor/thiserror/tests/ui/concat-display.stderr deleted file mode 100644 index dbecd69..0000000 --- a/vendor/thiserror/tests/ui/concat-display.stderr +++ /dev/null @@ -1,10 +0,0 @@ -error: expected string literal - --> tests/ui/concat-display.rs:8:17 - | -8 | #[error(concat!("invalid ", $what))] - | ^^^^^^ -... -13 | error_type!(Error, "foo"); - | ------------------------- in this macro invocation - | - = note: this error originates in the macro `error_type` (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/vendor/thiserror/tests/ui/duplicate-enum-source.rs b/vendor/thiserror/tests/ui/duplicate-enum-source.rs deleted file mode 100644 index 15e579f..0000000 --- a/vendor/thiserror/tests/ui/duplicate-enum-source.rs +++ /dev/null @@ -1,13 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum ErrorEnum { - Confusing { - #[source] - a: std::io::Error, - #[source] - b: anyhow::Error, - }, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/duplicate-enum-source.stderr b/vendor/thiserror/tests/ui/duplicate-enum-source.stderr deleted file mode 100644 index 4a4b2d3..0000000 --- a/vendor/thiserror/tests/ui/duplicate-enum-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: duplicate #[source] attribute - --> tests/ui/duplicate-enum-source.rs:8:9 - | -8 | #[source] - | ^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/duplicate-fmt.rs b/vendor/thiserror/tests/ui/duplicate-fmt.rs deleted file mode 100644 index cb3d678..0000000 --- a/vendor/thiserror/tests/ui/duplicate-fmt.rs +++ /dev/null @@ -1,8 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("...")] -#[error("...")] -pub struct Error; - -fn main() {} diff --git a/vendor/thiserror/tests/ui/duplicate-fmt.stderr b/vendor/thiserror/tests/ui/duplicate-fmt.stderr deleted file mode 100644 index 532b16b..0000000 --- a/vendor/thiserror/tests/ui/duplicate-fmt.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: only one #[error(...)] attribute is allowed - --> tests/ui/duplicate-fmt.rs:5:1 - | -5 | #[error("...")] - | ^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/duplicate-struct-source.rs b/vendor/thiserror/tests/ui/duplicate-struct-source.rs deleted file mode 100644 index 569df8d..0000000 --- a/vendor/thiserror/tests/ui/duplicate-struct-source.rs +++ /dev/null @@ -1,11 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub struct ErrorStruct { - #[source] - a: std::io::Error, - #[source] - b: anyhow::Error, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/duplicate-struct-source.stderr b/vendor/thiserror/tests/ui/duplicate-struct-source.stderr deleted file mode 100644 index c8de574..0000000 --- a/vendor/thiserror/tests/ui/duplicate-struct-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: duplicate #[source] attribute - --> tests/ui/duplicate-struct-source.rs:7:5 - | -7 | #[source] - | ^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/duplicate-transparent.rs b/vendor/thiserror/tests/ui/duplicate-transparent.rs deleted file mode 100644 index 49c0e46..0000000 --- a/vendor/thiserror/tests/ui/duplicate-transparent.rs +++ /dev/null @@ -1,8 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -#[error(transparent)] -pub struct Error(anyhow::Error); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/duplicate-transparent.stderr b/vendor/thiserror/tests/ui/duplicate-transparent.stderr deleted file mode 100644 index a830879..0000000 --- a/vendor/thiserror/tests/ui/duplicate-transparent.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: duplicate #[error(transparent)] attribute - --> tests/ui/duplicate-transparent.rs:5:1 - | -5 | #[error(transparent)] - | ^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/fallback-impl-with-display.rs b/vendor/thiserror/tests/ui/fallback-impl-with-display.rs deleted file mode 100644 index 3341187..0000000 --- a/vendor/thiserror/tests/ui/fallback-impl-with-display.rs +++ /dev/null @@ -1,14 +0,0 @@ -use std::fmt::{self, Display}; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error] -pub struct MyError; - -impl Display for MyError { - fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { - unimplemented!() - } -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/fallback-impl-with-display.stderr b/vendor/thiserror/tests/ui/fallback-impl-with-display.stderr deleted file mode 100644 index 6bd3730..0000000 --- a/vendor/thiserror/tests/ui/fallback-impl-with-display.stderr +++ /dev/null @@ -1,16 +0,0 @@ -error: expected attribute arguments in parentheses: #[error(...)] - --> tests/ui/fallback-impl-with-display.rs:5:3 - | -5 | #[error] - | ^^^^^ - -error[E0119]: conflicting implementations of trait `std::fmt::Display` for type `MyError` - --> tests/ui/fallback-impl-with-display.rs:4:10 - | -4 | #[derive(Error, Debug)] - | ^^^^^ conflicting implementation for `MyError` -... -8 | impl Display for MyError { - | ------------------------ first implementation here - | - = note: this error originates in the derive macro `Error` (in Nightly builds, run with -Z macro-backtrace for more info) diff --git a/vendor/thiserror/tests/ui/from-backtrace-backtrace.rs b/vendor/thiserror/tests/ui/from-backtrace-backtrace.rs deleted file mode 100644 index 3b781ac..0000000 --- a/vendor/thiserror/tests/ui/from-backtrace-backtrace.rs +++ /dev/null @@ -1,15 +0,0 @@ -// https://github.com/dtolnay/thiserror/issues/163 - -use std::backtrace::Backtrace; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("...")] -pub struct Error( - #[from] - #[backtrace] - std::io::Error, - Backtrace, -); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/from-backtrace-backtrace.stderr b/vendor/thiserror/tests/ui/from-backtrace-backtrace.stderr deleted file mode 100644 index 5c0b9a3..0000000 --- a/vendor/thiserror/tests/ui/from-backtrace-backtrace.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: deriving From requires no fields other than source and backtrace - --> tests/ui/from-backtrace-backtrace.rs:9:5 - | -9 | #[from] - | ^^^^^^^ diff --git a/vendor/thiserror/tests/ui/from-not-source.rs b/vendor/thiserror/tests/ui/from-not-source.rs deleted file mode 100644 index d1855be..0000000 --- a/vendor/thiserror/tests/ui/from-not-source.rs +++ /dev/null @@ -1,11 +0,0 @@ -use thiserror::Error; - -#[derive(Debug, Error)] -pub struct Error { - #[source] - source: std::io::Error, - #[from] - other: anyhow::Error, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/from-not-source.stderr b/vendor/thiserror/tests/ui/from-not-source.stderr deleted file mode 100644 index 9713601..0000000 --- a/vendor/thiserror/tests/ui/from-not-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: #[from] is only supported on the source field, not any other field - --> tests/ui/from-not-source.rs:7:5 - | -7 | #[from] - | ^^^^^^^ diff --git a/vendor/thiserror/tests/ui/invalid-input-impl-anyway.rs b/vendor/thiserror/tests/ui/invalid-input-impl-anyway.rs deleted file mode 100644 index 0a0bcbe..0000000 --- a/vendor/thiserror/tests/ui/invalid-input-impl-anyway.rs +++ /dev/null @@ -1,11 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error] -pub struct MyError; - -fn main() { - // No error on the following line. Thiserror emits an Error impl despite the - // bad attribute. - _ = &MyError as &dyn std::error::Error; -} diff --git a/vendor/thiserror/tests/ui/invalid-input-impl-anyway.stderr b/vendor/thiserror/tests/ui/invalid-input-impl-anyway.stderr deleted file mode 100644 index b98c31e..0000000 --- a/vendor/thiserror/tests/ui/invalid-input-impl-anyway.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: expected attribute arguments in parentheses: #[error(...)] - --> tests/ui/invalid-input-impl-anyway.rs:4:3 - | -4 | #[error] - | ^^^^^ diff --git a/vendor/thiserror/tests/ui/lifetime.rs b/vendor/thiserror/tests/ui/lifetime.rs deleted file mode 100644 index 698f8c4..0000000 --- a/vendor/thiserror/tests/ui/lifetime.rs +++ /dev/null @@ -1,24 +0,0 @@ -use std::fmt::Debug; -use thiserror::Error; - -#[derive(Error, Debug)] -#[error("error")] -struct Error<'a>(#[from] Inner<'a>); - -#[derive(Error, Debug)] -#[error("{0}")] -struct Inner<'a>(&'a str); - -#[derive(Error, Debug)] -enum Enum<'a> { - #[error("error")] - Foo(#[from] Generic<&'a str>), -} - -#[derive(Error, Debug)] -#[error("{0:?}")] -struct Generic<T: Debug>(T); - -fn main() -> Result<(), Error<'static>> { - Err(Error(Inner("some text"))) -} diff --git a/vendor/thiserror/tests/ui/lifetime.stderr b/vendor/thiserror/tests/ui/lifetime.stderr deleted file mode 100644 index 8b58136..0000000 --- a/vendor/thiserror/tests/ui/lifetime.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error: non-static lifetimes are not allowed in the source of an error, because std::error::Error requires the source is dyn Error + 'static - --> tests/ui/lifetime.rs:6:26 - | -6 | struct Error<'a>(#[from] Inner<'a>); - | ^^^^^^^^^ - -error: non-static lifetimes are not allowed in the source of an error, because std::error::Error requires the source is dyn Error + 'static - --> tests/ui/lifetime.rs:15:17 - | -15 | Foo(#[from] Generic<&'a str>), - | ^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/missing-display.rs b/vendor/thiserror/tests/ui/missing-display.rs deleted file mode 100644 index 31e23fe..0000000 --- a/vendor/thiserror/tests/ui/missing-display.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum MyError { - First, - Second, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/missing-display.stderr b/vendor/thiserror/tests/ui/missing-display.stderr deleted file mode 100644 index 48c9ded..0000000 --- a/vendor/thiserror/tests/ui/missing-display.stderr +++ /dev/null @@ -1,13 +0,0 @@ -error[E0277]: `MyError` doesn't implement `std::fmt::Display` - --> tests/ui/missing-display.rs:4:10 - | -4 | pub enum MyError { - | ^^^^^^^ `MyError` cannot be formatted with the default formatter - | - = help: the trait `std::fmt::Display` is not implemented for `MyError` - = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead -note: required by a bound in `std::error::Error` - --> $RUST/core/src/error.rs - | - | pub trait Error: Debug + Display { - | ^^^^^^^ required by this bound in `Error` diff --git a/vendor/thiserror/tests/ui/missing-fmt.rs b/vendor/thiserror/tests/ui/missing-fmt.rs deleted file mode 100644 index d52fbdf..0000000 --- a/vendor/thiserror/tests/ui/missing-fmt.rs +++ /dev/null @@ -1,10 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[error("...")] - A(usize), - B(usize), -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/missing-fmt.stderr b/vendor/thiserror/tests/ui/missing-fmt.stderr deleted file mode 100644 index c0be373..0000000 --- a/vendor/thiserror/tests/ui/missing-fmt.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: missing #[error("...")] display attribute - --> tests/ui/missing-fmt.rs:7:5 - | -7 | B(usize), - | ^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/no-display.rs b/vendor/thiserror/tests/ui/no-display.rs deleted file mode 100644 index 181a66e..0000000 --- a/vendor/thiserror/tests/ui/no-display.rs +++ /dev/null @@ -1,12 +0,0 @@ -use thiserror::Error; - -#[derive(Debug)] -struct NoDisplay; - -#[derive(Error, Debug)] -#[error("thread: {thread}")] -pub struct Error { - thread: NoDisplay, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/no-display.stderr b/vendor/thiserror/tests/ui/no-display.stderr deleted file mode 100644 index 0f47c24..0000000 --- a/vendor/thiserror/tests/ui/no-display.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error[E0599]: the method `as_display` exists for reference `&NoDisplay`, but its trait bounds were not satisfied - --> tests/ui/no-display.rs:7:9 - | -4 | struct NoDisplay; - | ---------------- doesn't satisfy `NoDisplay: std::fmt::Display` -... -7 | #[error("thread: {thread}")] - | ^^^^^^^^^^^^^^^^^^ method cannot be called on `&NoDisplay` due to unsatisfied trait bounds - | - = note: the following trait bounds were not satisfied: - `NoDisplay: std::fmt::Display` - which is required by `&NoDisplay: AsDisplay<'_>` -note: the trait `std::fmt::Display` must be implemented - --> $RUST/core/src/fmt/mod.rs - | - | pub trait Display { - | ^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/source-enum-not-error.rs b/vendor/thiserror/tests/ui/source-enum-not-error.rs deleted file mode 100644 index dae2285..0000000 --- a/vendor/thiserror/tests/ui/source-enum-not-error.rs +++ /dev/null @@ -1,12 +0,0 @@ -use thiserror::Error; - -#[derive(Debug)] -pub struct NotError; - -#[derive(Error, Debug)] -#[error("...")] -pub enum ErrorEnum { - Broken { source: NotError }, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/source-enum-not-error.stderr b/vendor/thiserror/tests/ui/source-enum-not-error.stderr deleted file mode 100644 index 4c44742..0000000 --- a/vendor/thiserror/tests/ui/source-enum-not-error.stderr +++ /dev/null @@ -1,22 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for reference `&NotError`, but its trait bounds were not satisfied - --> tests/ui/source-enum-not-error.rs:9:14 - | -4 | pub struct NotError; - | ------------------- - | | - | doesn't satisfy `NotError: AsDynError<'_>` - | doesn't satisfy `NotError: std::error::Error` -... -9 | Broken { source: NotError }, - | ^^^^^^ method cannot be called on `&NotError` due to unsatisfied trait bounds - | - = note: the following trait bounds were not satisfied: - `NotError: std::error::Error` - which is required by `NotError: AsDynError<'_>` - `&NotError: std::error::Error` - which is required by `&NotError: AsDynError<'_>` -note: the trait `std::error::Error` must be implemented - --> $RUST/core/src/error.rs - | - | pub trait Error: Debug + Display { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.rs b/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.rs deleted file mode 100644 index a877c2c..0000000 --- a/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.rs +++ /dev/null @@ -1,12 +0,0 @@ -use thiserror::Error; - -#[derive(Debug)] -pub struct NotError; - -#[derive(Error, Debug)] -#[error("...")] -pub enum ErrorEnum { - Broken(#[source] NotError), -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.stderr b/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.stderr deleted file mode 100644 index da6d225..0000000 --- a/vendor/thiserror/tests/ui/source-enum-unnamed-field-not-error.stderr +++ /dev/null @@ -1,22 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for reference `&NotError`, but its trait bounds were not satisfied - --> tests/ui/source-enum-unnamed-field-not-error.rs:9:14 - | -4 | pub struct NotError; - | ------------------- - | | - | doesn't satisfy `NotError: AsDynError<'_>` - | doesn't satisfy `NotError: std::error::Error` -... -9 | Broken(#[source] NotError), - | ^^^^^^ method cannot be called on `&NotError` due to unsatisfied trait bounds - | - = note: the following trait bounds were not satisfied: - `NotError: std::error::Error` - which is required by `NotError: AsDynError<'_>` - `&NotError: std::error::Error` - which is required by `&NotError: AsDynError<'_>` -note: the trait `std::error::Error` must be implemented - --> $RUST/core/src/error.rs - | - | pub trait Error: Debug + Display { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/source-struct-not-error.rs b/vendor/thiserror/tests/ui/source-struct-not-error.rs deleted file mode 100644 index d59df1e..0000000 --- a/vendor/thiserror/tests/ui/source-struct-not-error.rs +++ /dev/null @@ -1,12 +0,0 @@ -use thiserror::Error; - -#[derive(Debug)] -struct NotError; - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorStruct { - source: NotError, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/source-struct-not-error.stderr b/vendor/thiserror/tests/ui/source-struct-not-error.stderr deleted file mode 100644 index b98460f..0000000 --- a/vendor/thiserror/tests/ui/source-struct-not-error.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for struct `NotError`, but its trait bounds were not satisfied - --> tests/ui/source-struct-not-error.rs:9:5 - | -4 | struct NotError; - | --------------- - | | - | method `as_dyn_error` not found for this struct - | doesn't satisfy `NotError: AsDynError<'_>` - | doesn't satisfy `NotError: std::error::Error` -... -9 | source: NotError, - | ^^^^^^ method cannot be called on `NotError` due to unsatisfied trait bounds - | - = note: the following trait bounds were not satisfied: - `NotError: std::error::Error` - which is required by `NotError: AsDynError<'_>` -note: the trait `std::error::Error` must be implemented - --> $RUST/core/src/error.rs - | - | pub trait Error: Debug + Display { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.rs b/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.rs deleted file mode 100644 index 160b6b2..0000000 --- a/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.rs +++ /dev/null @@ -1,10 +0,0 @@ -use thiserror::Error; - -#[derive(Debug)] -struct NotError; - -#[derive(Error, Debug)] -#[error("...")] -pub struct ErrorStruct(#[source] NotError); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.stderr b/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.stderr deleted file mode 100644 index a23f268..0000000 --- a/vendor/thiserror/tests/ui/source-struct-unnamed-field-not-error.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for struct `NotError`, but its trait bounds were not satisfied - --> tests/ui/source-struct-unnamed-field-not-error.rs:8:26 - | -4 | struct NotError; - | --------------- - | | - | method `as_dyn_error` not found for this struct - | doesn't satisfy `NotError: AsDynError<'_>` - | doesn't satisfy `NotError: std::error::Error` -... -8 | pub struct ErrorStruct(#[source] NotError); - | ^^^^^^ method cannot be called on `NotError` due to unsatisfied trait bounds - | - = note: the following trait bounds were not satisfied: - `NotError: std::error::Error` - which is required by `NotError: AsDynError<'_>` -note: the trait `std::error::Error` must be implemented - --> $RUST/core/src/error.rs - | - | pub trait Error: Debug + Display { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/transparent-display.rs b/vendor/thiserror/tests/ui/transparent-display.rs deleted file mode 100644 index 2a59f18..0000000 --- a/vendor/thiserror/tests/ui/transparent-display.rs +++ /dev/null @@ -1,8 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -#[error("...")] -pub struct Error(anyhow::Error); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-display.stderr b/vendor/thiserror/tests/ui/transparent-display.stderr deleted file mode 100644 index 54d958b..0000000 --- a/vendor/thiserror/tests/ui/transparent-display.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: cannot have both #[error(transparent)] and a display attribute - --> tests/ui/transparent-display.rs:5:1 - | -5 | #[error("...")] - | ^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/transparent-enum-many.rs b/vendor/thiserror/tests/ui/transparent-enum-many.rs deleted file mode 100644 index e2a73a4..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-many.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[error(transparent)] - Other(anyhow::Error, String), -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-enum-many.stderr b/vendor/thiserror/tests/ui/transparent-enum-many.stderr deleted file mode 100644 index a9adfa5..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-many.stderr +++ /dev/null @@ -1,6 +0,0 @@ -error: #[error(transparent)] requires exactly one field - --> tests/ui/transparent-enum-many.rs:5:5 - | -5 | / #[error(transparent)] -6 | | Other(anyhow::Error, String), - | |________________________________^ diff --git a/vendor/thiserror/tests/ui/transparent-enum-not-error.rs b/vendor/thiserror/tests/ui/transparent-enum-not-error.rs deleted file mode 100644 index 80ccfc9..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-not-error.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[error(transparent)] - Other { message: String }, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-enum-not-error.stderr b/vendor/thiserror/tests/ui/transparent-enum-not-error.stderr deleted file mode 100644 index 9be5143..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-not-error.stderr +++ /dev/null @@ -1,23 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for reference `&String`, but its trait bounds were not satisfied - --> tests/ui/transparent-enum-not-error.rs:5:13 - | -5 | #[error(transparent)] - | ^^^^^^^^^^^ method cannot be called on `&String` due to unsatisfied trait bounds - | - ::: $RUST/alloc/src/string.rs - | - | pub struct String { - | ----------------- - | | - | doesn't satisfy `String: AsDynError<'_>` - | doesn't satisfy `String: std::error::Error` - | - = note: the following trait bounds were not satisfied: - `String: std::error::Error` - which is required by `String: AsDynError<'_>` - `&String: std::error::Error` - which is required by `&String: AsDynError<'_>` - `str: Sized` - which is required by `str: AsDynError<'_>` - `str: std::error::Error` - which is required by `str: AsDynError<'_>` diff --git a/vendor/thiserror/tests/ui/transparent-enum-source.rs b/vendor/thiserror/tests/ui/transparent-enum-source.rs deleted file mode 100644 index 3849f66..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-source.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[error(transparent)] - Other(#[source] anyhow::Error), -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-enum-source.stderr b/vendor/thiserror/tests/ui/transparent-enum-source.stderr deleted file mode 100644 index ccb9067..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: transparent variant can't contain #[source] - --> tests/ui/transparent-enum-source.rs:6:11 - | -6 | Other(#[source] anyhow::Error), - | ^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.rs b/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.rs deleted file mode 100644 index 87c32e0..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - #[error(transparent)] - Other(String), -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.stderr b/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.stderr deleted file mode 100644 index 3d23c3a..0000000 --- a/vendor/thiserror/tests/ui/transparent-enum-unnamed-field-not-error.stderr +++ /dev/null @@ -1,23 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for reference `&String`, but its trait bounds were not satisfied - --> tests/ui/transparent-enum-unnamed-field-not-error.rs:5:13 - | -5 | #[error(transparent)] - | ^^^^^^^^^^^ method cannot be called on `&String` due to unsatisfied trait bounds - | - ::: $RUST/alloc/src/string.rs - | - | pub struct String { - | ----------------- - | | - | doesn't satisfy `String: AsDynError<'_>` - | doesn't satisfy `String: std::error::Error` - | - = note: the following trait bounds were not satisfied: - `String: std::error::Error` - which is required by `String: AsDynError<'_>` - `&String: std::error::Error` - which is required by `&String: AsDynError<'_>` - `str: Sized` - which is required by `str: AsDynError<'_>` - `str: std::error::Error` - which is required by `str: AsDynError<'_>` diff --git a/vendor/thiserror/tests/ui/transparent-struct-many.rs b/vendor/thiserror/tests/ui/transparent-struct-many.rs deleted file mode 100644 index 18f2466..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-many.rs +++ /dev/null @@ -1,10 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -pub struct Error { - inner: anyhow::Error, - what: String, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-struct-many.stderr b/vendor/thiserror/tests/ui/transparent-struct-many.stderr deleted file mode 100644 index c0e3806..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-many.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: #[error(transparent)] requires exactly one field - --> tests/ui/transparent-struct-many.rs:4:1 - | -4 | #[error(transparent)] - | ^^^^^^^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/transparent-struct-not-error.rs b/vendor/thiserror/tests/ui/transparent-struct-not-error.rs deleted file mode 100644 index 811ff53..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-not-error.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -pub struct Error { - message: String, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-struct-not-error.stderr b/vendor/thiserror/tests/ui/transparent-struct-not-error.stderr deleted file mode 100644 index d67a694..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-not-error.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for struct `String`, but its trait bounds were not satisfied - --> tests/ui/transparent-struct-not-error.rs:4:9 - | -4 | #[error(transparent)] - | ^^^^^^^^^^^ method cannot be called on `String` due to unsatisfied trait bounds - | - ::: $RUST/alloc/src/string.rs - | - | pub struct String { - | ----------------- - | | - | doesn't satisfy `String: AsDynError<'_>` - | doesn't satisfy `String: std::error::Error` - | - = note: the following trait bounds were not satisfied: - `String: std::error::Error` - which is required by `String: AsDynError<'_>` - `str: Sized` - which is required by `str: AsDynError<'_>` - `str: std::error::Error` - which is required by `str: AsDynError<'_>` diff --git a/vendor/thiserror/tests/ui/transparent-struct-source.rs b/vendor/thiserror/tests/ui/transparent-struct-source.rs deleted file mode 100644 index d4512c2..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-source.rs +++ /dev/null @@ -1,7 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -pub struct Error(#[source] anyhow::Error); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-struct-source.stderr b/vendor/thiserror/tests/ui/transparent-struct-source.stderr deleted file mode 100644 index 3012ca3..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: transparent error struct can't contain #[source] - --> tests/ui/transparent-struct-source.rs:5:18 - | -5 | pub struct Error(#[source] anyhow::Error); - | ^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.rs b/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.rs deleted file mode 100644 index b4f7fbb..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.rs +++ /dev/null @@ -1,7 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[error(transparent)] -pub struct Error(String); - -fn main() {} diff --git a/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.stderr b/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.stderr deleted file mode 100644 index f715a15..0000000 --- a/vendor/thiserror/tests/ui/transparent-struct-unnamed-field-not-error.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error[E0599]: the method `as_dyn_error` exists for struct `String`, but its trait bounds were not satisfied - --> tests/ui/transparent-struct-unnamed-field-not-error.rs:4:9 - | -4 | #[error(transparent)] - | ^^^^^^^^^^^ method cannot be called on `String` due to unsatisfied trait bounds - | - ::: $RUST/alloc/src/string.rs - | - | pub struct String { - | ----------------- - | | - | doesn't satisfy `String: AsDynError<'_>` - | doesn't satisfy `String: std::error::Error` - | - = note: the following trait bounds were not satisfied: - `String: std::error::Error` - which is required by `String: AsDynError<'_>` - `str: Sized` - which is required by `str: AsDynError<'_>` - `str: std::error::Error` - which is required by `str: AsDynError<'_>` diff --git a/vendor/thiserror/tests/ui/unexpected-field-fmt.rs b/vendor/thiserror/tests/ui/unexpected-field-fmt.rs deleted file mode 100644 index 7c439d9..0000000 --- a/vendor/thiserror/tests/ui/unexpected-field-fmt.rs +++ /dev/null @@ -1,11 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum Error { - What { - #[error("...")] - io: std::io::Error, - }, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/unexpected-field-fmt.stderr b/vendor/thiserror/tests/ui/unexpected-field-fmt.stderr deleted file mode 100644 index bf3c24d..0000000 --- a/vendor/thiserror/tests/ui/unexpected-field-fmt.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: not expected here; the #[error(...)] attribute belongs on top of a struct or an enum variant - --> tests/ui/unexpected-field-fmt.rs:6:9 - | -6 | #[error("...")] - | ^^^^^^^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/unexpected-struct-source.rs b/vendor/thiserror/tests/ui/unexpected-struct-source.rs deleted file mode 100644 index f396494..0000000 --- a/vendor/thiserror/tests/ui/unexpected-struct-source.rs +++ /dev/null @@ -1,7 +0,0 @@ -use thiserror::Error; - -#[derive(Error, Debug)] -#[source] -pub struct Error; - -fn main() {} diff --git a/vendor/thiserror/tests/ui/unexpected-struct-source.stderr b/vendor/thiserror/tests/ui/unexpected-struct-source.stderr deleted file mode 100644 index 6f15841..0000000 --- a/vendor/thiserror/tests/ui/unexpected-struct-source.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: not expected here; the #[source] attribute belongs on a specific field - --> tests/ui/unexpected-struct-source.rs:4:1 - | -4 | #[source] - | ^^^^^^^^^ diff --git a/vendor/thiserror/tests/ui/union.rs b/vendor/thiserror/tests/ui/union.rs deleted file mode 100644 index cd6a934..0000000 --- a/vendor/thiserror/tests/ui/union.rs +++ /dev/null @@ -1,9 +0,0 @@ -use thiserror::Error; - -#[derive(Error)] -pub union U { - msg: &'static str, - num: usize, -} - -fn main() {} diff --git a/vendor/thiserror/tests/ui/union.stderr b/vendor/thiserror/tests/ui/union.stderr deleted file mode 100644 index 3ec4d71..0000000 --- a/vendor/thiserror/tests/ui/union.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: union as errors are not supported - --> tests/ui/union.rs:4:1 - | -4 | / pub union U { -5 | | msg: &'static str, -6 | | num: usize, -7 | | } - | |_^ |