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.