Module lint_tail_expr_drop_order

Source

StructsΒ§

DestructorLabel πŸ”’
DropsReachable πŸ”’
LocalLabel πŸ”’
TailExprDropOrderLint πŸ”’

EnumsΒ§

MovePathIndexAtBlock πŸ”’
Cache entry of drop at a BasicBlock

FunctionsΒ§

assign_observables_names πŸ”’
Assign names for anonymous or temporary values for diagnosis
collect_user_names πŸ”’
Extract binding names if available for diagnosis
extract_component_raw πŸ”’
Returns the list of types with a β€œpotentially sigificant” that may be dropped by dropping a value of type ty.
extract_component_with_significant_dtor πŸ”’
place_descendent_of_bids πŸ”’
Check if a moved place at idx is a part of a BID. The use of this check is that we will consider drops on these as a drop of the overall BID and, thus, we can exclude it from the diagnosis.
place_has_common_prefix πŸ”’
run_lint πŸ”’
The core of the lint tail-expr-drop-order
true_significant_drop_ty πŸ”’
An additional filter to exclude well-known types from the ecosystem because their drops are trivial. This returns additional types to check if the drops are delegated to those. A typical example is hashbrown::HashMap<K, V>, whose drop is delegated to K and V.
ty_dtor_span πŸ”’
Extract the span of the custom destructor of a type especially the span of the impl Drop header or its entire block when we are working with current local crate.