Trait caffe2_imports::Drop
1.0.0 · source · pub trait Drop {
// Required method
fn drop(&mut self);
}
Expand description
Custom code within the destructor.
When a value is no longer needed, Rust will run a “destructor” on that value. The most common way that a value is no longer needed is when it goes out of scope. Destructors may still run in other circumstances, but we’re going to focus on scope for the examples here. To learn about some of those other cases, please see the reference section on destructors.
This destructor consists of two components:
- A call to
Drop::drop
for that value, if this specialDrop
trait is implemented for its type. - The automatically generated “drop glue” which recursively calls the destructors of all the fields of this value.
As Rust automatically calls the destructors of all contained fields,
you don’t have to implement Drop
in most cases. But there are some cases where
it is useful, for example for types which directly manage a resource.
That resource may be memory, it may be a file descriptor, it may be a network socket.
Once a value of that type is no longer going to be used, it should “clean up” its
resource by freeing the memory or closing the file or socket. This is
the job of a destructor, and therefore the job of Drop::drop
.
Examples
To see destructors in action, let’s take a look at the following program:
struct HasDrop;
impl Drop for HasDrop {
fn drop(&mut self) {
println!("Dropping HasDrop!");
}
}
struct HasTwoDrops {
one: HasDrop,
two: HasDrop,
}
impl Drop for HasTwoDrops {
fn drop(&mut self) {
println!("Dropping HasTwoDrops!");
}
}
fn main() {
let _x = HasTwoDrops { one: HasDrop, two: HasDrop };
println!("Running!");
}
Rust will first call Drop::drop
for _x
and then for both _x.one
and _x.two
,
meaning that running this will print
Running!
Dropping HasTwoDrops!
Dropping HasDrop!
Dropping HasDrop!
Even if we remove the implementation of Drop
for HasTwoDrop
, the destructors of its fields are still called.
This would result in
Running!
Dropping HasDrop!
Dropping HasDrop!
You cannot call Drop::drop
yourself
Because Drop::drop
is used to clean up a value, it may be dangerous to use this value after
the method has been called. As Drop::drop
does not take ownership of its input,
Rust prevents misuse by not allowing you to call Drop::drop
directly.
In other words, if you tried to explicitly call Drop::drop
in the above example, you’d get a compiler error.
If you’d like to explicitly call the destructor of a value, mem::drop
can be used instead.
Drop order
Which of our two HasDrop
drops first, though? For structs, it’s the same
order that they’re declared: first one
, then two
. If you’d like to try
this yourself, you can modify HasDrop
above to contain some data, like an
integer, and then use it in the println!
inside of Drop
. This behavior is
guaranteed by the language.
Unlike for structs, local variables are dropped in reverse order:
struct Foo;
impl Drop for Foo {
fn drop(&mut self) {
println!("Dropping Foo!")
}
}
struct Bar;
impl Drop for Bar {
fn drop(&mut self) {
println!("Dropping Bar!")
}
}
fn main() {
let _foo = Foo;
let _bar = Bar;
}
This will print
Dropping Bar!
Dropping Foo!
Please see the reference for the full rules.
Copy
and Drop
are exclusive
You cannot implement both Copy
and Drop
on the same type. Types that
are Copy
get implicitly duplicated by the compiler, making it very
hard to predict when, and how often destructors will be executed. As such,
these types cannot have destructors.
Required Methods§
sourcefn drop(&mut self)
fn drop(&mut self)
Executes the destructor for this type.
This method is called implicitly when the value goes out of scope,
and cannot be called explicitly (this is compiler error E0040).
However, the mem::drop
function in the prelude can be
used to call the argument’s Drop
implementation.
When this method has been called, self
has not yet been deallocated.
That only happens after the method is over.
If this wasn’t the case, self
would be a dangling reference.
Panics
Given that a panic!
will call drop
as it unwinds, any panic!
in a drop
implementation will likely abort.
Note that even if this panics, the value is considered to be dropped;
you must not cause drop
to be called again. This is normally automatically
handled by the compiler, but when using unsafe code, can sometimes occur
unintentionally, particularly when using ptr::drop_in_place
.
Implementors§
impl Drop for Waker
impl Drop for Algorithm
impl Drop for Arrays
impl Drop for AsyncArray
impl Drop for AsyncPromise
impl Drop for Buffer
impl Drop for BufferPool
impl Drop for CommandLineParser
impl Drop for Context
impl Drop for Context_UserContext
impl Drop for Detail_CheckContext
impl Drop for Device
impl Drop for DeviceInfo
impl Drop for Event
impl Drop for Exception
impl Drop for FileNode
impl Drop for FileNodeIterator
impl Drop for FileStorage
impl Drop for GpuData
impl Drop for GpuMat
impl Drop for GpuMatND
impl Drop for Hamming
impl Drop for HostMem
impl Drop for Image2D
impl Drop for Kernel
impl Drop for KernelArg
impl Drop for KeyPoint
impl Drop for LDA
impl Drop for LogTag
impl Drop for Mat
impl Drop for MatConstIterator
impl Drop for MatExpr
impl Drop for MatSize
impl Drop for MatStep
impl Drop for Matx_AddOp
impl Drop for Matx_DivOp
impl Drop for Matx_MatMulOp
impl Drop for Matx_MulOp
impl Drop for Matx_ScaleOp
impl Drop for Matx_SubOp
impl Drop for Matx_TOp
impl Drop for NodeData
impl Drop for OpenCLExecutionContext
impl Drop for OriginalClassName
impl Drop for PCA
impl Drop for Platform
impl Drop for PlatformInfo
impl Drop for Program
impl Drop for ProgramSource
impl Drop for Queue
impl Drop for RNG
impl Drop for RNG_MT19937
impl Drop for Range
impl Drop for RotatedRect
impl Drop for SVD
impl Drop for SparseMat
impl Drop for SparseMatConstIterator
impl Drop for SparseMatIterator
impl Drop for SparseMat_Hdr
impl Drop for SparseMat_Node
impl Drop for Stream
impl Drop for TargetArchs
impl Drop for Texture2D
impl Drop for TickMeter
impl Drop for Timer
impl Drop for UMat
impl Drop for UMatData
impl Drop for WriteStructContext
impl Drop for _InputArray
impl Drop for _InputOutputArray
impl Drop for _OutputArray
impl Drop for CString
impl Drop for alloc::string::Drain<'_>
impl Drop for OwnedFd
impl Drop for ConvolutionDescriptor
impl Drop for Cudnn
impl Drop for FilterDescriptor
impl Drop for NormalizationDescriptor
impl Drop for PoolingDescriptor
impl Drop for TensorDescriptor
impl Drop for EstimateParameters
impl Drop for BarcodeDetector
impl Drop for BackgroundSubtractorLSBPDesc
impl Drop for SyntheticSequenceGenerator
impl Drop for RetinaParameters
impl Drop for CustomPattern
impl Drop for MultiCameraCalibration
impl Drop for MultiCameraCalibration_edge
impl Drop for MultiCameraCalibration_vertex
impl Drop for RandomPatternCornerFinder
impl Drop for RandomPatternGenerator
impl Drop for CallMetaData
impl Drop for AbsLayer
impl Drop for AccumLayer
impl Drop for AcosLayer
impl Drop for AcoshLayer
impl Drop for ActivationLayer
impl Drop for ActivationLayerInt8
impl Drop for ArgLayer
impl Drop for AsinLayer
impl Drop for AsinhLayer
impl Drop for AtanLayer
impl Drop for AtanhLayer
impl Drop for BNLLLayer
impl Drop for BackendNode
impl Drop for BaseConvolutionLayer
impl Drop for BatchNormLayer
impl Drop for BatchNormLayerInt8
impl Drop for BlankLayer
impl Drop for CeilLayer
impl Drop for CeluLayer
impl Drop for ChannelsPReLULayer
impl Drop for ClassificationModel
impl Drop for CompareLayer
impl Drop for ConcatLayer
impl Drop for ConstLayer
impl Drop for ConvolutionLayer
impl Drop for ConvolutionLayerInt8
impl Drop for CorrelationLayer
impl Drop for CosLayer
impl Drop for CoshLayer
impl Drop for CropAndResizeLayer
impl Drop for CropLayer
impl Drop for CumSumLayer
impl Drop for DataAugmentationLayer
impl Drop for DeconvolutionLayer
impl Drop for DequantizeLayer
impl Drop for DetectionModel
impl Drop for DetectionOutputLayer
impl Drop for Dict
impl Drop for DictValue
impl Drop for ELULayer
impl Drop for EltwiseLayer
impl Drop for EltwiseLayerInt8
impl Drop for ErfLayer
impl Drop for ExpLayer
impl Drop for FlattenLayer
impl Drop for FloorLayer
impl Drop for FlowWarpLayer
impl Drop for GRULayer
impl Drop for GatherLayer
impl Drop for HardSigmoidLayer
impl Drop for HardSwishLayer
impl Drop for InnerProductLayer
impl Drop for InnerProductLayerInt8
impl Drop for InterpLayer
impl Drop for KeypointsModel
impl Drop for LRNLayer
impl Drop for Layer
impl Drop for LayerFactory
impl Drop for LayerParams
impl Drop for LogLayer
impl Drop for MVNLayer
impl Drop for MaxUnpoolLayer
impl Drop for MishLayer
impl Drop for Model
impl Drop for NaryEltwiseLayer
impl Drop for Net
impl Drop for NormalizeBBoxLayer
impl Drop for NotLayer
impl Drop for PaddingLayer
impl Drop for PermuteLayer
impl Drop for PoolingLayer
impl Drop for PoolingLayerInt8
impl Drop for PowerLayer
impl Drop for PriorBoxLayer
impl Drop for ProposalLayer
impl Drop for QuantizeLayer
impl Drop for ReLU6Layer
impl Drop for ReLULayer
impl Drop for ReciprocalLayer
impl Drop for ReduceLayer
impl Drop for ReduceLayerInt8
impl Drop for RegionLayer
impl Drop for ReorgLayer
impl Drop for RequantizeLayer
impl Drop for ReshapeLayer
impl Drop for ResizeLayer
impl Drop for RoundLayer
impl Drop for ScaleLayer
impl Drop for ScaleLayerInt8
impl Drop for ScatterLayer
impl Drop for ScatterNDLayer
impl Drop for SegmentationModel
impl Drop for SeluLayer
impl Drop for ShiftLayer
impl Drop for ShiftLayerInt8
impl Drop for ShrinkLayer
impl Drop for ShuffleChannelLayer
impl Drop for SigmoidLayer
impl Drop for SignLayer
impl Drop for SinLayer
impl Drop for SinhLayer
impl Drop for SliceLayer
impl Drop for SoftmaxLayer
impl Drop for SoftmaxLayerInt8
impl Drop for SoftplusLayer
impl Drop for SoftsignLayer
impl Drop for SplitLayer
impl Drop for SqrtLayer
impl Drop for SwishLayer
impl Drop for TanHLayer
impl Drop for TanLayer
impl Drop for TextDetectionModel
impl Drop for TextDetectionModel_DB
impl Drop for TextDetectionModel_EAST
impl Drop for TextRecognitionModel
impl Drop for ThresholdedReluLayer
impl Drop for TileLayer
impl Drop for _Range
impl Drop for DnnSuperResImpl
impl Drop for DPMDetector_ObjectDetection
impl Drop for CParams
impl Drop for FacemarkAAM_Config
impl Drop for FacemarkAAM_Data
impl Drop for FacemarkAAM_Model
impl Drop for FacemarkAAM_Model_Texture
impl Drop for FacemarkAAM_Params
impl Drop for FacemarkKazemi_Params
impl Drop for FacemarkLBF_Params
impl Drop for StandardCollector
impl Drop for BFMatcher
impl Drop for BOWImgDescriptorExtractor
impl Drop for BOWKMeansTrainer
impl Drop for Feature2D
impl Drop for FlannBasedMatcher
impl Drop for KeyPointsFilter
impl Drop for AutotunedIndexParams
impl Drop for CompositeIndexParams
impl Drop for HierarchicalClusteringIndexParams
impl Drop for Index
impl Drop for IndexParams
impl Drop for KDTreeIndexParams
impl Drop for KMeansIndexParams
impl Drop for LinearIndexParams
impl Drop for LshIndexParams
impl Drop for SavedIndexParams
impl Drop for SearchParams
impl Drop for Data
impl Drop for ExtractArgsCallback
impl Drop for ExtractMetaCallback
impl Drop for GArg
impl Drop for GArrayDesc
impl Drop for GArrayU
impl Drop for GBackend
impl Drop for GCall
impl Drop for GCompileArg
impl Drop for GCompiled
impl Drop for GComputation
impl Drop for GFrame
impl Drop for GFrameDesc
impl Drop for GKernel
impl Drop for GKernelImpl
impl Drop for GKernelPackage
impl Drop for GMat
impl Drop for GMatDesc
impl Drop for GMatP
impl Drop for GOpaqueDesc
impl Drop for GOpaqueU
impl Drop for GRunArg
impl Drop for GScalar
impl Drop for GScalarDesc
impl Drop for GStreamingCompiled
impl Drop for GTransform
impl Drop for GTypeInfo
impl Drop for Image
impl Drop for MediaFrame
impl Drop for MediaFrame_View
impl Drop for Poly
impl Drop for RMat
impl Drop for RMat_View
impl Drop for Scalar
impl Drop for Text
impl Drop for any
impl Drop for use_only
impl Drop for QtFont
impl Drop for AverageHash
impl Drop for BlockMeanHash
impl Drop for ColorMomentHash
impl Drop for ImgHashBase
impl Drop for MarrHildrethHash
impl Drop for PHash
impl Drop for RadialVarianceHash
impl Drop for ImageCollection
impl Drop for ImageCollection_iterator
impl Drop for IntelligentScissorsMB
impl Drop for LineIterator
impl Drop for Subdiv2D
impl Drop for BinaryDescriptor
impl Drop for BinaryDescriptorMatcher
impl Drop for BinaryDescriptor_Params
impl Drop for LSDDetector
impl Drop for ColorCorrectionModel
impl Drop for MCC_DetectorParameters
impl Drop for DTrees_Node
impl Drop for DTrees_Split
impl Drop for ParamGrid
impl Drop for ArucoDetector
impl Drop for Board
impl Drop for CascadeClassifier
impl Drop for CharucoBoard
impl Drop for CharucoDetector
impl Drop for CharucoParameters
impl Drop for DetectionBasedTracker
impl Drop for DetectionBasedTracker_ExtObject
impl Drop for DetectionBasedTracker_Parameters
impl Drop for DetectionROI
impl Drop for DetectorParameters
impl Drop for Dictionary
impl Drop for GridBoard
impl Drop for HOGDescriptor
impl Drop for QRCodeDetector
impl Drop for SimilarRects
impl Drop for GPCDetails
impl Drop for GPCPatchDescriptor
impl Drop for GPCPatchSample
impl Drop for GPCTrainingSamples
impl Drop for GPCTree
impl Drop for OpticalFlowPCAFlow
impl Drop for PCAPrior
impl Drop for RLOFOpticalFlowParameter
impl Drop for QualityBRISQUE
impl Drop for QualityGMSD
impl Drop for QualityMSE
impl Drop for QualityPSNR
impl Drop for QualitySSIM
impl Drop for ColoredKinfu_Params
impl Drop for DepthCleaner
impl Drop for FastICPOdometry
impl Drop for ICPOdometry
impl Drop for Kinfu_Params
impl Drop for Kinfu_VolumeParams
impl Drop for Linemod_ColorGradient
impl Drop for Linemod_DepthNormal
impl Drop for Linemod_Detector
impl Drop for Linemod_Match
impl Drop for Linemod_Template
impl Drop for OdometryFrame
impl Drop for Params
impl Drop for RgbdFrame
impl Drop for RgbdICPOdometry
impl Drop for RgbdNormals
impl Drop for RgbdOdometry
impl Drop for RgbdPlane
impl Drop for MotionSaliencyBinWangApr2014
impl Drop for ObjectnessBING
impl Drop for StaticSaliencyFineGrained
impl Drop for StaticSaliencySpectralResidual
impl Drop for AffineWarper
impl Drop for CompressedRectilinearPortraitWarper
impl Drop for CompressedRectilinearWarper
impl Drop for CylindricalWarper
impl Drop for CylindricalWarperGpu
impl Drop for Detail_AffineBasedEstimator
impl Drop for Detail_AffineBestOf2NearestMatcher
impl Drop for Detail_AffineWarper
impl Drop for Detail_BestOf2NearestMatcher
impl Drop for Detail_BestOf2NearestRangeMatcher
impl Drop for Detail_Blender
impl Drop for Detail_BlocksChannelsCompensator
impl Drop for Detail_BlocksGainCompensator
impl Drop for Detail_BundleAdjusterAffine
impl Drop for Detail_BundleAdjusterAffinePartial
impl Drop for Detail_BundleAdjusterRay
impl Drop for Detail_BundleAdjusterReproj
impl Drop for Detail_CameraParams
impl Drop for Detail_ChannelsCompensator
impl Drop for Detail_CompressedRectilinearPortraitProjector
impl Drop for Detail_CompressedRectilinearPortraitWarper
impl Drop for Detail_CompressedRectilinearProjector
impl Drop for Detail_CompressedRectilinearWarper
impl Drop for Detail_CylindricalPortraitProjector
impl Drop for Detail_CylindricalPortraitWarper
impl Drop for Detail_CylindricalProjector
impl Drop for Detail_CylindricalWarper
impl Drop for Detail_CylindricalWarperGpu
impl Drop for Detail_DisjointSets
impl Drop for Detail_DpSeamFinder
impl Drop for Detail_FeatherBlender
impl Drop for Detail_FisheyeProjector
impl Drop for Detail_FisheyeWarper
impl Drop for Detail_GainCompensator
impl Drop for Detail_Graph
impl Drop for Detail_GraphCutSeamFinder
impl Drop for Detail_GraphCutSeamFinderBase
impl Drop for Detail_GraphCutSeamFinderGpu
impl Drop for Detail_GraphEdge
impl Drop for Detail_HomographyBasedEstimator
impl Drop for Detail_ImageFeatures
impl Drop for Detail_MatchesInfo
impl Drop for Detail_MercatorProjector
impl Drop for Detail_MercatorWarper
impl Drop for Detail_MultiBandBlender
impl Drop for Detail_NoBundleAdjuster
impl Drop for Detail_NoExposureCompensator
impl Drop for Detail_NoSeamFinder
impl Drop for Detail_PaniniPortraitProjector
impl Drop for Detail_PaniniPortraitWarper
impl Drop for Detail_PaniniProjector
impl Drop for Detail_PaniniWarper
impl Drop for Detail_PlanePortraitProjector
impl Drop for Detail_PlanePortraitWarper
impl Drop for Detail_PlaneProjector
impl Drop for Detail_PlaneWarper
impl Drop for Detail_PlaneWarperGpu
impl Drop for Detail_ProjectorBase
impl Drop for Detail_SphericalPortraitProjector
impl Drop for Detail_SphericalPortraitWarper
impl Drop for Detail_SphericalProjector
impl Drop for Detail_SphericalWarper
impl Drop for Detail_SphericalWarperGpu
impl Drop for Detail_StereographicProjector
impl Drop for Detail_StereographicWarper
impl Drop for Detail_TransverseMercatorProjector
impl Drop for Detail_TransverseMercatorWarper
impl Drop for Detail_VoronoiSeamFinder
impl Drop for FisheyeWarper
impl Drop for MercatorWarper
impl Drop for PaniniPortraitWarper
impl Drop for PaniniWarper
impl Drop for PlaneWarper
impl Drop for PlaneWarperGpu
impl Drop for PyRotationWarper
impl Drop for SphericalWarper
impl Drop for SphericalWarperGpu
impl Drop for StereographicWarper
impl Drop for Stitcher
impl Drop for TransverseMercatorWarper
impl Drop for GrayCodePattern_Params
impl Drop for SinusoidalPattern_Params
impl Drop for ICP
impl Drop for PPF3DDetector
impl Drop for Pose3D
impl Drop for PoseCluster3D
impl Drop for ERStat
impl Drop for OCRBeamSearchDecoder
impl Drop for OCRBeamSearchDecoder_ClassifierCallback
impl Drop for OCRHMMDecoder
impl Drop for OCRHMMDecoder_ClassifierCallback
impl Drop for TrackerCSRT_Params
impl Drop for KalmanFilter
impl Drop for TrackerDaSiamRPN_Params
impl Drop for TrackerGOTURN_Params
impl Drop for TrackerNano_Params
impl Drop for VideoCapture
impl Drop for VideoWriter
impl Drop for ColorAverageInpainter
impl Drop for ColorInpainter
impl Drop for ConsistentMosaicInpainter
impl Drop for DensePyrLkOptFlowEstimatorGpu
impl Drop for FastMarchingMethod
impl Drop for FromFileMotionReader
impl Drop for GaussianMotionFilter
impl Drop for InpaintingPipeline
impl Drop for KeypointBasedMotionEstimator
impl Drop for KeypointBasedMotionEstimatorGpu
impl Drop for LogToStdout
impl Drop for LpMotionStabilizer
impl Drop for MaskFrameSource
impl Drop for MoreAccurateMotionWobbleSuppressor
impl Drop for MoreAccurateMotionWobbleSuppressorGpu
impl Drop for MotionEstimatorL1
impl Drop for MotionEstimatorRansacL2
impl Drop for MotionInpainter
impl Drop for MotionStabilizationPipeline
impl Drop for NullDeblurer
impl Drop for NullFrameSource
impl Drop for NullInpainter
impl Drop for NullLog
impl Drop for NullOutlierRejector
impl Drop for NullWobbleSuppressor
impl Drop for OnePassStabilizer
impl Drop for PyrLkOptFlowEstimatorBase
impl Drop for RansacParams
impl Drop for SparsePyrLkOptFlowEstimator
impl Drop for SparsePyrLkOptFlowEstimatorGpu
impl Drop for ToFileMotionWriter
impl Drop for TranslationBasedLocalOutlierRejector
impl Drop for TwoPassStabilizer
impl Drop for VideoFileSource
impl Drop for WeightingDeblurer
impl Drop for Camera
impl Drop for Color
impl Drop for KeyboardEvent
impl Drop for Mesh
impl Drop for MouseEvent
impl Drop for Viz3d
impl Drop for WArrow
impl Drop for WCameraPosition
impl Drop for WCircle
impl Drop for WCloud
impl Drop for WCloudCollection
impl Drop for WCloudNormals
impl Drop for WCone
impl Drop for WCoordinateSystem
impl Drop for WCube
impl Drop for WCylinder
impl Drop for WGrid
impl Drop for WImage3D
impl Drop for WImageOverlay
impl Drop for WLine
impl Drop for WMesh
impl Drop for WPaintedCloud
impl Drop for WPlane
impl Drop for WPolyLine
impl Drop for WSphere
impl Drop for WText3D
impl Drop for WText
impl Drop for WTrajectory
impl Drop for WTrajectoryFrustums
impl Drop for WTrajectorySpheres
impl Drop for WWidgetMerger
impl Drop for Widget2D
impl Drop for Widget3D
impl Drop for Widget
impl Drop for WeChatQRCode
impl Drop for Elliptic_KeyPoint
impl Drop for SURF_CUDA
impl Drop for TEBLID
impl Drop for ContourFitting
impl Drop for GILPool
impl Drop for GILGuard
The Drop implementation for GILGuard
will release the GIL.
impl Drop for Enter
impl Drop for Guard
impl Drop for LocalHandle
impl Drop for SelectedOperation<'_>
impl Drop for ThreadPool
impl Drop for WaitGroup
impl<'a> Drop for rayon::string::Drain<'a>
impl<'a, R, G, T> Drop for MappedReentrantMutexGuard<'a, R, G, T>where R: RawMutex + 'a, G: GetThreadId + 'a, T: 'a + ?Sized,
impl<'a, R, G, T> Drop for ReentrantMutexGuard<'a, R, G, T>where R: RawMutex + 'a, G: GetThreadId + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for MappedMutexGuard<'a, R, T>where R: RawMutex + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for MappedRwLockReadGuard<'a, R, T>where R: RawRwLock + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for MappedRwLockWriteGuard<'a, R, T>where R: RawRwLock + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for MutexGuard<'a, R, T>where R: RawMutex + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for RwLockReadGuard<'a, R, T>where R: RawRwLock + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for RwLockUpgradableReadGuard<'a, R, T>where R: RawRwLockUpgrade + 'a, T: 'a + ?Sized,
impl<'a, R, T> Drop for RwLockWriteGuard<'a, R, T>where R: RawRwLock + 'a, T: 'a + ?Sized,
impl<'a, T> Drop for DrainSorted<'a, T>where T: Ord,
impl<'a, T> Drop for rayon::collections::binary_heap::Drain<'a, T>where T: Ord + Send,
impl<'a, T> Drop for rayon::collections::vec_deque::Drain<'a, T>where T: Send,
impl<'a, T> Drop for smallvec::Drain<'a, T>where T: 'a + Array,
impl<'data, T> Drop for rayon::vec::Drain<'data, T>where T: Send,
impl<'f> Drop for VaListImpl<'f>
impl<'p, T> Drop for PyRef<'p, T>where T: PyClass,
impl<'p, T> Drop for PyRefMut<'p, T>where T: PyClass<Frozen = False>,
impl<A> Drop for RBTree<A>where A: Adapter, <A as Adapter>::LinkOps: RBTreeOps,
impl<A> Drop for SinglyLinkedList<A>where A: Adapter, <A as Adapter>::LinkOps: SinglyLinkedListOps,
impl<A> Drop for XorLinkedList<A>where A: Adapter, <A as Adapter>::LinkOps: XorLinkedListOps,
impl<A> Drop for OwnedRepr<A>
impl<A> Drop for smallvec::IntoIter<A>where A: Array,
impl<A> Drop for caffe2_imports::IntrusiveLinkedList<A>where A: Adapter, <A as Adapter>::LinkOps: LinkedListOps,
impl<A> Drop for SmallVec<A>where A: Array,
impl<Fut> Drop for FuturesUnordered<Fut>
impl<I, A> Drop for Splice<'_, I, A>where I: Iterator, A: Allocator,
impl<K, V, A> Drop for caffe2_imports::btree_map::IntoIter<K, V, A>where A: Allocator + Clone,
impl<K, V, A> Drop for BTreeMap<K, V, A>where A: Allocator + Clone,
impl<K, V, F, A> Drop for caffe2_imports::btree_map::DrainFilter<'_, K, V, F, A>where A: Allocator + Clone, F: FnMut(&K, &mut V) -> bool,
impl<T> Drop for PeekMut<'_, T>where T: Ord,
impl<T> Drop for Ptr<T>where Ptr<T>: PtrExtern, T: ?Sized,
impl<T> Drop for Tuple<T>where Tuple<T>: TupleExtern,
impl<T> Drop for Vector<T>where T: VectorElement, Vector<T>: VectorExtern<T>,
impl<T> Drop for ThinBox<T>where T: ?Sized,
impl<T> Drop for alloc::rc::Weak<T>where T: ?Sized,
impl<T> Drop for alloc::sync::Weak<T>where T: ?Sized,
impl<T> Drop for PyBuffer<T>
impl<T> Drop for caffe2_imports::linked_list::LinkedList<T>
impl<T> Drop for caffe2_imports::mpsc::Receiver<T>
impl<T> Drop for caffe2_imports::mpsc::Sender<T>
impl<T> Drop for SyncSender<T>
impl<T> Drop for Arc<T>where T: ?Sized,
impl<T> Drop for caffe2_imports::MutexGuard<'_, T>where T: ?Sized,
impl<T> Drop for OnceLock<T>
impl<T> Drop for Py<T>
Dropping a Py
instance decrements the reference count on the object by 1.