IOBluetoothRFCOMMChannel

Struct IOBluetoothRFCOMMChannel 

Source
#[repr(C)]
pub struct IOBluetoothRFCOMMChannel { /* private fields */ }
Available on crate features IOBluetoothRFCOMMChannel and objc2 and IOBluetoothObject only.
Expand description

An instance of this class represents an rfcomm channel as defined by the Bluetooth SDP spec..

An RFCOMM channel object can be obtained by opening an rfcomm channel in a device, or by requesting a notification when a channel is created (this is commonly used to provide services).

See also Apple’s documentation

Implementations§

Source§

impl IOBluetoothRFCOMMChannel

Source

pub unsafe fn registerForChannelOpenNotifications_selector( object: Option<&AnyObject>, selector: Option<Sel>, ) -> Option<Retained<IOBluetoothUserNotification>>

Available on crate feature IOBluetoothUserNotification only.

Allows a client to register for RFCOMM channel open notifications for any RFCOMM channel.

The given selector will be called on the target object whenever any RFCOMM channel is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was opened.

Parameter rfcommChannelRef: IOBluetoothRFCOMMChannelRef for which an IOBluetoothRFCOMMChannel * is desired.

Parameter object: Target object

Parameter selector: Selector to be called on the target object when a new RFCOMM channel is opened. the format for the selector is: -(void) selectorName:(IOBluetoothUserNotification *)inNotification channel:(IOBluetoothRFCOMMChannel *)newChannel

Returns: Returns an IOBluetoothUserNotification representing the outstanding RFCOMM channel notification. To unregister the notification, call -unregister on the resulting IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Source

pub unsafe fn registerForChannelOpenNotifications_selector_withChannelID_direction( object: Option<&AnyObject>, selector: Option<Sel>, channel_id: BluetoothRFCOMMChannelID, in_direction: IOBluetoothUserNotificationChannelDirection, ) -> Option<Retained<IOBluetoothUserNotification>>

Available on crate features Bluetooth and IOBluetoothUserLib and IOBluetoothUserNotification only.

Allows a client to register for RFCOMM channel open notifications for certain types of RFCOMM channels.

The given selector will be called on the target object whenever an RFCOMM channel with the given attributes is opened. The selector should accept two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was opened.

Parameter object: Target object

Parameter selector: Selector to be called on the target object when a new RFCOMM channel is opened. the format for the selector is: -(void) selectorName:(IOBluetoothUserNotification *)inNotification channel:(IOBluetoothRFCOMMChannel *)newChannel

Parameter channeLID: RFCOMM channel ID to match a new RFCOMM channel. If the channel ID doesn’t matter, 0 may be passed in.

Parameter inDirection: The desired direction of the RFCOMM channel - kIOBluetoothUserNotificationChannelDirectionAny if the direction doesn’t matter.

Returns: Returns an IOBluetoothUserNotification representing the outstanding RFCOMM channel notification. To unregister the notification, call -unregister on the resulting IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned. The returned IOBluetoothUserNotification will be valid for as long as the notification is registered. It is not necessary to retain the result. Once -unregister is called on it, it will no longer be valid.

Source

pub unsafe fn withRFCOMMChannelRef( rfcomm_channel_ref: Option<&IOBluetoothRFCOMMChannelRef>, ) -> Option<Retained<Self>>

Available on crate feature IOBluetoothUserLib only.

Method call to convert an IOBluetoothRFCOMMChannelRef into an IOBluetoothRFCOMMChannel *.

Parameter rfcommChannelRef: IOBluetoothRFCOMMChannelRef for which an IOBluetoothRFCOMMChannel * is desired.

Returns: Returns the IOBluetoothRFCOMMChannel * for the given IOBluetoothRFCOMMChannelRef.

Source

pub unsafe fn withObjectID( object_id: IOBluetoothObjectID, ) -> Option<Retained<Self>>

Available on crate feature IOBluetoothUserLib only.

Returns the IObluetoothRFCOMMChannel with the given IOBluetoothObjectID.

The IOBluetoothObjectID can be used as a global reference for a given IObluetoothRFCOMMChannel. It allows two separate applications to refer to the same IObluetoothRFCOMMChannel object.

Parameter objectID: IOBluetoothObjectID of the desired IObluetoothRFCOMMChannel.

Returns: Returns the IObluetoothRFCOMMChannel that matches the given IOBluetoothObjectID if one exists. If no matching RFCOMM channel exists, nil is returned.

Source

pub unsafe fn getRFCOMMChannelRef( &self, ) -> Option<Retained<IOBluetoothRFCOMMChannelRef>>

Available on crate feature IOBluetoothUserLib only.

Returns an IOBluetoothRFCOMMChannelRef representation of the target IOBluetoothRFCOMMChannel object.

Returns: Returns an IOBluetoothRFCOMMChannelRef representation of the target IOBluetoothRFCOMMChannel object.

Source

pub unsafe fn closeChannel(&self) -> c_int

Close the channel.

Returns: An error code value. 0 if successful.

Source

pub unsafe fn isOpen(&self) -> bool

Returns the state of the channel.

note that “not open” means closed, opening and closing.

Returns: TRUE if the channel state is open, FALSE otherwise.

Source

pub unsafe fn getMTU(&self) -> BluetoothRFCOMMMTU

Available on crate feature Bluetooth only.

Returns the channel maximum transfer unit.

Returns the length of the largest chunk of data that this channel can carry. If the caller wishes to use the write:length:sleep: api the length of the data can not be bigger than the channel MTU (maximum transfer unit).

Returns: Channel MTU size .

Source

pub unsafe fn isTransmissionPaused(&self) -> bool

Returns TRUE if flow control is off.

Returns true if the remote device flow control is stopping out transmission. This is useful because we do not buffer data, we stop the transmitting actor. With this method the transmitter can check if sending data is going to be successful or is going to block.

Returns: TRUE if the action of sending data will block the current thread, FALSE otherwise.

Source

pub unsafe fn write_length_sleep( &self, data: *mut c_void, length: u16, sleep: bool, ) -> c_int

👎Deprecated

Sends a block of data in the channel syncronously.

WARNING This method is being deprecated in favor of -writeSync:… and -writeAsync:… Sends data through the channel. The number of bytes to be sent must not exceed the channel MTU. If the return value is an error condition none of the data was sent.

Parameter data: is a pointer to the data buffer to be sent.

Parameter length: the length of the buffer to be sent (in bytes).

Parameter sleep: is a boolean if set to TRUE the call will wait until it is possible to send data. If set to FALSE and it is not possible to send data the method will return immediately with an error.

Returns: An error code value. 0 if successful.

Source

pub unsafe fn writeAsync_length_refcon( &self, data: *mut c_void, length: u16, refcon: *mut c_void, ) -> c_int

Sends a block of data in the channel asynchronously.

The number of bytes to be sent must not exceed the channel MTU. If the return value is an error condition none of the data was sent. Once the data has been successfully passed to the hardware to be transmitted, the delegate method -rfcommChannelWriteComplete:refcon:status: will be called with the refcon that was passed to this method.

NOTE: This method is only available in Mac OS X 10.2.5 (Bluetooth v1.2) or later.

Parameter data: A pointer to the data buffer to be sent.

Parameter length: The length of the buffer to be sent (in bytes).

Parameter refcon: User supplied value that gets passed to the write callback.

Returns: Returns kIOReturnSuccess if the data was buffered successfully.

Source

pub unsafe fn writeSync_length(&self, data: *mut c_void, length: u16) -> c_int

Sends a block of data in the channel synchronously.

Sends data through the channel. The number of bytes to be sent must not exceed the channel MTU. If the return value is an error condition none of the data was sent. This method will block until the data has been successfully sent to the hardware for transmission (or until an error occurs).

NOTE: This method is only available in Mac OS X 10.2.5 (Bluetooth v1.2) or later.

Parameter data: A pointer to the data buffer to be sent.

Parameter length: The length of the buffer to be sent (in bytes).

Returns: Returns kIOReturnSuccess if the data was written successfully.

Source

pub unsafe fn writeSimple_length_sleep_bytesSent( &self, data: *mut c_void, length: u16, sleep: bool, num_bytes_sent: *mut u32, ) -> c_int

👎Deprecated

Sends a block of data in the channel.

WARNING This method is being deprecated in favor of -writeSync:… and -writeAsync:… Sends data through the channel. The number of bytes to be sent is arbitrary. The caller does not have to worry about the MTU.

Parameter data: a pointer to the data buffer to be sent.

Parameter length: the length of the buffer to be sent (in bytes).

Parameter sleep: a boolean if set to TRUE the call will wait until it is possible to send all the data.

Parameter a: UInt32 pointer in which the caller received the nuber of bytes sent. If set to FALSE and it is not possible to send part of the data the method will return immediately.

Returns: An error code value. 0 if successful.

Source

pub unsafe fn setSerialParameters_dataBits_parity_stopBits( &self, speed: u32, n_bits: u8, parity: BluetoothRFCOMMParityType, bit_stop: u8, ) -> c_int

Available on crate feature Bluetooth only.

Changes the parameters of the serial connection.

Parameter speed: the baudrate.

Parameter nBits: number of data bits.

Parameter parity: the type of parity can be NoParity, OddParity, EvenParity or MaxParity.

Parameter bitStop: number of stop bits.

Returns: An error code value. 0 if successful.

Source

pub unsafe fn sendRemoteLineStatus( &self, line_status: BluetoothRFCOMMLineStatus, ) -> c_int

Available on crate feature Bluetooth only.

Sends an error to the remote side.

Parameter lineStatus: the error type. The error code can be NoError, OverrunError, ParityError or FramingError.

Returns: An error code value. 0 if successful.

Source

pub unsafe fn setDelegate(&self, delegate: Option<&AnyObject>) -> c_int

Allows an object to register itself as a client of the RFCOMM channel.

A channel delegate is the object the RFCOMM channel uses as target for data and events. The developer will implement only the the methods he/she is interested in. A list of the possible methods is at the end of this file in the definition of the informal protocol IOBluetoothRFCOMMChannelDelegate.

NOTE: This method is only available in Mac OS X 10.2.5 (Bluetooth v1.2) or later. NOTE: Before Mac OS X 10.6, the delegate was retained. On 10.6 and later, it is not.

Parameter delegate: The object that will play the role of channel delegate [NOTE the rfcomm channel will reatin the delegate].

Returns: Returns kIOReturnSuccess if the delegate is successfully registered.

Source

pub unsafe fn delegate(&self) -> Option<Retained<AnyObject>>

Returns the object delegate

Returns: the current delegate, or nil

Source

pub unsafe fn getChannelID(&self) -> BluetoothRFCOMMChannelID

Available on crate feature Bluetooth only.

Returns the object rfcomm channel ID.

Returns: the RFCOMM channel number .

Source

pub unsafe fn isIncoming(&self) -> bool

Returns the direction of the channel. An incoming channel is one that was opened by the remote device.

Returns: Returns TRUE if the channel was opened by the remote device, FALSE if the channel was opened by this object.

Source

pub unsafe fn getDevice(&self) -> Option<Retained<IOBluetoothDevice>>

Available on crate feature IOBluetoothDevice only.

Returns the Bluetooth Device that carries the rfcomm data.

Returns: the IOBluetoothDevice object .

Source

pub unsafe fn getObjectID(&self) -> IOBluetoothObjectID

Available on crate feature IOBluetoothUserLib only.

Returns the IOBluetoothObjectID of the given IOBluetoothRFCOMMChannel.

The IOBluetoothObjectID can be used as a global reference for a given IOBluetoothRFCOMMChannel. It allows two separate applications to refer to the same IOBluetoothRFCOMMChannel.

Returns: Returns the IOBluetoothObjectID of the given IOBluetoothRFCOMMChannel.

Source

pub unsafe fn registerForChannelCloseNotification_selector( &self, observer: Option<&AnyObject>, in_selector: Option<Sel>, ) -> Option<Retained<IOBluetoothUserNotification>>

Available on crate feature IOBluetoothUserNotification only.

Allows a client to register for a channel close notification.

The given selector will be called on the target observer when the RFCOMM channel is closed. The selector should contain two arguments. The first is the user notification object. The second is the IOBluetoothRFCOMMChannel that was closed.

Parameter observer: Target observer object

Parameter inSelector: Selector to be sent to the observer when the RFCOMM channel is closed.

Returns: Returns an IOBluetoothUserNotification representing the outstanding RFCOMM channel close notification. To unregister the notification, call -unregister of the returned IOBluetoothUserNotification object. If an error is encountered creating the notification, nil is returned.

Source§

impl IOBluetoothRFCOMMChannel

Methods declared on superclass NSObject.

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

Source

pub unsafe fn new() -> Retained<Self>

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for IOBluetoothRFCOMMChannel

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<IOBluetoothObject> for IOBluetoothRFCOMMChannel

Source§

fn as_ref(&self) -> &IOBluetoothObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<IOBluetoothRFCOMMChannel> for IOBluetoothRFCOMMChannel

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for IOBluetoothRFCOMMChannel

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for IOBluetoothRFCOMMChannel

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<IOBluetoothObject> for IOBluetoothRFCOMMChannel

Source§

fn borrow(&self) -> &IOBluetoothObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for IOBluetoothRFCOMMChannel

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for IOBluetoothRFCOMMChannel

Source§

const NAME: &'static str = "IOBluetoothRFCOMMChannel"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = IOBluetoothObject

The superclass of this class. Read more
Source§

type ThreadKind = <<IOBluetoothRFCOMMChannel as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl CopyingHelper for IOBluetoothRFCOMMChannel

Available on crate feature objc2-foundation only.
Source§

type Result = IOBluetoothRFCOMMChannel

The immutable counterpart of the type, or Self if the type has no immutable counterpart. Read more
Source§

impl Debug for IOBluetoothRFCOMMChannel

Source§

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

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

impl Deref for IOBluetoothRFCOMMChannel

Source§

type Target = IOBluetoothObject

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for IOBluetoothRFCOMMChannel

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for IOBluetoothRFCOMMChannel

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSCopying for IOBluetoothRFCOMMChannel

Source§

fn copy(&self) -> Retained<Self::Result>
where Self: Sized + Message + CopyingHelper,

Returns a new instance that’s a copy of the receiver. Read more
Source§

unsafe fn copyWithZone(&self, zone: *mut NSZone) -> Retained<Self::Result>
where Self: Sized + Message + CopyingHelper,

Returns a new instance that’s a copy of the receiver. Read more
Source§

impl NSObjectProtocol for IOBluetoothRFCOMMChannel

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl NSStreamDelegate for IOBluetoothRFCOMMChannel

Source§

unsafe fn stream_handleEvent( &self, a_stream: &NSStream, event_code: NSStreamEvent, )
where Self: Sized + Message,

Source§

impl PartialEq for IOBluetoothRFCOMMChannel

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for IOBluetoothRFCOMMChannel

Source§

const ENCODING_REF: Encoding = <IOBluetoothObject as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl DowncastTarget for IOBluetoothRFCOMMChannel

Source§

impl Eq for IOBluetoothRFCOMMChannel

Source§

impl NSPortDelegate for IOBluetoothRFCOMMChannel

Auto Trait Implementations§

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<'a, T> AnyThread for T
where T: ClassType<ThreadKind = dyn AnyThread + 'a> + ?Sized,

Source§

fn alloc() -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class. Read more
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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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<T> AutoreleaseSafe for T
where T: ?Sized,