Interaction mockup · representative data only · no Sage backend is running
S
Sage InspectorSemantic workspace
cargo sage inspect --package mini-redis
mini-redis · libread-only inspection
Associated function

DbDropGuard::db

test-fixtures/mini-redis/src/db.rs:108 · source-written · private(crate)
Complete 0 diagnostics Local symbol
src/db.rs:108–110
pub(crate) fn db(&self) -> Db {
    self.db.clone()
}
View

Completed typed body

CheckedBody
Method syntax has been consumed; dispatch and receiver adjustments are explicit.
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>[]