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
use BackendUnavailable;
use ;
use Formula;
/// What it means to be a backend: the questions every backend
/// answers for itself, in its own module, in every build.
///
/// Each [`Backend`](super::Backend) variant has a manifest — a unit
/// struct implementing this trait — that is always compiled and
/// declares what the backend carries, while the kernels themselves
/// sit behind the feature `cfg` in a `kernels` submodule. The enum
/// stays the public axis and dispatches to the manifests by plain
/// match, so the contract is monomorphized away: no trait object
/// exists anywhere on the path. The methods are associated
/// functions on purpose — a manifest has no state, only answers.
pub