pub(crate) unsafe trait JSTraceable {
// Required method
unsafe fn trace(&self, trc: *mut JSTracer);
}
Expand description
Types that can be traced.
This trait is unsafe; if it is implemented incorrectly, the GC may end up collecting objects that are still reachable.
Required Methods§
Implementations on Foreign Types§
Source§impl<A, B, C, D> Traceable for (A, B, C, D)
impl<A, B, C, D> Traceable for (A, B, C, D)
Source§impl<A, B, C, D, E> Traceable for (A, B, C, D, E)
impl<A, B, C, D, E> Traceable for (A, B, C, D, E)
Source§impl<A, B, C, D, E, F> Traceable for (A, B, C, D, E, F)
impl<A, B, C, D, E, F> Traceable for (A, B, C, D, E, F)
Source§impl<A, B, C, D, E, F, G> Traceable for (A, B, C, D, E, F, G)
impl<A, B, C, D, E, F, G> Traceable for (A, B, C, D, E, F, G)
Source§impl<A, B, C, D, E, F, G, H> Traceable for (A, B, C, D, E, F, G, H)
impl<A, B, C, D, E, F, G, H> Traceable for (A, B, C, D, E, F, G, H)
Source§impl<A, B, C, D, E, F, G, H, I> Traceable for (A, B, C, D, E, F, G, H, I)
impl<A, B, C, D, E, F, G, H, I> Traceable for (A, B, C, D, E, F, G, H, I)
Source§impl<A, B, C, D, E, F, G, H, I, J> Traceable for (A, B, C, D, E, F, G, H, I, J)
impl<A, B, C, D, E, F, G, H, I, J> Traceable for (A, B, C, D, E, F, G, H, I, J)
Source§impl<A, B, C, D, E, F, G, H, I, J, K> Traceable for (A, B, C, D, E, F, G, H, I, J, K)
impl<A, B, C, D, E, F, G, H, I, J, K> Traceable for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L> Traceable for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A, B, C, D, E, F, G, H, I, J, K, L> Traceable for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<Ret, A, B, C, D, E, F, G> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<Ret, A, B, C, D, E, F, G> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
Source§impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Traceable for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
Source§impl<T> Traceable for RootableVec<T>where
T: Traceable,
impl<T> Traceable for RootableVec<T>where
T: Traceable,
Source§impl<T> Traceable for RootedTraceableBox<T>where
T: Traceable + 'static,
impl<T> Traceable for RootedTraceableBox<T>where
T: Traceable + 'static,
Source§impl<T> Traceable for UnsafeCell<T>where
T: Traceable,
impl<T> Traceable for UnsafeCell<T>where
T: Traceable,
Implementors§
impl Traceable for AudioContextLatencyCategory
impl Traceable for ChannelCountMode
impl Traceable for ChannelInterpretation
impl Traceable for AutomationRate
impl Traceable for AudioContextState
impl Traceable for BiquadFilterType
impl Traceable for CanvasColorType
impl Traceable for CanvasDirection
impl Traceable for CanvasFillRule
impl Traceable for CanvasLineCap
impl Traceable for CanvasLineJoin
impl Traceable for CanvasTextAlign
impl Traceable for CanvasTextBaseline
impl Traceable for ImageDataPixelFormat
impl Traceable for PredefinedColorSpace
impl Traceable for FrameType
impl Traceable for PresentationStyle
impl Traceable for CookieSameSite
impl Traceable for CredentialMediationRequirement
impl Traceable for KeyType
impl Traceable for KeyUsage
impl Traceable for SupportedType
impl Traceable for DocumentReadyState
impl Traceable for DocumentVisibilityState
impl Traceable for ScrollIntoViewContainer
impl Traceable for ScrollLogicalPosition
impl Traceable for FakeXRRegionType
impl Traceable for FakeXRButtonType
impl Traceable for FontFaceLoadStatus
impl Traceable for GamepadHand
impl Traceable for GamepadHapticEffectType
impl Traceable for GamepadHapticsResult
impl Traceable for SelectionMode
impl Traceable for CanPlayTypeResult
impl Traceable for IDBCursorDirection
impl Traceable for IDBTransactionDurability
impl Traceable for IDBRequestReadyState
impl Traceable for IDBTransactionMode
impl Traceable for ColorSpaceConversion
impl Traceable for ImageOrientation
impl Traceable for PremultiplyAlpha
impl Traceable for ResizeQuality
impl Traceable for MediaDeviceKind
impl Traceable for MediaSessionAction
impl Traceable for MediaSessionPlaybackState
impl Traceable for NotificationDirection
impl Traceable for NotificationPermission
impl Traceable for OscillatorType
impl Traceable for DistanceModelType
impl Traceable for PanningModelType
impl Traceable for PermissionName
impl Traceable for PermissionState
impl Traceable for RTCDataChannelState
impl Traceable for RTCErrorDetailType
impl Traceable for RTCBundlePolicy
impl Traceable for RTCIceConnectionState
impl Traceable for RTCIceCredentialType
impl Traceable for RTCIceGatheringState
impl Traceable for RTCIceTransportPolicy
impl Traceable for RTCRtcpMuxPolicy
impl Traceable for RTCSignalingState
impl Traceable for RTCRtpTransceiverDirection
impl Traceable for RTCSdpType
impl Traceable for ReadableStreamReaderMode
impl Traceable for ReadableStreamType
impl Traceable for ReferrerPolicy
impl Traceable for RequestCache
impl Traceable for RequestCredentials
impl Traceable for RequestDestination
impl Traceable for RequestMode
impl Traceable for RequestRedirect
impl Traceable for ResizeObserverBoxOptions
impl Traceable for ResponseType
impl Traceable for SecurityPolicyViolationEventDisposition
impl Traceable for ServiceWorkerState
impl Traceable for ServiceWorkerUpdateViaCache
impl Traceable for ShadowRootMode
impl Traceable for SlotAssignmentMode
impl Traceable for KeyFormat
impl Traceable for TestEnum
impl Traceable for TextTrackKind
impl Traceable for TextTrackMode
impl Traceable for AlignSetting
impl Traceable for AutoKeyword
impl Traceable for DirectionSetting
impl Traceable for LineAlignSetting
impl Traceable for PositionAlignSetting
impl Traceable for ScrollSetting
impl Traceable for GPUAddressMode
impl Traceable for GPUAutoLayoutMode
impl Traceable for GPUBlendFactor
impl Traceable for GPUBlendOperation
impl Traceable for GPUBufferBindingType
impl Traceable for GPUBufferMapState
impl Traceable for GPUCanvasAlphaMode
impl Traceable for GPUCompareFunction
impl Traceable for GPUCompilationMessageType
impl Traceable for GPUCullMode
impl Traceable for GPUDeviceLostReason
impl Traceable for GPUErrorFilter
impl Traceable for GPUFeatureName
impl Traceable for GPUFilterMode
impl Traceable for GPUFrontFace
impl Traceable for GPUIndexFormat
impl Traceable for GPULoadOp
impl Traceable for GPUPipelineErrorReason
impl Traceable for GPUPipelineStatisticName
impl Traceable for GPUPowerPreference
impl Traceable for GPUPrimitiveTopology
impl Traceable for GPUQueryType
impl Traceable for GPUSamplerBindingType
impl Traceable for GPUStencilOperation
impl Traceable for GPUStorageTextureAccess
impl Traceable for GPUStoreOp
impl Traceable for GPUTextureAspect
impl Traceable for GPUTextureDimension
impl Traceable for GPUTextureFormat
impl Traceable for GPUTextureSampleType
impl Traceable for GPUTextureViewDimension
impl Traceable for GPUVertexFormat
impl Traceable for GPUVertexStepMode
impl Traceable for BinaryType
impl Traceable for ScrollBehavior
impl Traceable for WorkerType
impl Traceable for XMLHttpRequestResponseType
impl Traceable for XRHandJoint
impl Traceable for XRHitTestTrackableType
impl Traceable for XRHandedness
impl Traceable for XRTargetRayMode
impl Traceable for XRReferenceSpaceType
impl Traceable for XREnvironmentBlendMode
impl Traceable for XRInteractionMode
impl Traceable for XRVisibilityState
impl Traceable for XRSessionMode
impl Traceable for XREye
impl Traceable for XRLayerLayout
impl Traceable for XRTextureType
impl Traceable for ArrayBufferOrArrayBufferView
impl Traceable for ArrayBufferViewOrArrayBuffer
impl Traceable for ArrayBufferViewOrArrayBufferOrJsonWebKey
impl Traceable for AudioContextLatencyCategoryOrDouble
impl Traceable for BooleanOrMediaTrackConstraints
impl Traceable for BooleanOrScrollIntoViewOptions
impl Traceable for ByteStringOrLong
impl Traceable for ByteStringSequenceOrLong
impl Traceable for ByteStringSequenceOrLongOrString
impl Traceable for ByteStringSequenceSequenceOrByteStringByteStringRecord
impl Traceable for ClampedUnsignedLongOrConstrainULongRange
impl Traceable for DoubleOrAutoKeyword
impl Traceable for DoubleOrConstrainDoubleRange
impl Traceable for DoubleOrDoubleSequence
impl Traceable for DoubleSequenceOrGPUColorDict
impl Traceable for EventListenerOptionsOrBoolean
impl Traceable for Float32ArrayOrUnrestrictedFloatSequence
impl Traceable for Int32ArrayOrLongSequence
impl Traceable for LongOrLongSequenceSequence
impl Traceable for LongOrStringByteStringRecord
impl Traceable for LongSequenceOrBoolean
impl Traceable for ObjectOrString
impl Traceable for RangeEnforcedUnsignedLongSequenceOrGPUExtent3DDict
impl Traceable for RangeEnforcedUnsignedLongSequenceOrGPUOrigin2DDict
impl Traceable for RangeEnforcedUnsignedLongSequenceOrGPUOrigin3DDict
impl Traceable for StringOrArrayBufferViewOrArrayBuffer
impl Traceable for StringOrBoolean
impl Traceable for StringOrElementCreationOptions
impl Traceable for StringOrLongSequence
impl Traceable for StringOrObject
impl Traceable for StringOrStringSequence
impl Traceable for StringOrUnrestrictedDoubleSequence
impl Traceable for StringOrUnsignedLong
impl Traceable for StringSequenceOrUnsignedLong
impl Traceable for USVStringOrNotUsedAnyWhereElse
impl Traceable for USVStringOrURLPatternInit
impl Traceable for USVStringOrUndefined
impl Traceable for USVStringSequenceSequenceOrUSVStringUSVStringRecordOrUSVString
impl Traceable for Uint32ArrayOrUnsignedLongSequence
impl Traceable for UnsignedLongOrBoolean
impl Traceable for UnsignedLongOrUnsignedLongSequence
impl Traceable for DOMStringType
Safety comment: ??
This method will not trace the pointer if the rust string exists. The js string could be garbage collected and, hence, violating this could lead to undefined behavior