Skip to main content

Type crossings

A conversion is this system's permission for a value of one type to be used as another. Every one of them carries a reason, and the reason is required rather than optional precisely so that this page can exist: someone asking why an invoice's email address is allowed to become a mailbox address gets an answer written by the person who allowed it, not a shrug.

Declaring a crossing is also the only way to make one. Two newtypes over String do not convert because they are both strings; they convert because a line in the specification says they may.

Optional<secrets.custody.Disclosure> may be used as secrets.custody.Disclosure​

An absent disclosure is workload_only (#[serde(default = "workload_only")], crates/secrets-core/src/lib.rs:52-53).

Nothing uses this crossing yet. It is still part of what the system permits, which is why it is written down.

Optional<Map<String, String>> may be used as Map<String, String>​

Absent labels are the empty map (#[serde(default)], crates/secrets-core/src/lib.rs:54-55).

Nothing uses this crossing yet. It is still part of what the system permits, which is why it is written down.

All domains.


Generated from secrets v1 · model digest a400890747eb193dcba0b845cca169bfb1ded00af40933596fb0f3cfe7dd593b · contract digest 344f6b6f0f6962de850814bc29912109be0979cc9c7f2b588b685298ace353e5. Do not edit this file; change the specification and regenerate it with task docs-generate.