1#![warn(
4 clippy::all,
5 clippy::pedantic,
6 clippy::perf,
7 clippy::style,
8 clippy::disallowed_types,
9 clippy::indexing_slicing,
10 clippy::clone_on_ref_ptr,
11 clippy::create_dir,
12 clippy::default_numeric_fallback,
13 clippy::empty_drop,
14 clippy::empty_structs_with_brackets,
15 clippy::unwrap_used,
16 clippy::expect_used,
17 clippy::float_equality_without_abs,
18 clippy::float_cmp,
19 clippy::float_cmp_const,
20 clippy::format_push_string,
21 clippy::get_unwrap,
22 clippy::if_then_some_else_none,
23 clippy::impl_trait_in_params,
24 clippy::mixed_read_write_in_expression,
25 clippy::mod_module_files,
26 clippy::multiple_unsafe_ops_per_block,
27 clippy::undocumented_unsafe_blocks,
28 clippy::partial_pub_fields,
29 clippy::panic,
30 clippy::semicolon_if_nothing_returned,
31 clippy::semicolon_inside_block,
32 clippy::str_to_string,
33 clippy::todo,
34 clippy::try_err,
35 clippy::unneeded_field_pattern,
36 clippy::unseparated_literal_suffix,
37 clippy::fallible_impl_from,
38 clippy::future_not_send,
39 clippy::option_if_let_else,
40 clippy::or_fun_call,
41 clippy::path_buf_push_overwrite,
42 clippy::redundant_pub_crate,
43 clippy::redundant_allocation,
44 clippy::significant_drop_tightening,
45 clippy::useless_let_if_seq,
46 rustdoc::all,
47 missing_copy_implementations,
48 missing_debug_implementations,
49 missing_docs
50)]
51
52use proc_macro::TokenStream;
53
54#[proc_macro_derive(FromByteReader, attributes(barse))]
56pub fn derive_from_byte_reader(item: TokenStream) -> TokenStream {
57 barse_derive_impl::derive_from_byte_reader(item.into()).into()
58}
59
60#[proc_macro_attribute]
62pub fn byte_size_query(attr: TokenStream, item: TokenStream) -> TokenStream {
63 barse_derive_impl::byte_size_query(attr.into(), item.into()).into()
64}
65
66#[proc_macro_attribute]
68pub fn condition(attr: TokenStream, item: TokenStream) -> TokenStream {
69 barse_derive_impl::condition(attr.into(), item.into()).into()
70}
71
72#[proc_macro_attribute]
74pub fn vec_len_query(attr: TokenStream, item: TokenStream) -> TokenStream {
75 barse_derive_impl::vec_len_query(attr.into(), item.into()).into()
76}