1#![ cfg_attr( feature = "no_std", no_std ) ]
2#![ doc( html_logo_url = "https://raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png" ) ]
3#![ doc( html_favicon_url = "https://raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico" ) ]
4#![ doc( html_root_url = "https://docs.rs/implements/latest/implements/" ) ]
5#![ doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "Readme.md" ) ) ]
14
15#[ cfg( feature = "enabled" ) ]
17mod implements_impl;
18
19#[ cfg( feature = "enabled" ) ]
21mod private
22{
23 #[ macro_export ]
34 macro_rules! implements
35 {
36 ( $( $arg : tt )+ ) =>
37 {
38 $crate::_implements!( $( $arg )+ );
39 }
40 }
41
42 #[ macro_export ]
53 macro_rules! instance_of
54 {
55 ( $( $arg : tt )+ ) =>
56 {
57 $crate::_implements!( $( $arg )+ );
58 }
59 }
60
61 pub use implements;
62 pub use instance_of;
63}
64
65#[ doc( inline ) ]
66#[ allow( unused_imports ) ]
67#[ cfg( feature = "enabled" ) ]
68pub use own::*;
69
70#[ cfg( feature = "enabled" ) ]
72#[ allow( unused_imports ) ]
73pub mod own
74{
75 use super::*;
76 #[ doc( inline ) ]
77 pub use orphan::*;
78}
79
80#[ cfg( feature = "enabled" ) ]
82#[ allow( unused_imports ) ]
83pub mod orphan
84{
85 use super::*;
86 #[ doc( inline ) ]
87 pub use exposed::*;
88}
89
90#[ cfg( feature = "enabled" ) ]
92#[ allow( unused_imports ) ]
93pub mod exposed
94{
95 use super::*;
96 #[ doc( inline ) ]
97 pub use prelude::*;
98}
99
100#[ cfg( feature = "enabled" ) ]
102#[ allow( unused_imports ) ]
103pub mod prelude
104{
105 use super::{ private };
106 #[ doc( inline ) ]
107 pub use private::
108 {
109 implements,
110 instance_of,
111 };
112}