1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// Macro to define a "place" type compatible with deserialization.
///
/// [Refer to the `miniserde::de` documentation for examples.][::de]
///
/// This macro expands to:
///
/// ```rust
/// # macro_rules! make_place {
/// # ($name:ident) => {
/// struct $name<T> {
/// out: Option<T>,
/// }
///
/// impl<T> $name<T> {
/// fn new(out: &mut Option<T>) -> &mut Self {
/// /* ... */
/// # unimplemented!()
/// }
/// }
/// # };
/// # }
/// #
/// # make_place!(Place);
/// ```