RetryClient

Struct RetryClient 

Source
pub struct RetryClient<SG> { /* private fields */ }
Expand description

A wrapper for a [WorkflowClientTrait] or crate::WorkflowService implementor which performs auto-retries

Implementations§

Source§

impl<SG> RetryClient<SG>

Source

pub fn new(client: SG, retry_config: RetryConfig) -> RetryClient<SG>

Use the provided retry config with the provided client

Source§

impl<SG> RetryClient<SG>

Source

pub fn get_client(&self) -> &SG

Return the inner client type

Source

pub fn get_client_mut(&mut self) -> &mut SG

Return the inner client type mutably

Source

pub fn into_inner(self) -> SG

Disable retry and return the inner client type

Trait Implementations§

Source§

impl<SG> Clone for RetryClient<SG>
where SG: Clone,

Source§

fn clone(&self) -> RetryClient<SG>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<SG> Debug for RetryClient<SG>
where SG: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<SG> NamespacedClient for RetryClient<SG>
where SG: NamespacedClient,

Source§

fn namespace(&self) -> String

Returns the namespace this client is bound to
Source§

fn identity(&self) -> String

Returns the client identity

Auto Trait Implementations§

§

impl<SG> Freeze for RetryClient<SG>
where SG: Freeze,

§

impl<SG> RefUnwindSafe for RetryClient<SG>
where SG: RefUnwindSafe,

§

impl<SG> Send for RetryClient<SG>
where SG: Send,

§

impl<SG> Sync for RetryClient<SG>
where SG: Sync,

§

impl<SG> Unpin for RetryClient<SG>
where SG: Unpin,

§

impl<SG> UnwindSafe for RetryClient<SG>
where SG: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<RC, T> CloudService for RC
where RC: RawClientLike<SvcType = T>, T: GrpcService<Body> + Send + Clone + 'static, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::Future: Send, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

Source§

fn get_users( &mut self, request: impl IntoRequest<GetUsersRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUsersResponse>, Status>> + Send + '_>>

Source§

fn get_user( &mut self, request: impl IntoRequest<GetUserRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUserResponse>, Status>> + Send + '_>>

Source§

fn create_user( &mut self, request: impl IntoRequest<CreateUserRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateUserResponse>, Status>> + Send + '_>>

Source§

fn update_user( &mut self, request: impl IntoRequest<UpdateUserRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateUserResponse>, Status>> + Send + '_>>

Source§

fn delete_user( &mut self, request: impl IntoRequest<DeleteUserRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteUserResponse>, Status>> + Send + '_>>

Source§

fn set_user_namespace_access( &mut self, request: impl IntoRequest<SetUserNamespaceAccessRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SetUserNamespaceAccessResponse>, Status>> + Send + '_>>

Source§

fn get_async_operation( &mut self, request: impl IntoRequest<GetAsyncOperationRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetAsyncOperationResponse>, Status>> + Send + '_>>

Source§

fn create_namespace( &mut self, request: impl IntoRequest<CreateNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateNamespaceResponse>, Status>> + Send + '_>>

Source§

fn get_namespaces( &mut self, request: impl IntoRequest<GetNamespacesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNamespacesResponse>, Status>> + Send + '_>>

Source§

fn get_namespace( &mut self, request: impl IntoRequest<GetNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNamespaceResponse>, Status>> + Send + '_>>

Source§

fn update_namespace( &mut self, request: impl IntoRequest<UpdateNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNamespaceResponse>, Status>> + Send + '_>>

Source§

fn rename_custom_search_attribute( &mut self, request: impl IntoRequest<RenameCustomSearchAttributeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RenameCustomSearchAttributeResponse>, Status>> + Send + '_>>

Source§

fn delete_namespace( &mut self, request: impl IntoRequest<DeleteNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNamespaceResponse>, Status>> + Send + '_>>

Source§

fn failover_namespace_region( &mut self, request: impl IntoRequest<FailoverNamespaceRegionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<FailoverNamespaceRegionResponse>, Status>> + Send + '_>>

Source§

fn add_namespace_region( &mut self, request: impl IntoRequest<AddNamespaceRegionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<AddNamespaceRegionResponse>, Status>> + Send + '_>>

Source§

fn delete_namespace_region( &mut self, request: impl IntoRequest<DeleteNamespaceRegionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNamespaceRegionResponse>, Status>> + Send + '_>>

Source§

fn get_regions( &mut self, request: impl IntoRequest<GetRegionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetRegionsResponse>, Status>> + Send + '_>>

Source§

fn get_region( &mut self, request: impl IntoRequest<GetRegionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetRegionResponse>, Status>> + Send + '_>>

Source§

fn get_api_keys( &mut self, request: impl IntoRequest<GetApiKeysRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetApiKeysResponse>, Status>> + Send + '_>>

Source§

fn get_api_key( &mut self, request: impl IntoRequest<GetApiKeyRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetApiKeyResponse>, Status>> + Send + '_>>

Source§

fn create_api_key( &mut self, request: impl IntoRequest<CreateApiKeyRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateApiKeyResponse>, Status>> + Send + '_>>

Source§

fn update_api_key( &mut self, request: impl IntoRequest<UpdateApiKeyRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateApiKeyResponse>, Status>> + Send + '_>>

Source§

fn delete_api_key( &mut self, request: impl IntoRequest<DeleteApiKeyRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteApiKeyResponse>, Status>> + Send + '_>>

Source§

fn get_nexus_endpoints( &mut self, request: impl IntoRequest<GetNexusEndpointsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNexusEndpointsResponse>, Status>> + Send + '_>>

Source§

fn get_nexus_endpoint( &mut self, request: impl IntoRequest<GetNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn create_nexus_endpoint( &mut self, request: impl IntoRequest<CreateNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn update_nexus_endpoint( &mut self, request: impl IntoRequest<UpdateNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn delete_nexus_endpoint( &mut self, request: impl IntoRequest<DeleteNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn get_user_groups( &mut self, request: impl IntoRequest<GetUserGroupsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUserGroupsResponse>, Status>> + Send + '_>>

Source§

fn get_user_group( &mut self, request: impl IntoRequest<GetUserGroupRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUserGroupResponse>, Status>> + Send + '_>>

Source§

fn create_user_group( &mut self, request: impl IntoRequest<CreateUserGroupRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateUserGroupResponse>, Status>> + Send + '_>>

Source§

fn update_user_group( &mut self, request: impl IntoRequest<UpdateUserGroupRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateUserGroupResponse>, Status>> + Send + '_>>

Source§

fn delete_user_group( &mut self, request: impl IntoRequest<DeleteUserGroupRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteUserGroupResponse>, Status>> + Send + '_>>

Source§

fn add_user_group_member( &mut self, request: impl IntoRequest<AddUserGroupMemberRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<AddUserGroupMemberResponse>, Status>> + Send + '_>>

Source§

fn remove_user_group_member( &mut self, request: impl IntoRequest<RemoveUserGroupMemberRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RemoveUserGroupMemberResponse>, Status>> + Send + '_>>

Source§

fn get_user_group_members( &mut self, request: impl IntoRequest<GetUserGroupMembersRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUserGroupMembersResponse>, Status>> + Send + '_>>

Source§

fn set_user_group_namespace_access( &mut self, request: impl IntoRequest<SetUserGroupNamespaceAccessRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SetUserGroupNamespaceAccessResponse>, Status>> + Send + '_>>

Source§

fn create_service_account( &mut self, request: impl IntoRequest<CreateServiceAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateServiceAccountResponse>, Status>> + Send + '_>>

Source§

fn get_service_account( &mut self, request: impl IntoRequest<GetServiceAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetServiceAccountResponse>, Status>> + Send + '_>>

Source§

fn get_service_accounts( &mut self, request: impl IntoRequest<GetServiceAccountsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetServiceAccountsResponse>, Status>> + Send + '_>>

Source§

fn update_service_account( &mut self, request: impl IntoRequest<UpdateServiceAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateServiceAccountResponse>, Status>> + Send + '_>>

Source§

fn delete_service_account( &mut self, request: impl IntoRequest<DeleteServiceAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteServiceAccountResponse>, Status>> + Send + '_>>

Source§

fn get_usage( &mut self, request: impl IntoRequest<GetUsageRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetUsageResponse>, Status>> + Send + '_>>

Source§

fn get_account( &mut self, request: impl IntoRequest<GetAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetAccountResponse>, Status>> + Send + '_>>

Source§

fn update_account( &mut self, request: impl IntoRequest<UpdateAccountRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateAccountResponse>, Status>> + Send + '_>>

Source§

fn create_namespace_export_sink( &mut self, request: impl IntoRequest<CreateNamespaceExportSinkRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateNamespaceExportSinkResponse>, Status>> + Send + '_>>

Source§

fn get_namespace_export_sink( &mut self, request: impl IntoRequest<GetNamespaceExportSinkRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNamespaceExportSinkResponse>, Status>> + Send + '_>>

Source§

fn get_namespace_export_sinks( &mut self, request: impl IntoRequest<GetNamespaceExportSinksRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNamespaceExportSinksResponse>, Status>> + Send + '_>>

Source§

fn update_namespace_export_sink( &mut self, request: impl IntoRequest<UpdateNamespaceExportSinkRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNamespaceExportSinkResponse>, Status>> + Send + '_>>

Source§

fn delete_namespace_export_sink( &mut self, request: impl IntoRequest<DeleteNamespaceExportSinkRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNamespaceExportSinkResponse>, Status>> + Send + '_>>

Source§

fn validate_namespace_export_sink( &mut self, request: impl IntoRequest<ValidateNamespaceExportSinkRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ValidateNamespaceExportSinkResponse>, Status>> + Send + '_>>

Source§

fn update_namespace_tags( &mut self, request: impl IntoRequest<UpdateNamespaceTagsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNamespaceTagsResponse>, Status>> + Send + '_>>

Source§

fn create_connectivity_rule( &mut self, request: impl IntoRequest<CreateConnectivityRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateConnectivityRuleResponse>, Status>> + Send + '_>>

Source§

fn get_connectivity_rule( &mut self, request: impl IntoRequest<GetConnectivityRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetConnectivityRuleResponse>, Status>> + Send + '_>>

Source§

fn get_connectivity_rules( &mut self, request: impl IntoRequest<GetConnectivityRulesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetConnectivityRulesResponse>, Status>> + Send + '_>>

Source§

fn delete_connectivity_rule( &mut self, request: impl IntoRequest<DeleteConnectivityRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteConnectivityRuleResponse>, Status>> + Send + '_>>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<RC, T> HealthService for RC
where RC: RawClientLike<SvcType = T>, T: GrpcService<Body> + Send + Clone + 'static, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::Future: Send, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<RC, T> OperatorService for RC
where RC: RawClientLike<SvcType = T>, T: GrpcService<Body> + Send + Clone + 'static, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::Future: Send, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

Source§

fn add_search_attributes( &mut self, request: impl IntoRequest<AddSearchAttributesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<AddSearchAttributesResponse>, Status>> + Send + '_>>

Source§

fn remove_search_attributes( &mut self, request: impl IntoRequest<RemoveSearchAttributesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RemoveSearchAttributesResponse>, Status>> + Send + '_>>

Source§

fn list_search_attributes( &mut self, request: impl IntoRequest<ListSearchAttributesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListSearchAttributesResponse>, Status>> + Send + '_>>

Source§

fn delete_namespace( &mut self, request: impl IntoRequest<DeleteNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNamespaceResponse>, Status>> + Send + '_>>

Source§

fn add_or_update_remote_cluster( &mut self, request: impl IntoRequest<AddOrUpdateRemoteClusterRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<AddOrUpdateRemoteClusterResponse>, Status>> + Send + '_>>

Source§

fn remove_remote_cluster( &mut self, request: impl IntoRequest<RemoveRemoteClusterRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RemoveRemoteClusterResponse>, Status>> + Send + '_>>

Source§

fn list_clusters( &mut self, request: impl IntoRequest<ListClustersRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListClustersResponse>, Status>> + Send + '_>>

Source§

fn get_nexus_endpoint( &mut self, request: impl IntoRequest<GetNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn create_nexus_endpoint( &mut self, request: impl IntoRequest<CreateNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn update_nexus_endpoint( &mut self, request: impl IntoRequest<UpdateNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn delete_nexus_endpoint( &mut self, request: impl IntoRequest<DeleteNexusEndpointRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteNexusEndpointResponse>, Status>> + Send + '_>>

Source§

fn list_nexus_endpoints( &mut self, request: impl IntoRequest<ListNexusEndpointsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListNexusEndpointsResponse>, Status>> + Send + '_>>

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<RC, T> TestService for RC
where RC: RawClientLike<SvcType = T>, T: GrpcService<Body> + Send + Clone + 'static, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::Future: Send, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WfClientExt for T
where T: WfHandleClient + Clone,

Source§

fn get_untyped_workflow_handle( &self, workflow_id: impl Into<String>, run_id: impl Into<String>, ) -> WorkflowHandle<Self, Vec<Payload>>

Create an untyped handle for a workflow execution, which can be used to do things like wait for that workflow’s result. run_id may be left blank to target the latest run.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<RC, T> WorkflowService for RC
where RC: RawClientLike<SvcType = T>, T: GrpcService<Body> + Send + Clone + 'static, <T as GrpcService<Body>>::ResponseBody: Body<Data = Bytes> + Send + 'static, <T as GrpcService<Body>>::Error: Into<Box<dyn Error + Sync + Send>>, <T as GrpcService<Body>>::Future: Send, <<T as GrpcService<Body>>::ResponseBody as Body>::Error: Into<Box<dyn Error + Sync + Send>> + Send,

Source§

fn register_namespace( &mut self, request: impl IntoRequest<RegisterNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RegisterNamespaceResponse>, Status>> + Send + '_>>

Source§

fn describe_namespace( &mut self, request: impl IntoRequest<DescribeNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeNamespaceResponse>, Status>> + Send + '_>>

Source§

fn list_namespaces( &mut self, request: impl IntoRequest<ListNamespacesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListNamespacesResponse>, Status>> + Send + '_>>

Source§

fn update_namespace( &mut self, request: impl IntoRequest<UpdateNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateNamespaceResponse>, Status>> + Send + '_>>

Source§

fn deprecate_namespace( &mut self, request: impl IntoRequest<DeprecateNamespaceRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeprecateNamespaceResponse>, Status>> + Send + '_>>

Source§

fn start_workflow_execution( &mut self, request: impl IntoRequest<StartWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<StartWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn get_workflow_execution_history( &mut self, request: impl IntoRequest<GetWorkflowExecutionHistoryRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkflowExecutionHistoryResponse>, Status>> + Send + '_>>

Source§

fn get_workflow_execution_history_reverse( &mut self, request: impl IntoRequest<GetWorkflowExecutionHistoryReverseRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkflowExecutionHistoryReverseResponse>, Status>> + Send + '_>>

Source§

fn poll_workflow_task_queue( &mut self, request: impl IntoRequest<PollWorkflowTaskQueueRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PollWorkflowTaskQueueResponse>, Status>> + Send + '_>>

Source§

fn respond_workflow_task_completed( &mut self, request: impl IntoRequest<RespondWorkflowTaskCompletedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondWorkflowTaskCompletedResponse>, Status>> + Send + '_>>

Source§

fn respond_workflow_task_failed( &mut self, request: impl IntoRequest<RespondWorkflowTaskFailedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondWorkflowTaskFailedResponse>, Status>> + Send + '_>>

Source§

fn poll_activity_task_queue( &mut self, request: impl IntoRequest<PollActivityTaskQueueRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PollActivityTaskQueueResponse>, Status>> + Send + '_>>

Source§

fn record_activity_task_heartbeat( &mut self, request: impl IntoRequest<RecordActivityTaskHeartbeatRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecordActivityTaskHeartbeatResponse>, Status>> + Send + '_>>

Source§

fn record_activity_task_heartbeat_by_id( &mut self, request: impl IntoRequest<RecordActivityTaskHeartbeatByIdRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecordActivityTaskHeartbeatByIdResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_completed( &mut self, request: impl IntoRequest<RespondActivityTaskCompletedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskCompletedResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_completed_by_id( &mut self, request: impl IntoRequest<RespondActivityTaskCompletedByIdRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskCompletedByIdResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_failed( &mut self, request: impl IntoRequest<RespondActivityTaskFailedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskFailedResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_failed_by_id( &mut self, request: impl IntoRequest<RespondActivityTaskFailedByIdRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskFailedByIdResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_canceled( &mut self, request: impl IntoRequest<RespondActivityTaskCanceledRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskCanceledResponse>, Status>> + Send + '_>>

Source§

fn respond_activity_task_canceled_by_id( &mut self, request: impl IntoRequest<RespondActivityTaskCanceledByIdRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondActivityTaskCanceledByIdResponse>, Status>> + Send + '_>>

Source§

fn request_cancel_workflow_execution( &mut self, request: impl IntoRequest<RequestCancelWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RequestCancelWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn signal_workflow_execution( &mut self, request: impl IntoRequest<SignalWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SignalWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn signal_with_start_workflow_execution( &mut self, request: impl IntoRequest<SignalWithStartWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SignalWithStartWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn reset_workflow_execution( &mut self, request: impl IntoRequest<ResetWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ResetWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn terminate_workflow_execution( &mut self, request: impl IntoRequest<TerminateWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<TerminateWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn delete_workflow_execution( &mut self, request: impl IntoRequest<DeleteWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn list_open_workflow_executions( &mut self, request: impl IntoRequest<ListOpenWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListOpenWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn list_closed_workflow_executions( &mut self, request: impl IntoRequest<ListClosedWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListClosedWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn list_workflow_executions( &mut self, request: impl IntoRequest<ListWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn list_archived_workflow_executions( &mut self, request: impl IntoRequest<ListArchivedWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListArchivedWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn scan_workflow_executions( &mut self, request: impl IntoRequest<ScanWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ScanWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn count_workflow_executions( &mut self, request: impl IntoRequest<CountWorkflowExecutionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CountWorkflowExecutionsResponse>, Status>> + Send + '_>>

Source§

fn create_workflow_rule( &mut self, request: impl IntoRequest<CreateWorkflowRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateWorkflowRuleResponse>, Status>> + Send + '_>>

Source§

fn describe_workflow_rule( &mut self, request: impl IntoRequest<DescribeWorkflowRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeWorkflowRuleResponse>, Status>> + Send + '_>>

Source§

fn delete_workflow_rule( &mut self, request: impl IntoRequest<DeleteWorkflowRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteWorkflowRuleResponse>, Status>> + Send + '_>>

Source§

fn list_workflow_rules( &mut self, request: impl IntoRequest<ListWorkflowRulesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListWorkflowRulesResponse>, Status>> + Send + '_>>

Source§

fn trigger_workflow_rule( &mut self, request: impl IntoRequest<TriggerWorkflowRuleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<TriggerWorkflowRuleResponse>, Status>> + Send + '_>>

Source§

fn get_search_attributes( &mut self, request: impl IntoRequest<GetSearchAttributesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetSearchAttributesResponse>, Status>> + Send + '_>>

Source§

fn respond_query_task_completed( &mut self, request: impl IntoRequest<RespondQueryTaskCompletedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondQueryTaskCompletedResponse>, Status>> + Send + '_>>

Source§

fn reset_sticky_task_queue( &mut self, request: impl IntoRequest<ResetStickyTaskQueueRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ResetStickyTaskQueueResponse>, Status>> + Send + '_>>

Source§

fn query_workflow( &mut self, request: impl IntoRequest<QueryWorkflowRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryWorkflowResponse>, Status>> + Send + '_>>

Source§

fn describe_workflow_execution( &mut self, request: impl IntoRequest<DescribeWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn describe_task_queue( &mut self, request: impl IntoRequest<DescribeTaskQueueRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeTaskQueueResponse>, Status>> + Send + '_>>

Source§

fn get_cluster_info( &mut self, request: impl IntoRequest<GetClusterInfoRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetClusterInfoResponse>, Status>> + Send + '_>>

Source§

fn get_system_info( &mut self, request: impl IntoRequest<GetSystemInfoRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetSystemInfoResponse>, Status>> + Send + '_>>

Source§

fn list_task_queue_partitions( &mut self, request: impl IntoRequest<ListTaskQueuePartitionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListTaskQueuePartitionsResponse>, Status>> + Send + '_>>

Source§

fn create_schedule( &mut self, request: impl IntoRequest<CreateScheduleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<CreateScheduleResponse>, Status>> + Send + '_>>

Source§

fn describe_schedule( &mut self, request: impl IntoRequest<DescribeScheduleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeScheduleResponse>, Status>> + Send + '_>>

Source§

fn update_schedule( &mut self, request: impl IntoRequest<UpdateScheduleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateScheduleResponse>, Status>> + Send + '_>>

Source§

fn patch_schedule( &mut self, request: impl IntoRequest<PatchScheduleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PatchScheduleResponse>, Status>> + Send + '_>>

Source§

fn list_schedule_matching_times( &mut self, request: impl IntoRequest<ListScheduleMatchingTimesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListScheduleMatchingTimesResponse>, Status>> + Send + '_>>

Source§

fn delete_schedule( &mut self, request: impl IntoRequest<DeleteScheduleRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteScheduleResponse>, Status>> + Send + '_>>

Source§

fn list_schedules( &mut self, request: impl IntoRequest<ListSchedulesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListSchedulesResponse>, Status>> + Send + '_>>

Source§

fn update_worker_build_id_compatibility( &mut self, request: impl IntoRequest<UpdateWorkerBuildIdCompatibilityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkerBuildIdCompatibilityResponse>, Status>> + Send + '_>>

Source§

fn get_worker_build_id_compatibility( &mut self, request: impl IntoRequest<GetWorkerBuildIdCompatibilityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkerBuildIdCompatibilityResponse>, Status>> + Send + '_>>

Source§

fn get_worker_task_reachability( &mut self, request: impl IntoRequest<GetWorkerTaskReachabilityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkerTaskReachabilityResponse>, Status>> + Send + '_>>

Source§

fn update_workflow_execution( &mut self, request: impl IntoRequest<UpdateWorkflowExecutionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkflowExecutionResponse>, Status>> + Send + '_>>

Source§

fn poll_workflow_execution_update( &mut self, request: impl IntoRequest<PollWorkflowExecutionUpdateRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PollWorkflowExecutionUpdateResponse>, Status>> + Send + '_>>

Source§

fn start_batch_operation( &mut self, request: impl IntoRequest<StartBatchOperationRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<StartBatchOperationResponse>, Status>> + Send + '_>>

Source§

fn stop_batch_operation( &mut self, request: impl IntoRequest<StopBatchOperationRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<StopBatchOperationResponse>, Status>> + Send + '_>>

Source§

fn describe_batch_operation( &mut self, request: impl IntoRequest<DescribeBatchOperationRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeBatchOperationResponse>, Status>> + Send + '_>>

Source§

fn describe_deployment( &mut self, request: impl IntoRequest<DescribeDeploymentRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeDeploymentResponse>, Status>> + Send + '_>>

Source§

fn list_batch_operations( &mut self, request: impl IntoRequest<ListBatchOperationsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListBatchOperationsResponse>, Status>> + Send + '_>>

Source§

fn list_deployments( &mut self, request: impl IntoRequest<ListDeploymentsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListDeploymentsResponse>, Status>> + Send + '_>>

Source§

fn execute_multi_operation( &mut self, request: impl IntoRequest<ExecuteMultiOperationRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ExecuteMultiOperationResponse>, Status>> + Send + '_>>

Source§

fn get_current_deployment( &mut self, request: impl IntoRequest<GetCurrentDeploymentRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetCurrentDeploymentResponse>, Status>> + Send + '_>>

Source§

fn get_deployment_reachability( &mut self, request: impl IntoRequest<GetDeploymentReachabilityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetDeploymentReachabilityResponse>, Status>> + Send + '_>>

Source§

fn get_worker_versioning_rules( &mut self, request: impl IntoRequest<GetWorkerVersioningRulesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetWorkerVersioningRulesResponse>, Status>> + Send + '_>>

Source§

fn update_worker_versioning_rules( &mut self, request: impl IntoRequest<UpdateWorkerVersioningRulesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkerVersioningRulesResponse>, Status>> + Send + '_>>

Source§

fn poll_nexus_task_queue( &mut self, request: impl IntoRequest<PollNexusTaskQueueRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PollNexusTaskQueueResponse>, Status>> + Send + '_>>

Source§

fn respond_nexus_task_completed( &mut self, request: impl IntoRequest<RespondNexusTaskCompletedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondNexusTaskCompletedResponse>, Status>> + Send + '_>>

Source§

fn respond_nexus_task_failed( &mut self, request: impl IntoRequest<RespondNexusTaskFailedRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RespondNexusTaskFailedResponse>, Status>> + Send + '_>>

Source§

fn set_current_deployment( &mut self, request: impl IntoRequest<SetCurrentDeploymentRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SetCurrentDeploymentResponse>, Status>> + Send + '_>>

Source§

fn shutdown_worker( &mut self, request: impl IntoRequest<ShutdownWorkerRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ShutdownWorkerResponse>, Status>> + Send + '_>>

Source§

fn update_activity_options( &mut self, request: impl IntoRequest<UpdateActivityOptionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateActivityOptionsResponse>, Status>> + Send + '_>>

Source§

fn pause_activity( &mut self, request: impl IntoRequest<PauseActivityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<PauseActivityResponse>, Status>> + Send + '_>>

Source§

fn unpause_activity( &mut self, request: impl IntoRequest<UnpauseActivityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UnpauseActivityResponse>, Status>> + Send + '_>>

Source§

fn update_workflow_execution_options( &mut self, request: impl IntoRequest<UpdateWorkflowExecutionOptionsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkflowExecutionOptionsResponse>, Status>> + Send + '_>>

Source§

fn reset_activity( &mut self, request: impl IntoRequest<ResetActivityRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ResetActivityResponse>, Status>> + Send + '_>>

Source§

fn delete_worker_deployment( &mut self, request: impl IntoRequest<DeleteWorkerDeploymentRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteWorkerDeploymentResponse>, Status>> + Send + '_>>

Source§

fn delete_worker_deployment_version( &mut self, request: impl IntoRequest<DeleteWorkerDeploymentVersionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DeleteWorkerDeploymentVersionResponse>, Status>> + Send + '_>>

Source§

fn describe_worker_deployment( &mut self, request: impl IntoRequest<DescribeWorkerDeploymentRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeWorkerDeploymentResponse>, Status>> + Send + '_>>

Source§

fn describe_worker_deployment_version( &mut self, request: impl IntoRequest<DescribeWorkerDeploymentVersionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<DescribeWorkerDeploymentVersionResponse>, Status>> + Send + '_>>

Source§

fn list_worker_deployments( &mut self, request: impl IntoRequest<ListWorkerDeploymentsRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListWorkerDeploymentsResponse>, Status>> + Send + '_>>

Source§

fn set_worker_deployment_current_version( &mut self, request: impl IntoRequest<SetWorkerDeploymentCurrentVersionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SetWorkerDeploymentCurrentVersionResponse>, Status>> + Send + '_>>

Source§

fn set_worker_deployment_ramping_version( &mut self, request: impl IntoRequest<SetWorkerDeploymentRampingVersionRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<SetWorkerDeploymentRampingVersionResponse>, Status>> + Send + '_>>

Source§

fn update_worker_deployment_version_metadata( &mut self, request: impl IntoRequest<UpdateWorkerDeploymentVersionMetadataRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkerDeploymentVersionMetadataResponse>, Status>> + Send + '_>>

Source§

fn list_workers( &mut self, request: impl IntoRequest<ListWorkersRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<ListWorkersResponse>, Status>> + Send + '_>>

Source§

fn record_worker_heartbeat( &mut self, request: impl IntoRequest<RecordWorkerHeartbeatRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecordWorkerHeartbeatResponse>, Status>> + Send + '_>>

Source§

fn update_task_queue_config( &mut self, request: impl IntoRequest<UpdateTaskQueueConfigRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateTaskQueueConfigResponse>, Status>> + Send + '_>>

Source§

fn fetch_worker_config( &mut self, request: impl IntoRequest<FetchWorkerConfigRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<FetchWorkerConfigResponse>, Status>> + Send + '_>>

Source§

fn update_worker_config( &mut self, request: impl IntoRequest<UpdateWorkerConfigRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateWorkerConfigResponse>, Status>> + Send + '_>>

Source§

impl<T> ErasedDestructor for T
where T: 'static,