Struct bluejay_validator::executable::rules::BuiltinRules
source · pub struct BuiltinRules<'a, E: ExecutableDocument, S: SchemaDefinition> { /* private fields */ }Trait Implementations§
source§impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> IntoIterator for BuiltinRules<'a, E, S>
impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> IntoIterator for BuiltinRules<'a, E, S>
§type IntoIter = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Map<<AllVariableUsagesAllowed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariableUsagesAllowed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>, Map<<AllVariablesUsed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariablesUsed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<AllVariableUsesDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariableUsesDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<VariablesAreInputTypes<'a, E, S> as IntoIterator>::IntoIter, fn(_: <VariablesAreInputTypes<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<VariableUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <VariableUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreUniquePerLocation<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreUniquePerLocation<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreInValidLocations<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreInValidLocations<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ValueIsValid<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ValueIsValid<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadIsPossible<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadIsPossible<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadsMustNotFormCycles<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadsMustNotFormCycles<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadTargetDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadTargetDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentsMustBeUsed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentsMustBeUsed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentsOnCompositeTypes<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentsOnCompositeTypes<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadTypeExists<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadTypeExists<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentNameUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentNameUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<RequiredArguments<'a, E, S> as IntoIterator>::IntoIter, fn(_: <RequiredArguments<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ArgumentUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ArgumentUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ArgumentNames<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ArgumentNames<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<LeafFieldSelections<'a, E, S> as IntoIterator>::IntoIter, fn(_: <LeafFieldSelections<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<OperationTypeIsDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <OperationTypeIsDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FieldSelectionMerging<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FieldSelectionMerging<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FieldSelections<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FieldSelections<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<SubscriptionOperationSingleRootField<'a, E, S> as IntoIterator>::IntoIter, fn(_: <SubscriptionOperationSingleRootField<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<LoneAnonymousOperation<'a, E, S> as IntoIterator>::IntoIter, fn(_: <LoneAnonymousOperation<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<NamedOperationNameUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <NamedOperationNameUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>
type IntoIter = Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Chain<Map<<AllVariableUsagesAllowed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariableUsagesAllowed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>, Map<<AllVariablesUsed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariablesUsed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<AllVariableUsesDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <AllVariableUsesDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<VariablesAreInputTypes<'a, E, S> as IntoIterator>::IntoIter, fn(_: <VariablesAreInputTypes<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<VariableUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <VariableUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreUniquePerLocation<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreUniquePerLocation<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreInValidLocations<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreInValidLocations<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<DirectivesAreDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <DirectivesAreDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ValueIsValid<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ValueIsValid<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadIsPossible<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadIsPossible<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadsMustNotFormCycles<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadsMustNotFormCycles<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadTargetDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadTargetDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentsMustBeUsed<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentsMustBeUsed<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentsOnCompositeTypes<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentsOnCompositeTypes<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentSpreadTypeExists<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentSpreadTypeExists<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FragmentNameUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FragmentNameUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<RequiredArguments<'a, E, S> as IntoIterator>::IntoIter, fn(_: <RequiredArguments<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ArgumentUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ArgumentUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<ArgumentNames<'a, E, S> as IntoIterator>::IntoIter, fn(_: <ArgumentNames<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<LeafFieldSelections<'a, E, S> as IntoIterator>::IntoIter, fn(_: <LeafFieldSelections<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<OperationTypeIsDefined<'a, E, S> as IntoIterator>::IntoIter, fn(_: <OperationTypeIsDefined<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FieldSelectionMerging<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FieldSelectionMerging<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<FieldSelections<'a, E, S> as IntoIterator>::IntoIter, fn(_: <FieldSelections<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<SubscriptionOperationSingleRootField<'a, E, S> as IntoIterator>::IntoIter, fn(_: <SubscriptionOperationSingleRootField<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<LoneAnonymousOperation<'a, E, S> as IntoIterator>::IntoIter, fn(_: <LoneAnonymousOperation<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>, Map<<NamedOperationNameUniqueness<'a, E, S> as IntoIterator>::IntoIter, fn(_: <NamedOperationNameUniqueness<'a, E, S> as Rule<'a, E, S>>::Error) -> Error<'a, E, S>>>
Which kind of iterator are we turning this into?
source§impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for BuiltinRules<'a, E, S>
impl<'a, E: ExecutableDocument + 'a, S: SchemaDefinition + 'a> Rule<'a, E, S> for BuiltinRules<'a, E, S>
source§impl<'a, E: ExecutableDocument, S: SchemaDefinition> Visitor<'a, E, S> for BuiltinRules<'a, E, S>
impl<'a, E: ExecutableDocument, S: SchemaDefinition> Visitor<'a, E, S> for BuiltinRules<'a, E, S>
fn visit_operation_definition( &mut self, operation_definition: &'a E::OperationDefinition )
fn visit_selection_set( &mut self, selection_set: &'a E::SelectionSet, type: TypeDefinitionReference<'a, S::TypeDefinition> )
fn visit_field( &mut self, field: &'a E::Field, field_definition: &'a S::FieldDefinition, path: &Path<'a, E> )
fn visit_const_directive( &mut self, directive: &'a E::Directive<{ _ }>, location: DirectiveLocation )
fn visit_variable_directive( &mut self, directive: &'a E::Directive<{ _ }>, location: DirectiveLocation )
fn visit_const_directives( &mut self, directives: &'a E::Directives<{ _ }>, location: DirectiveLocation )
fn visit_variable_directives( &mut self, directives: &'a E::Directives<{ _ }>, location: DirectiveLocation )
fn visit_fragment_definition( &mut self, fragment_definition: &'a E::FragmentDefinition )
fn visit_inline_fragment( &mut self, inline_fragment: &'a E::InlineFragment, scoped_type: TypeDefinitionReference<'a, S::TypeDefinition> )
fn visit_fragment_spread( &mut self, fragment_spread: &'a E::FragmentSpread, scoped_type: TypeDefinitionReference<'a, S::TypeDefinition>, path: &Path<'a, E> )
fn visit_const_argument( &mut self, argument: &'a E::Argument<{ _ }>, input_value_definition: &'a S::InputValueDefinition )
fn visit_variable_argument( &mut self, argument: &'a E::Argument<{ _ }>, input_value_definition: &'a S::InputValueDefinition, path: &Path<'a, E> )
fn visit_variable_definition( &mut self, variable_definition: &'a E::VariableDefinition )
fn visit_variable_definitions( &mut self, variable_definitions: &'a E::VariableDefinitions )
Auto Trait Implementations§
impl<'a, E, S> RefUnwindSafe for BuiltinRules<'a, E, S>where E: RefUnwindSafe, S: RefUnwindSafe, <E as ExecutableDocument>::Argument<false>: RefUnwindSafe, <E as ExecutableDocument>::Argument<true>: RefUnwindSafe, <S as SchemaDefinition>::CustomScalarTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::Directive<false>: RefUnwindSafe, <E as ExecutableDocument>::Directive<true>: RefUnwindSafe, <S as SchemaDefinition>::DirectiveDefinition: RefUnwindSafe, <S as SchemaDefinition>::EnumTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::ExplicitOperationDefinition: RefUnwindSafe, <E as ExecutableDocument>::Field: RefUnwindSafe, <S as SchemaDefinition>::FieldDefinition: RefUnwindSafe, <E as ExecutableDocument>::FragmentDefinition: RefUnwindSafe, <E as ExecutableDocument>::FragmentSpread: RefUnwindSafe, <E as ExecutableDocument>::InlineFragment: RefUnwindSafe, <S as SchemaDefinition>::InputObjectTypeDefinition: RefUnwindSafe, <S as SchemaDefinition>::InputType: RefUnwindSafe, <S as SchemaDefinition>::InputValueDefinition: RefUnwindSafe, <S as SchemaDefinition>::InterfaceTypeDefinition: RefUnwindSafe, <<<E as ExecutableDocument>::Value<false> as Value<false>>::Object as ObjectValue<false>>::Key: RefUnwindSafe, <<<E as ExecutableDocument>::Value<true> as Value<true>>::Object as ObjectValue<true>>::Key: RefUnwindSafe, <S as SchemaDefinition>::ObjectTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::OperationDefinition: RefUnwindSafe, <S as SchemaDefinition>::OutputType: RefUnwindSafe, <E as ExecutableDocument>::SelectionSet: RefUnwindSafe, <S as SchemaDefinition>::UnionTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::Value<false>: RefUnwindSafe, <E as ExecutableDocument>::Value<true>: RefUnwindSafe, <<E as ExecutableDocument>::Value<false> as Value<false>>::Variable: RefUnwindSafe, <E as ExecutableDocument>::VariableDefinition: RefUnwindSafe, <E as ExecutableDocument>::VariableType: RefUnwindSafe,
impl<'a, E, S> Send for BuiltinRules<'a, E, S>where E: Sync, S: Send + Sync, <E as ExecutableDocument>::Argument<false>: Sync, <E as ExecutableDocument>::Argument<true>: Sync, <S as SchemaDefinition>::CustomScalarTypeDefinition: Sync, <E as ExecutableDocument>::Directive<false>: Sync, <E as ExecutableDocument>::Directive<true>: Sync, <S as SchemaDefinition>::DirectiveDefinition: Sync, <S as SchemaDefinition>::EnumTypeDefinition: Sync, <E as ExecutableDocument>::ExplicitOperationDefinition: Sync, <E as ExecutableDocument>::Field: Sync, <S as SchemaDefinition>::FieldDefinition: Sync, <E as ExecutableDocument>::FragmentDefinition: Sync, <E as ExecutableDocument>::FragmentSpread: Sync, <E as ExecutableDocument>::InlineFragment: Sync, <S as SchemaDefinition>::InputObjectTypeDefinition: Sync, <S as SchemaDefinition>::InputType: Sync, <S as SchemaDefinition>::InputValueDefinition: Sync, <S as SchemaDefinition>::InterfaceTypeDefinition: Sync, <<<E as ExecutableDocument>::Value<false> as Value<false>>::Object as ObjectValue<false>>::Key: Sync, <<<E as ExecutableDocument>::Value<true> as Value<true>>::Object as ObjectValue<true>>::Key: Sync, <S as SchemaDefinition>::ObjectTypeDefinition: Sync, <E as ExecutableDocument>::OperationDefinition: Sync, <S as SchemaDefinition>::OutputType: Sync, <E as ExecutableDocument>::SelectionSet: Sync, <S as SchemaDefinition>::UnionTypeDefinition: Sync, <E as ExecutableDocument>::Value<false>: Sync, <E as ExecutableDocument>::Value<true>: Sync, <<E as ExecutableDocument>::Value<false> as Value<false>>::Variable: Sync, <E as ExecutableDocument>::VariableDefinition: Sync, <E as ExecutableDocument>::VariableType: Sync,
impl<'a, E, S> Sync for BuiltinRules<'a, E, S>where E: Sync, S: Sync, <E as ExecutableDocument>::Argument<false>: Sync, <E as ExecutableDocument>::Argument<true>: Sync, <S as SchemaDefinition>::CustomScalarTypeDefinition: Sync, <E as ExecutableDocument>::Directive<false>: Sync, <E as ExecutableDocument>::Directive<true>: Sync, <S as SchemaDefinition>::DirectiveDefinition: Sync, <S as SchemaDefinition>::EnumTypeDefinition: Sync, <E as ExecutableDocument>::ExplicitOperationDefinition: Sync, <E as ExecutableDocument>::Field: Sync, <S as SchemaDefinition>::FieldDefinition: Sync, <E as ExecutableDocument>::FragmentDefinition: Sync, <E as ExecutableDocument>::FragmentSpread: Sync, <E as ExecutableDocument>::InlineFragment: Sync, <S as SchemaDefinition>::InputObjectTypeDefinition: Sync, <S as SchemaDefinition>::InputType: Sync, <S as SchemaDefinition>::InputValueDefinition: Sync, <S as SchemaDefinition>::InterfaceTypeDefinition: Sync, <<<E as ExecutableDocument>::Value<false> as Value<false>>::Object as ObjectValue<false>>::Key: Sync, <<<E as ExecutableDocument>::Value<true> as Value<true>>::Object as ObjectValue<true>>::Key: Sync, <S as SchemaDefinition>::ObjectTypeDefinition: Sync, <E as ExecutableDocument>::OperationDefinition: Sync, <S as SchemaDefinition>::OutputType: Sync, <E as ExecutableDocument>::SelectionSet: Sync, <S as SchemaDefinition>::UnionTypeDefinition: Sync, <E as ExecutableDocument>::Value<false>: Sync, <E as ExecutableDocument>::Value<true>: Sync, <<E as ExecutableDocument>::Value<false> as Value<false>>::Variable: Sync, <E as ExecutableDocument>::VariableDefinition: Sync, <E as ExecutableDocument>::VariableType: Sync,
impl<'a, E, S> Unpin for BuiltinRules<'a, E, S>where S: Unpin,
impl<'a, E, S> UnwindSafe for BuiltinRules<'a, E, S>where E: RefUnwindSafe, S: UnwindSafe + RefUnwindSafe, <E as ExecutableDocument>::Argument<false>: RefUnwindSafe, <E as ExecutableDocument>::Argument<true>: RefUnwindSafe, <S as SchemaDefinition>::CustomScalarTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::Directive<false>: RefUnwindSafe, <E as ExecutableDocument>::Directive<true>: RefUnwindSafe, <S as SchemaDefinition>::DirectiveDefinition: RefUnwindSafe, <S as SchemaDefinition>::EnumTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::ExplicitOperationDefinition: RefUnwindSafe, <E as ExecutableDocument>::Field: RefUnwindSafe, <S as SchemaDefinition>::FieldDefinition: RefUnwindSafe, <E as ExecutableDocument>::FragmentDefinition: RefUnwindSafe, <E as ExecutableDocument>::FragmentSpread: RefUnwindSafe, <E as ExecutableDocument>::InlineFragment: RefUnwindSafe, <S as SchemaDefinition>::InputObjectTypeDefinition: RefUnwindSafe, <S as SchemaDefinition>::InputType: RefUnwindSafe, <S as SchemaDefinition>::InputValueDefinition: RefUnwindSafe, <S as SchemaDefinition>::InterfaceTypeDefinition: RefUnwindSafe, <<<E as ExecutableDocument>::Value<false> as Value<false>>::Object as ObjectValue<false>>::Key: RefUnwindSafe, <<<E as ExecutableDocument>::Value<true> as Value<true>>::Object as ObjectValue<true>>::Key: RefUnwindSafe, <S as SchemaDefinition>::ObjectTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::OperationDefinition: RefUnwindSafe, <S as SchemaDefinition>::OutputType: RefUnwindSafe, <E as ExecutableDocument>::SelectionSet: RefUnwindSafe, <S as SchemaDefinition>::UnionTypeDefinition: RefUnwindSafe, <E as ExecutableDocument>::Value<false>: RefUnwindSafe, <E as ExecutableDocument>::Value<true>: RefUnwindSafe, <<E as ExecutableDocument>::Value<false> as Value<false>>::Variable: RefUnwindSafe, <E as ExecutableDocument>::VariableDefinition: RefUnwindSafe, <E as ExecutableDocument>::VariableType: RefUnwindSafe,
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