diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-11-15 20:18:36 +0000 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-11-15 20:18:36 +0000 |
| commit | c0bd0c9efd429b35354484e24fe272fa1fbfe901 (patch) | |
| tree | 395d4918e6a2b882fc05b285001b6cb72ab10af2 /subprojects/thiserror/impl/src/lib.rs | |
| parent | 0436fbc77039fa3d754f2db5cfefdd437fea51d1 (diff) | |
| parent | 6eba9cd92c295c5389944f6adda1f1e83b2cb008 (diff) | |
| download | gentoo-utils-c0bd0c9efd429b35354484e24fe272fa1fbfe901.tar.gz | |
Merge commit '6eba9cd92c295c5389944f6adda1f1e83b2cb008' as 'subprojects/thiserror'
Diffstat (limited to 'subprojects/thiserror/impl/src/lib.rs')
| -rw-r--r-- | subprojects/thiserror/impl/src/lib.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/subprojects/thiserror/impl/src/lib.rs b/subprojects/thiserror/impl/src/lib.rs new file mode 100644 index 0000000..25890f2 --- /dev/null +++ b/subprojects/thiserror/impl/src/lib.rs @@ -0,0 +1,55 @@ +#![allow( + clippy::blocks_in_conditions, + clippy::cast_lossless, + clippy::cast_possible_truncation, + clippy::enum_glob_use, + clippy::expl_impl_clone_on_copy, // https://github.com/rust-lang/rust-clippy/issues/15842 + clippy::manual_find, + clippy::manual_let_else, + clippy::manual_map, + clippy::map_unwrap_or, + clippy::module_name_repetitions, + clippy::needless_pass_by_value, + clippy::range_plus_one, + clippy::single_match_else, + clippy::struct_field_names, + clippy::too_many_lines, + clippy::wrong_self_convention +)] +#![allow(unknown_lints, mismatched_lifetime_syntaxes)] + +extern crate proc_macro; + +mod ast; +mod attr; +mod expand; +mod fallback; +mod fmt; +mod generics; +mod prop; +mod scan_expr; +mod unraw; +mod valid; + +use proc_macro::TokenStream; +use proc_macro2::{Ident, Span}; +use quote::{ToTokens, TokenStreamExt as _}; +use syn::{parse_macro_input, DeriveInput}; + +#[proc_macro_derive(Error, attributes(backtrace, error, from, source))] +pub fn derive_error(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + expand::derive(&input).into() +} + +#[allow(non_camel_case_types)] +struct private; + +impl ToTokens for private { + fn to_tokens(&self, tokens: &mut proc_macro2::TokenStream) { + tokens.append(Ident::new( + concat!("__private", env!("CARGO_PKG_VERSION_PATCH")), + Span::call_site(), + )); + } +} |
