1#![cfg_attr(feature = "frozen-abi", feature(min_specialization))]
2#![allow(clippy::arithmetic_side_effects)]
3#![warn(if_let_rescope)]
5#![warn(keyword_idents_2024)]
6#![warn(missing_unsafe_on_extern)]
7#![warn(rust_2024_guarded_string_incompatible_syntax)]
8#![warn(rust_2024_incompatible_pat)]
9#![warn(tail_expr_drop_order)]
10#![warn(unsafe_attr_outside_unsafe)]
11#![warn(unsafe_op_in_unsafe_fn)]
12
13pub mod cluster_info;
14pub mod cluster_info_metrics;
15pub mod contact_info;
16pub mod crds;
17pub mod crds_data;
18pub mod crds_entry;
19mod crds_filter;
20pub mod crds_gossip;
21pub mod crds_gossip_error;
22pub mod crds_gossip_pull;
23pub mod crds_gossip_push;
24pub mod crds_shards;
25pub mod crds_value;
26mod deprecated;
27pub mod duplicate_shred;
28pub mod duplicate_shred_handler;
29pub mod duplicate_shred_listener;
30pub mod epoch_slots;
31pub mod epoch_specs;
32pub mod gossip_error;
33pub mod gossip_service;
34pub mod node;
35#[macro_use]
36mod tlv;
37#[macro_use]
38mod legacy_contact_info;
39pub mod ping_pong;
40mod protocol;
41mod push_active_set;
42mod received_cache;
43pub mod restart_crds_values;
44pub mod stake_weighting_config;
45pub mod weighted_shuffle;
46
47#[macro_use]
48extern crate log;
49
50#[cfg(test)]
51#[macro_use]
52extern crate assert_matches;
53
54#[macro_use]
55extern crate serde_derive;
56
57#[cfg_attr(feature = "frozen-abi", macro_use)]
58#[cfg(feature = "frozen-abi")]
59extern crate solana_frozen_abi_macro;
60
61#[macro_use]
62extern crate solana_metrics;
63
64mod wire_format_tests;