#[non_exhaustive]pub struct Subject {
pub id: String,
pub session: String,
pub email: Option<String>,
}Expand description
The person a verified credential speaks for.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: StringThe stable subject identifier — the value a table’s privacy declaration names as its subject column matches against.
session: StringThe session behind the credential. A deployment that needs instant revocation asks the auth service about this id.
email: Option<String>Present only when the credential carried a verified address.
Implementations§
Source§impl Subject
impl Subject
Sourcepub fn new(id: impl Into<String>) -> Self
pub fn new(id: impl Into<String>) -> Self
A subject with only an id, for a verifier that carries no more.
Built rather than written as a literal because the struct is
#[non_exhaustive]: an adapter outside this crate cannot name
every field, which is what lets a later field be added without
breaking every adapter. The builders are the way in.
Trait Implementations§
impl Eq for Subject
impl StructuralPartialEq for Subject
Auto Trait Implementations§
impl Freeze for Subject
impl RefUnwindSafe for Subject
impl Send for Subject
impl Sync for Subject
impl Unpin for Subject
impl UnsafeUnpin for Subject
impl UnwindSafe for Subject
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.