hooks_core/
doc_tests.rs

1/// ```compile_fail
2/// use hooks_core::hook_fn;
3/// hook_fn!(
4///     fn use_hook(v: &str) {
5///         println!("{}", v);
6///     }
7/// );
8/// ```
9///
10/// `let _ = v` or `_ = v` are not using `v`.
11///
12/// ```
13/// use hooks_core::hook_fn;
14/// hook_fn!(
15///     fn use_hook_1(v: &str) {
16///         let _ = v;
17///     }
18/// );
19///
20/// hook_fn!(
21///     fn use_hook_2(v: &str) {
22///         _ = v
23///     }
24/// );
25/// ```
26pub enum ArgumentsWithElidedLifetimeAndUsedMustSpecifyBounds {}
27
28/// ```compile_fail
29/// use hooks_core::hook_fn;
30/// hook_fn!(
31///     fn use_hook(_: &()) -> &str {
32///         ""
33///     }
34/// );
35/// ```
36///
37/// ```
38/// use hooks_core::hook_fn;
39/// hook_fn!(
40///     fn use_hook<'a>(_: &'a ()) -> &'a str {
41///         ""
42///     }
43/// );
44/// ```
45pub enum ReturnValueMustNotHaveElidedLifetimes {}
46
47/// ```compile_fail
48/// use hooks_core::hook_fn;
49/// hook_fn!(
50///     fn use_hook<T: std::fmt::Display>(v: &T) {
51///         println!("{}", v);
52///     }
53/// );
54/// ```
55pub enum GenericArgumentsWithElidedLifetimeAndUsedMustSpecifyBounds {}
56
57/// ```compile_fail
58/// use hooks_core::hook_fn;
59///
60/// struct Data<'a>(&'a ());
61///
62/// impl<'a> Data<'a> {
63///     hook_fn!(
64///         fn use_hook(v: &'a ()) {
65///             _ = (v,)
66///         }
67///     );
68/// }
69/// ```
70///
71/// ```
72/// use hooks_core::hook_fn;
73///
74/// struct Data<'a>(&'a ());
75///
76/// impl<'a> Data<'a> {
77///     hook_fn!(
78///         type Bounds = impl 'a;
79///         fn use_hook(v: &'a ()) {
80///             _ = (v,)
81///         }
82///     );
83/// }
84/// ```
85pub enum ArgumentsWithOuterLifetimeAndUsedMustSpecifyBounds {}