synthez_core/
lib.rs

1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2#![doc = include_str!("../README.md")]
3#![deny(
4    macro_use_extern_crate,
5    nonstandard_style,
6    rust_2018_idioms,
7    rustdoc::all,
8    trivial_casts,
9    trivial_numeric_casts
10)]
11#![forbid(non_ascii_idents, unsafe_code)]
12#![warn(
13    clippy::as_conversions,
14    clippy::as_ptr_cast_mut,
15    clippy::assertions_on_result_states,
16    clippy::branches_sharing_code,
17    clippy::clone_on_ref_ptr,
18    clippy::create_dir,
19    clippy::dbg_macro,
20    clippy::debug_assert_with_mut_call,
21    clippy::decimal_literal_representation,
22    clippy::default_union_representation,
23    clippy::derive_partial_eq_without_eq,
24    clippy::else_if_without_else,
25    clippy::empty_drop,
26    clippy::empty_line_after_outer_attr,
27    clippy::empty_structs_with_brackets,
28    clippy::equatable_if_let,
29    clippy::exit,
30    clippy::expect_used,
31    clippy::fallible_impl_from,
32    clippy::filetype_is_file,
33    clippy::float_cmp_const,
34    clippy::fn_to_numeric_cast,
35    clippy::fn_to_numeric_cast_any,
36    clippy::format_push_string,
37    clippy::get_unwrap,
38    clippy::if_then_some_else_none,
39    clippy::imprecise_flops,
40    clippy::index_refutable_slice,
41    clippy::iter_on_empty_collections,
42    clippy::iter_on_single_items,
43    clippy::iter_with_drain,
44    clippy::large_include_file,
45    clippy::let_underscore_untyped,
46    clippy::lossy_float_literal,
47    clippy::manual_clamp,
48    clippy::map_err_ignore,
49    clippy::mem_forget,
50    clippy::missing_const_for_fn,
51    clippy::missing_docs_in_private_items,
52    clippy::multiple_inherent_impl,
53    clippy::multiple_unsafe_ops_per_block,
54    clippy::mutex_atomic,
55    clippy::mutex_integer,
56    clippy::needless_collect,
57    clippy::nonstandard_macro_braces,
58    clippy::option_if_let_else,
59    clippy::or_fun_call,
60    clippy::panic_in_result_fn,
61    clippy::partial_pub_fields,
62    clippy::pedantic,
63    clippy::print_stderr,
64    clippy::print_stdout,
65    clippy::rc_buffer,
66    clippy::rc_mutex,
67    clippy::rest_pat_in_fully_bound_structs,
68    clippy::same_name_method,
69    clippy::semicolon_inside_block,
70    clippy::shadow_unrelated,
71    clippy::significant_drop_in_scrutinee,
72    clippy::significant_drop_tightening,
73    clippy::str_to_string,
74    clippy::string_add,
75    clippy::string_lit_as_bytes,
76    clippy::string_slice,
77    clippy::string_to_string,
78    clippy::suboptimal_flops,
79    clippy::suspicious_operation_groupings,
80    clippy::suspicious_xor_used_as_pow,
81    clippy::todo,
82    clippy::trailing_empty_array,
83    clippy::transmute_undefined_repr,
84    clippy::trivial_regex,
85    clippy::try_err,
86    clippy::undocumented_unsafe_blocks,
87    clippy::unimplemented,
88    clippy::unnecessary_safety_comment,
89    clippy::unnecessary_safety_doc,
90    clippy::unnecessary_self_imports,
91    clippy::unneeded_field_pattern,
92    clippy::unused_peekable,
93    clippy::unwrap_in_result,
94    clippy::unwrap_used,
95    clippy::use_debug,
96    clippy::use_self,
97    clippy::useless_let_if_seq,
98    clippy::verbose_file_reads,
99    clippy::wildcard_enum_match_arm,
100    future_incompatible,
101    let_underscore_drop,
102    meta_variable_misuse,
103    missing_copy_implementations,
104    missing_debug_implementations,
105    missing_docs,
106    noop_method_call,
107    semicolon_in_expressions_from_macros,
108    unreachable_pub,
109    unused_crate_dependencies,
110    unused_extern_crates,
111    unused_import_braces,
112    unused_labels,
113    unused_lifetimes,
114    unused_qualifications,
115    unused_results,
116    unused_tuple_struct_fields,
117    variant_size_differences
118)]
119
120pub mod codegen;
121pub mod ext;
122pub mod field;
123pub mod has;
124pub mod parse;
125pub mod spanned;
126
127pub use proc_macro2;
128pub use quote::{self, ToTokens};
129pub use syn;
130
131// TODO: Remove once tests run without complains about it.
132#[cfg(test)]
133use synthez as _; // for docs only
134
135#[doc(inline)]
136pub use self::{
137    ext::{Data as DataExt, Ident as IdentExt},
138    field::Required,
139    parse::{Attrs as ParseAttrs, BufferExt as ParseBufferExt},
140    spanned::Spanning,
141};