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
// `#[derive(Bind)]` is for newtypes. Everything else is refused at the item
// that is not one, with the reason and the alternative.
use Bind;
// A struct of several fields is a row, not a value.
// An enum needs a database representation nobody but its author can choose.
// Nothing to bind.
;
// Which field is live is not knowable here.
union Bits
// A borrowed newtype would derive an impl whose bound can never hold — rustc
// accepts such an impl and simply never applies it, so the derive refuses it
// here instead of leaving a dead impl behind.
;