Skip to main content

Module mutability_errors

Module mutability_errors 

Source

Re-exportsยง

use core::ops::ControlFlow; ๐Ÿ”’
use either::Either; ๐Ÿ”’
use hir::ExprKind; ๐Ÿ”’
use hir::Param; ๐Ÿ”’
use rustc_abi::FieldIdx; ๐Ÿ”’
use rustc_attr_ir::lang_items::LangItem; ๐Ÿ”’
use rustc_errors::Applicability; ๐Ÿ”’
use rustc_errors::Diag; ๐Ÿ”’
use rustc_hir::def_id::DefId; ๐Ÿ”’
use rustc_hir::intravisit::Visitor; ๐Ÿ”’
use rustc_hir as hir; ๐Ÿ”’
use rustc_hir::BindingMode; ๐Ÿ”’
use rustc_hir::ByRef; ๐Ÿ”’
use rustc_hir::Expr; ๐Ÿ”’
use rustc_hir::Node; ๐Ÿ”’
use rustc_middle::hir::place::PlaceBase; ๐Ÿ”’
use rustc_middle::mir::visit::PlaceContext; ๐Ÿ”’
use rustc_middle::mir; ๐Ÿ”’
use rustc_middle::mir::BindingForm; ๐Ÿ”’
use rustc_middle::mir::Body; ๐Ÿ”’
use rustc_middle::mir::BorrowKind; ๐Ÿ”’
use rustc_middle::mir::Local; ๐Ÿ”’
use rustc_middle::mir::LocalDecl; ๐Ÿ”’
use rustc_middle::mir::LocalInfo; ๐Ÿ”’
use rustc_middle::mir::LocalKind; ๐Ÿ”’
use rustc_middle::mir::Location; ๐Ÿ”’
use rustc_middle::mir::Mutability; ๐Ÿ”’
use rustc_middle::mir::Operand; ๐Ÿ”’
use rustc_middle::mir::Place; ๐Ÿ”’
use rustc_middle::mir::PlaceRef; ๐Ÿ”’
use rustc_middle::mir::ProjectionElem; ๐Ÿ”’
use rustc_middle::mir::RawPtrKind; ๐Ÿ”’
use rustc_middle::mir::Rvalue; ๐Ÿ”’
use rustc_middle::mir::Statement; ๐Ÿ”’
use rustc_middle::mir::StatementKind; ๐Ÿ”’
use rustc_middle::mir::TerminatorKind; ๐Ÿ”’
use rustc_middle::ty; ๐Ÿ”’
use rustc_middle::ty::InstanceKind; ๐Ÿ”’
use rustc_middle::ty::Ty; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::Upcast; ๐Ÿ”’
use rustc_span::BytePos; ๐Ÿ”’
use rustc_span::DesugaringKind; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::bug; ๐Ÿ”’
use rustc_span::kw; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use rustc_trait_selection::error_reporting::InferCtxtErrorExt; ๐Ÿ”’
use rustc_trait_selection::infer::InferCtxtExt; ๐Ÿ”’
use rustc_trait_selection::traits; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use tracing::trace; ๐Ÿ”’
use crate::diagnostics::BorrowedContentSource; ๐Ÿ”’
use crate::MirBorrowckCtxt; ๐Ÿ”’
use crate::session_diagnostics; ๐Ÿ”’

Structsยง

BindingFinder ๐Ÿ”’

Enumsยง

AccessKind ๐Ÿ”’
AmpMutSugg ๐Ÿ”’

Functionsยง

find_assignments ๐Ÿ”’
Finds all statements that assign directly to local (i.e., X = โ€ฆ) and returns their locations.
get_mut_span_in_struct_field ๐Ÿ”’
Given a field that needs to be mutable, returns a span where the โ€œ mut โ€œ could go. This function expects the local to be a reference to a struct in order to produce a span.
is_closure_like ๐Ÿ”’
If the type is a Coroutine, Closure, or CoroutineClosure
mut_borrow_of_mutable_ref ๐Ÿ”’
suggest_ampmut ๐Ÿ”’
suggest_ampmut_self ๐Ÿ”’
suggest_ref_mut ๐Ÿ”’
If possible, suggest replacing ref with ref mut.