1#![doc(html_root_url = "https://docs.rs/amadeus-core/0.4.3")]
10#![cfg_attr(nightly, feature(unboxed_closures))]
11#![recursion_limit = "25600"]
12#![warn(
13 trivial_numeric_casts,
17 unused_import_braces,
18 unused_qualifications,
19 unused_results,
20 unreachable_pub,
21 clippy::pedantic,
22)]
23#![allow(
24 clippy::module_name_repetitions,
25 clippy::if_not_else,
26 clippy::similar_names,
27 clippy::type_repetition_in_bounds,
28 clippy::missing_errors_doc,
29 clippy::must_use_candidate,
30 clippy::unsafe_derive_deserialize,
31 clippy::inline_always,
32 clippy::option_option,
33 clippy::default_trait_access,
34 clippy::wildcard_imports,
35 clippy::needless_pass_by_value,
36 clippy::unnecessary_wraps,
37 clippy::missing_panics_doc,
38 clippy::let_underscore_drop,
39 clippy::unnested_or_patterns
40)]
41#![deny(unsafe_code)]
42
43macro_rules! impl_par_dist {
44 ($($body:tt)*) => {
45 $($body)*
46 const _: () = {
47 use $crate::impl_par_dist::*;
48 #[allow(unused_imports)]
49 use $crate::impl_par_dist::{combiner_par_sink,folder_par_sink};
50 $($body)*
51 };
52 }
53}
54mod impl_par_dist {
55 #[allow(unused_imports)]
56 pub(crate) use crate::{
57 combiner_dist_sink as combiner_par_sink, folder_dist_sink as folder_par_sink, par_pipe::DistributedPipe as ParallelPipe, par_sink::{DistributedSink as ParallelSink, FromDistributedStream as FromParallelStream}, par_stream::DistributedStream as ParallelStream, pool::ProcessSend as Send
58 };
59}
60
61macro_rules! impl_par_dist_rename {
62 ($($body:tt)*) => {
63 $($body)*
64 rename! { [
65 ParallelStream DistributedStream
66 ParallelSink DistributedSink
67 ParallelPipe DistributedPipe
68 FromParallelStream FromDistributedStream
69 IntoParallelStream IntoDistributedStream
70 ParStream DistStream
71 Send ProcessSend
72 IterParStream IterDistStream
73 into_par_stream into_dist_stream
74 par_stream dist_stream
75 assert_parallel_sink assert_distributed_sink
76 assert_parallel_pipe assert_distributed_pipe
77 assert_parallel_stream assert_distributed_stream
78 ] $($body)* }
79 }
80}
81macro_rules! rename {
82 ([$($from:ident $to:ident)*] $($body:tt)*) => (rename!(@inner [$] [$($from $to)*] $($body)*););
83 (@inner [$d:tt] [$($from:ident $to:ident)*] $($body:tt)*) => (
84 macro_rules! __rename {
85 $(
86 (@munch [$d ($d done:tt)*] $from $d ($d body:tt)*) => (__rename!{@munch [$d ($d done)* $to] $d ($d body)*});
87 )*
88 (@munch [$d ($d done:tt)*] { $d ($d head:tt)* } $d ($d body:tt)*) => (__rename!{@munch [$d ($d done)* { __rename!{$d ($d head)*} }] $d ($d body)*});
89 (@munch [$d ($d done:tt)*] $d head:tt $d ($d body:tt)*) => (__rename!{@munch [$d ($d done)* $d head] $d ($d body)*});
90 (@munch [$d ($d done:tt)*]) => ($d ($d done)*);
91 ($d ($d body:tt)*) => (__rename!{@munch [] $d ($d body)*});
92 }
93 __rename!($($body)*);
94 );
95}
96
97pub mod file;
98pub mod into_par_stream;
99pub mod misc_serde;
100pub mod par_pipe;
101pub mod par_sink;
102pub mod par_stream;
103pub mod pipe;
104pub mod pool;
105mod source;
106pub mod util;
107
108pub use source::*;