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
42
43
44
45
46
47
48
//! Serializable types for the requests and responses for each endpoint in the
//! [synapse admin API][api].
//!
//! # Compile-time `cfg` settings
//!
//! These settings are accepted at compile time to configure the generated code. They can be set as
//! `--cfg={key}={value}` using `RUSTFLAGS` or `.cargo/config.toml` (under `[build]` -> `rustflags =
//! ["..."]`).
//!
//! * `ruma_identifiers_storage` -- Choose the inner representation of `Owned*` wrapper types for
//! identifiers. By default they use [`Box`], setting the value to `Arc` makes them use
//! [`Arc`](std::sync::Arc).
//! * `ruma_unstable_exhaustive_types` -- Most types in synapse-admin-api are marked as
//! non-exhaustive to avoid breaking changes when new fields are added in the API. This setting
//! compiles all types as exhaustive. By enabling this feature you opt out of all semver
//! guarantees synapse-admin-api otherwise provides.
//!
//! [api]: https://github.com/element-hq/synapse/tree/master/docs/admin_api
// FIXME: don't allow dead code, warn on missing docs
use fmt;
// Wrapper around `Box<str>` that cannot be used in a meaningful way outside of
// this crate. Used for string enums because their `_Custom` variant can't be
// truly private (only `#[doc(hidden)]`).
;