Struct Counter
struct Counter {
counts: Counts,
test_file: bool,
nested_test: bool,
errors: Vec<String>,
}Expand description
Counts every #[expect] in a file: on items, and equally on statements,
expressions, fields, variants and parameters, which syn’s visitor reaches
through Visit::visit_attribute. An expectation inside a macro invocation’s
tokens is not parsed and so not counted.
An expectation is production code unless its file is test code by
test_files, or it sits on or inside an item marked #[cfg(test)].
Fields§
§counts: Counts§test_file: bool§nested_test: bool§errors: Vec<String>Implementations§
Trait Implementations§
§impl<'ast> Visit<'ast> for Counter
impl<'ast> Visit<'ast> for Counter
fn visit_attribute(&mut self, attr: &'ast Attribute)
fn visit_item(&mut self, item: &'ast Item)
fn visit_impl_item(&mut self, item: &'ast ImplItem)
fn visit_trait_item(&mut self, item: &'ast TraitItem)
fn visit_foreign_item(&mut self, item: &'ast ForeignItem)
fn visit_abi(&mut self, i: &'ast Abi)
fn visit_angle_bracketed_generic_arguments( &mut self, i: &'ast AngleBracketedGenericArguments, )
fn visit_arm(&mut self, i: &'ast Arm)
fn visit_assoc_const(&mut self, i: &'ast AssocConst)
fn visit_assoc_type(&mut self, i: &'ast AssocType)
fn visit_attr_style(&mut self, i: &'ast AttrStyle)
fn visit_bin_op(&mut self, i: &'ast BinOp)
fn visit_block(&mut self, i: &'ast Block)
fn visit_bound_lifetimes(&mut self, i: &'ast BoundLifetimes)
fn visit_captured_param(&mut self, i: &'ast CapturedParam)
fn visit_const_param(&mut self, i: &'ast ConstParam)
fn visit_constraint(&mut self, i: &'ast Constraint)
fn visit_data(&mut self, i: &'ast Data)
fn visit_data_enum(&mut self, i: &'ast DataEnum)
fn visit_data_struct(&mut self, i: &'ast DataStruct)
fn visit_data_union(&mut self, i: &'ast DataUnion)
fn visit_derive_input(&mut self, i: &'ast DeriveInput)
fn visit_expr(&mut self, i: &'ast Expr)
fn visit_expr_array(&mut self, i: &'ast ExprArray)
fn visit_expr_assign(&mut self, i: &'ast ExprAssign)
fn visit_expr_async(&mut self, i: &'ast ExprAsync)
fn visit_expr_await(&mut self, i: &'ast ExprAwait)
fn visit_expr_binary(&mut self, i: &'ast ExprBinary)
fn visit_expr_block(&mut self, i: &'ast ExprBlock)
fn visit_expr_break(&mut self, i: &'ast ExprBreak)
fn visit_expr_call(&mut self, i: &'ast ExprCall)
fn visit_expr_cast(&mut self, i: &'ast ExprCast)
fn visit_expr_closure(&mut self, i: &'ast ExprClosure)
fn visit_expr_const(&mut self, i: &'ast ExprConst)
fn visit_expr_continue(&mut self, i: &'ast ExprContinue)
fn visit_expr_field(&mut self, i: &'ast ExprField)
fn visit_expr_for_loop(&mut self, i: &'ast ExprForLoop)
fn visit_expr_group(&mut self, i: &'ast ExprGroup)
fn visit_expr_if(&mut self, i: &'ast ExprIf)
fn visit_expr_index(&mut self, i: &'ast ExprIndex)
fn visit_expr_infer(&mut self, i: &'ast ExprInfer)
fn visit_expr_let(&mut self, i: &'ast ExprLet)
fn visit_expr_lit(&mut self, i: &'ast ExprLit)
fn visit_expr_loop(&mut self, i: &'ast ExprLoop)
fn visit_expr_macro(&mut self, i: &'ast ExprMacro)
fn visit_expr_match(&mut self, i: &'ast ExprMatch)
fn visit_expr_method_call(&mut self, i: &'ast ExprMethodCall)
fn visit_expr_paren(&mut self, i: &'ast ExprParen)
fn visit_expr_path(&mut self, i: &'ast ExprPath)
fn visit_expr_range(&mut self, i: &'ast ExprRange)
fn visit_expr_raw_addr(&mut self, i: &'ast ExprRawAddr)
fn visit_expr_reference(&mut self, i: &'ast ExprReference)
fn visit_expr_repeat(&mut self, i: &'ast ExprRepeat)
fn visit_expr_return(&mut self, i: &'ast ExprReturn)
fn visit_expr_struct(&mut self, i: &'ast ExprStruct)
fn visit_expr_try(&mut self, i: &'ast ExprTry)
fn visit_expr_try_block(&mut self, i: &'ast ExprTryBlock)
fn visit_expr_tuple(&mut self, i: &'ast ExprTuple)
fn visit_expr_unary(&mut self, i: &'ast ExprUnary)
fn visit_expr_unsafe(&mut self, i: &'ast ExprUnsafe)
fn visit_expr_while(&mut self, i: &'ast ExprWhile)
fn visit_expr_yield(&mut self, i: &'ast ExprYield)
fn visit_field(&mut self, i: &'ast Field)
fn visit_field_pat(&mut self, i: &'ast FieldPat)
fn visit_field_value(&mut self, i: &'ast FieldValue)
fn visit_fields(&mut self, i: &'ast Fields)
fn visit_fields_named(&mut self, i: &'ast FieldsNamed)
fn visit_fields_unnamed(&mut self, i: &'ast FieldsUnnamed)
fn visit_file(&mut self, i: &'ast File)
fn visit_fn_arg(&mut self, i: &'ast FnArg)
fn visit_fn_ptr_variadic(&mut self, i: &'ast FnPtrVariadic)
fn visit_foreign_item_fn(&mut self, i: &'ast ForeignItemFn)
fn visit_foreign_item_macro(&mut self, i: &'ast ForeignItemMacro)
fn visit_foreign_item_static(&mut self, i: &'ast ForeignItemStatic)
fn visit_foreign_item_type(&mut self, i: &'ast ForeignItemType)
fn visit_frontmatter(&mut self, i: &'ast Frontmatter)
fn visit_generic_argument(&mut self, i: &'ast GenericArgument)
fn visit_generic_param(&mut self, i: &'ast GenericParam)
fn visit_generics(&mut self, i: &'ast Generics)
fn visit_ident(&mut self, i: &'ast Ident)
fn visit_impl_item_const(&mut self, i: &'ast ImplItemConst)
fn visit_impl_item_fn(&mut self, i: &'ast ImplItemFn)
fn visit_impl_item_macro(&mut self, i: &'ast ImplItemMacro)
fn visit_impl_item_type(&mut self, i: &'ast ImplItemType)
fn visit_index(&mut self, i: &'ast Index)
fn visit_item_const(&mut self, i: &'ast ItemConst)
fn visit_item_enum(&mut self, i: &'ast ItemEnum)
fn visit_item_extern_crate(&mut self, i: &'ast ItemExternCrate)
fn visit_item_fn(&mut self, i: &'ast ItemFn)
fn visit_item_foreign_mod(&mut self, i: &'ast ItemForeignMod)
fn visit_item_impl(&mut self, i: &'ast ItemImpl)
fn visit_item_macro(&mut self, i: &'ast ItemMacro)
fn visit_item_mod(&mut self, i: &'ast ItemMod)
fn visit_item_static(&mut self, i: &'ast ItemStatic)
fn visit_item_struct(&mut self, i: &'ast ItemStruct)
fn visit_item_trait(&mut self, i: &'ast ItemTrait)
fn visit_item_trait_alias(&mut self, i: &'ast ItemTraitAlias)
fn visit_item_type(&mut self, i: &'ast ItemType)
fn visit_item_union(&mut self, i: &'ast ItemUnion)
fn visit_item_use(&mut self, i: &'ast ItemUse)
fn visit_label(&mut self, i: &'ast Label)
fn visit_lifetime(&mut self, i: &'ast Lifetime)
fn visit_lifetime_param(&mut self, i: &'ast LifetimeParam)
fn visit_lit(&mut self, i: &'ast Lit)
fn visit_lit_bool(&mut self, i: &'ast LitBool)
fn visit_lit_byte(&mut self, i: &'ast LitByte)
fn visit_lit_byte_str(&mut self, i: &'ast LitByteStr)
fn visit_lit_cstr(&mut self, i: &'ast LitCStr)
fn visit_lit_char(&mut self, i: &'ast LitChar)
fn visit_lit_float(&mut self, i: &'ast LitFloat)
fn visit_lit_int(&mut self, i: &'ast LitInt)
fn visit_lit_str(&mut self, i: &'ast LitStr)
fn visit_local(&mut self, i: &'ast Local)
fn visit_local_init(&mut self, i: &'ast LocalInit)
fn visit_macro(&mut self, i: &'ast Macro)
fn visit_macro_delimiter(&mut self, i: &'ast MacroDelimiter)
fn visit_member(&mut self, i: &'ast Member)
fn visit_meta(&mut self, i: &'ast Meta)
fn visit_meta_list(&mut self, i: &'ast MetaList)
fn visit_meta_name_value(&mut self, i: &'ast MetaNameValue)
fn visit_named_arg(&mut self, i: &'ast NamedArg)
fn visit_parenthesized_generic_arguments( &mut self, i: &'ast ParenthesizedGenericArguments, )
fn visit_pat(&mut self, i: &'ast Pat)
fn visit_pat_guard(&mut self, i: &'ast PatGuard)
fn visit_pat_ident(&mut self, i: &'ast PatIdent)
fn visit_pat_or(&mut self, i: &'ast PatOr)
fn visit_pat_paren(&mut self, i: &'ast PatParen)
fn visit_pat_reference(&mut self, i: &'ast PatReference)
fn visit_pat_rest(&mut self, i: &'ast PatRest)
fn visit_pat_slice(&mut self, i: &'ast PatSlice)
fn visit_pat_struct(&mut self, i: &'ast PatStruct)
fn visit_pat_tuple(&mut self, i: &'ast PatTuple)
fn visit_pat_tuple_struct(&mut self, i: &'ast PatTupleStruct)
fn visit_pat_type(&mut self, i: &'ast PatType)
fn visit_pat_wild(&mut self, i: &'ast PatWild)
fn visit_path(&mut self, i: &'ast Path)
fn visit_path_arguments(&mut self, i: &'ast PathArguments)
fn visit_path_segment(&mut self, i: &'ast PathSegment)
fn visit_pointer_mutability(&mut self, i: &'ast PointerMutability)
fn visit_precise_capture(&mut self, i: &'ast PreciseCapture)
fn visit_predicate_lifetime(&mut self, i: &'ast PredicateLifetime)
fn visit_predicate_type(&mut self, i: &'ast PredicateType)
fn visit_qself(&mut self, i: &'ast QSelf)
fn visit_range_limits(&mut self, i: &'ast RangeLimits)
fn visit_receiver(&mut self, i: &'ast Receiver)
fn visit_receiver_kind(&mut self, i: &'ast ReceiverKind)
fn visit_return_type(&mut self, i: &'ast ReturnType)
fn visit_safety(&mut self, i: &'ast Safety)
fn visit_signature(&mut self, i: &'ast Signature)
fn visit_static_mutability(&mut self, i: &'ast StaticMutability)
fn visit_stmt(&mut self, i: &'ast Stmt)
fn visit_stmt_macro(&mut self, i: &'ast StmtMacro)
fn visit_token_stream(&mut self, i: &'ast TokenStream)
fn visit_trait_bound(&mut self, i: &'ast TraitBound)
fn visit_trait_item_const(&mut self, i: &'ast TraitItemConst)
fn visit_trait_item_fn(&mut self, i: &'ast TraitItemFn)
fn visit_trait_item_macro(&mut self, i: &'ast TraitItemMacro)
fn visit_trait_item_type(&mut self, i: &'ast TraitItemType)
fn visit_type(&mut self, i: &'ast Type)
fn visit_type_array(&mut self, i: &'ast TypeArray)
fn visit_type_fn_ptr(&mut self, i: &'ast TypeFnPtr)
fn visit_type_group(&mut self, i: &'ast TypeGroup)
fn visit_type_impl_trait(&mut self, i: &'ast TypeImplTrait)
fn visit_type_infer(&mut self, i: &'ast TypeInfer)
fn visit_type_macro(&mut self, i: &'ast TypeMacro)
fn visit_type_never(&mut self, i: &'ast TypeNever)
fn visit_type_param(&mut self, i: &'ast TypeParam)
fn visit_type_param_bound(&mut self, i: &'ast TypeParamBound)
fn visit_type_paren(&mut self, i: &'ast TypeParen)
fn visit_type_path(&mut self, i: &'ast TypePath)
fn visit_type_ptr(&mut self, i: &'ast TypePtr)
fn visit_type_reference(&mut self, i: &'ast TypeReference)
fn visit_type_slice(&mut self, i: &'ast TypeSlice)
fn visit_type_trait_object(&mut self, i: &'ast TypeTraitObject)
fn visit_type_tuple(&mut self, i: &'ast TypeTuple)
fn visit_un_op(&mut self, i: &'ast UnOp)
fn visit_use_glob(&mut self, i: &'ast UseGlob)
fn visit_use_group(&mut self, i: &'ast UseGroup)
fn visit_use_name(&mut self, i: &'ast UseName)
fn visit_use_path(&mut self, i: &'ast UsePath)
fn visit_use_rename(&mut self, i: &'ast UseRename)
fn visit_use_tree(&mut self, i: &'ast UseTree)
fn visit_variadic(&mut self, i: &'ast Variadic)
fn visit_variant(&mut self, i: &'ast Variant)
fn visit_vis_restricted(&mut self, i: &'ast VisRestricted)
fn visit_visibility(&mut self, i: &'ast Visibility)
fn visit_where_clause(&mut self, i: &'ast WhereClause)
fn visit_where_clause_placement(&mut self, i: &'ast WhereClausePlacement)
fn visit_where_predicate(&mut self, i: &'ast WherePredicate)
Auto Trait Implementations§
impl Freeze for Counter
impl RefUnwindSafe for Counter
impl Send for Counter
impl Sync for Counter
impl Unpin for Counter
impl UnsafeUnpin for Counter
impl UnwindSafe for Counter
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T, U> Imply<T> for U
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more