Associated function
DbDropGuard::db
Complete
0 diagnostics
Local symbol
pub(crate) fn db(&self) -> Db { self.db.clone() }
View
Completed typed body
CheckedBodyMethod syntax has been consumed; dispatch and receiver adjustments are explicit.
Lossless reflected Rust structure · source CST remains unelaborated
FnCstStashed<Ptr<FnCstData>>
root:Ptr<FnCstData>
pointee:FnCstData
attrs:Slice<AttrCst>length 0
- []
- name:Namedb
generics:Slice<GenericParamCst>length 0
- []
params:Slice<ParamCst>length 1
[0]:ParamCst&self
name:Option<Name>::Some
- value:Nameself
ty:Ptr<TypeCst>
pointee:TypeCst
- kind:TypeCstKind::Infer
- span:RelativeSpansrc/db.rs:108:22–27
receiver:Option<ReceiverCst>::Some
value:ReceiverCst::Ref
- mutability:Mutability::Shared
- lifetime:Option<Name>::None
- span:RelativeSpansrc/db.rs:108:22–27
ret:Option<Ptr<TypeCst>>::Some
value:Ptr<TypeCst>
pointee:TypeCstDb
kind:TypeCstKind::Path
0:Ptr<Path>
pointee:Path::Relative
0:PathSegment
- name:NameDb
- type_args:Slice<TypeCst>[]
- span:RelativeSpansrc/db.rs:108:32–34
- 1:Slice<PathSegment>[]
- span:RelativeSpansrc/db.rs:108:32–34
body:Option<Ptr<ExprCst>>::Some
value:Ptr<ExprCst>
pointee:ExprCst
kind:ExprCstKind::Block
- 0:Slice<StmtCst>[]
1:Option<Ptr<ExprCst>>::Some
value:Ptr<ExprCst>
pointee:ExprCstself.db.clone()
kind:ExprCstKind::MethodCall
0:Ptr<ExprCst>
pointee:ExprCstself.db
kind:ExprCstKind::Field
0:Ptr<ExprCst>self
pointee:ExprCst
kind:ExprCstKind::Path
0:Ptr<Path>
pointee:Path::Relative
0:PathSegment
- name:Nameself
- type_args:Slice<TypeCst>[]
- span:RelativeSpansrc/db.rs:109:9–13
- 1:Slice<PathSegment>[]
- span:RelativeSpansrc/db.rs:109:9–13
- 1:Namedb
- span:RelativeSpansrc/db.rs:109:9–16
- 1:Nameclone
- 2:Slice<ExprCst>[]
- span:RelativeSpansrc/db.rs:109:9–24
- span:RelativeSpansrc/db.rs:108:35–110:6
where_clauses:Slice<WhereClauseCst>length 0
- []
- span:RelativeSpansrc/db.rs:108:5–110:6
Precise typed IR structure
CheckedBody
body:TyBodyStashed<Ptr<TyBodyData>>
root:Ptr<TyBodyData>
pointee:TyBodyData
root:Ptr<TyExpr>
pointee:TyExprDb
data:TyExprData::Block
- 0:Slice<TyStmt>[]
1:Option<Ptr<TyExpr>>::Some
value:Ptr<TyExpr>
pointee:TyExprDb
data:TyExprData::ResolvedCall
0:ResolvedCallTarget
- function:FnSymbol
dispatch:CallDispatch::StaticTrait
self_ty:Ptr<Ty>Db
pointee:Ty::Adt
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
trait_ref:TraitRef
- trait_sym:TraitSymbol
- args:Slice<Ptr<Ty>>[]
owner_type_args:Slice<Ptr<Ty>>length 1
[0]:Ptr<Ty>
pointee:Ty::AdtDb
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- method_type_args:Slice<Ptr<Ty>>[]
1:Slice<Ptr<TyExpr>>length 1
[0]:Ptr<TyExpr>
pointee:TyExpr&Dummy Db
data:TyExprData::Ref
0:Ptr<TyExpr>
pointee:TyExprDb
data:TyExprData::Field
0:Ptr<TyExpr>
pointee:TyExprDbDropGuard
data:TyExprData::Deref
0:Ptr<TyExpr>
pointee:TyExpr&Dummy DbDropGuard
data:TyExprData::Path
0:PathResolution::Local
- 0:LocalId0
ty:Ptr<Ty>&Dummy DbDropGuard
pointee:Ty::Ref
0:Ptr<Ty>
pointee:Ty::AdtDbDropGuard
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- 1:Mutability::Shared
- 2:Lifetime::Dummy
- span:RelativeSpansrc/db.rs:109:9–13
ty:Ptr<Ty>DbDropGuard
pointee:Ty::Adt
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- span:RelativeSpansrc/db.rs:109:9–13
1:ResolvedField
owner:FieldOwner::Struct
- 0:StructSymbol
- index:u320
ty:Ptr<Ty>Db
pointee:Ty::Adt
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- span:RelativeSpansrc/db.rs:109:9–16
- 1:Mutability::Shared
ty:Ptr<Ty>&Dummy Db
pointee:Ty::Ref
0:Ptr<Ty>
pointee:Ty::AdtDb
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- 1:Mutability::Shared
- 2:Lifetime::Dummy
- span:RelativeSpansrc/db.rs:109:9–24
ty:Ptr<Ty>Db
pointee:Ty::Adt
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- span:RelativeSpansrc/db.rs:109:9–24
ty:Ptr<Ty>Db
pointee:Ty::Adt
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
- span:RelativeSpansrc/db.rs:108:35–110:6
locals:Slice<LocalVar>length 1
[0]:LocalVar
- name:Nameself
- span:RelativeSpansrc/db.rs:108:22–27
- span:RelativeSpansrc/db.rs:108:35–110:6
- diagnostics:Vec<Diagnostic>[]
Lossless reflected Rust structure · symbols remain navigable
Binder<FnSig>
value:FnSig
- owner_generic_count:u320
owner_self_ty:Option<Ptr<Ty>>::Some
value:Ptr<Ty>shared value #ty1
pointee:Ty::AdtDbDropGuard
- 0:Symbol
1:Slice<Ptr<Ty>>length 0
- []
receiver:Option<CheckedReceiver>::Some
value:CheckedReceiver
owner_self_ty:Ptr<Ty>shared value #ty1
pointee:Ty::AdtDbDropGuard
- 0:Symbol
- 1:Slice<Ptr<Ty>>[]
form:MethodReceiver::Ref
- mutability:Mutability::Shared
params:Slice<Ptr<Ty>>length 0
- []
ret:Ptr<Ty>value #ty2
pointee:Ty::AdtDb
- 0:Symbol
1:Slice<Ptr<Ty>>length 0
- []
parameter_env:CheckedParameterEnv
where_clauses:Slice<WherePredicate>length 0
- []
- solver_eligibility:SolverEligibility::Eligible
- method_candidate_eligibility:SolverEligibility::Eligible
- const_call_complete:boolfalse
generics:Slice<GenericParam>length 0
- []
Local struct
Db
Local symbolRepresented
Symbol relationships
Parent
Children
Local symbol summary
StructSigExternal associated function
Clone::clone
External symbol
Metadata available
Dependency metadata view
External definitions do not appear in the workspace symbol tree. This page shows only facts Sage can request from dependency metadata.
Symbol relationships
Parent
Children