usestd::hash::Hash;usesuper::error::ProjectionError;/// A single selectable field in a projection. Typically implemented for
/// an enum whose variants correspond to the fields in the projection.
pubtraitProjectionField: Sized + Clone + Hash + Eq + 'static + AsRef<str> {/// Convert a string field name (e.g. `"firstName"`) into a typed field of this projection.
fnparse(s:&str)->Result<Self, ProjectionError>;/// The exhaustive list of valid field names for this projection.
fnall_field_names()->&'static[&'staticstr];/// All typed fields of this projection.
fnall()->&'static[Self];/// The resource name for this projection.
fnresource_name()->&'staticstr;}