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 {}