IOBluetoothL2CAPChannel

Struct IOBluetoothL2CAPChannel 

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

An instance of IOBluetoothL2CAPChannel represents a single open L2CAP channel.

A client won’t create IOBluetoothL2CAPChannel objects directly. Instead, the IOBluetoothDevice’s L2CAP channel open API is responsible for opening a new L2CAP channel and returning an IOBluetoothL2CAPChannel instance representing that newly opened channel. Additionally, the IOBluetooth notification system will send notifications when new L2CAP channels are open (if requested).

After a new L2CAP channel is opened, the L2CAP configuration process will not be completed until an incoming data listener is registered with the IOBluetoothL2CAPChannel object. The reason for this is to due to the limited buffering done of incoming L2CAP data. This way, we avoid the situation where incoming data is received before the client is ready for it. Once a client is done with an IOBluetoothL2CAPChannel that it opened, it should call -closeChannel. Additionally, if the client does not intend to use the connection to the remote device any further, it should call -closeConnection on the IOBluetoothDevice object.

See also Apple’s documentation

Implementations§

Source§

impl IOBluetoothL2CAPChannel

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 L2CAP channel open notifications for any L2CAP channel.

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

Parameter object: Target object

Parameter selector: Selector to be called on the target object when a new L2CAP channel is opened.

Returns: Returns an IOBluetoothUserNotification representing the outstanding L2CAP 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_withPSM_direction( object: Option<&AnyObject>, selector: Option<Sel>, psm: BluetoothL2CAPPSM, in_direction: IOBluetoothUserNotificationChannelDirection, ) -> Option<Retained<IOBluetoothUserNotification>>

Available on crate features Bluetooth and IOBluetoothUserLib and IOBluetoothUserNotification only.

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

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

Parameter object: Target object

Parameter selector: Selector to be called on the target object when a new L2CAP channel is opened.

Parameter psm: PSM to match a new L2CAP channel. If the PSM doesn’t matter, 0 may be passed in.

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

Returns: Returns an IOBluetoothUserNotification representing the outstanding L2CAP 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 withObjectID( object_id: IOBluetoothObjectID, ) -> Option<Retained<Self>>

Available on crate feature IOBluetoothUserLib only.

Returns the IObluetoothL2CAPChannel with the given IOBluetoothObjectID.

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

Parameter objectID: IOBluetoothObjectID of the desired IOBluetoothL2CAPChannel.

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

Source

pub unsafe fn closeChannel(&self) -> c_int

Initiates the close process on an open L2CAP channel.

This method may only be called by the client that opened the channel in the first place. In the future asynchronous and synchronous versions will be provided that let the client know when the close process has been finished.

Returns: Returns kIOReturnSuccess on success.

Source

pub unsafe fn outgoingMTU(&self) -> BluetoothL2CAPMTU

Available on crate feature Bluetooth only.

Returns the current outgoing MTU for the L2CAP channel.

The outgoing MTU represents the maximum L2CAP packet size for packets being sent to the remote device.

Returns: Returns the current outgoing MTU for the L2CAP channel.

Source

pub unsafe fn getOutgoingMTU(&self) -> BluetoothL2CAPMTU

👎Deprecated
Available on crate feature Bluetooth only.
Source

pub unsafe fn incomingMTU(&self) -> BluetoothL2CAPMTU

Available on crate feature Bluetooth only.

Returns the current incoming MTU for the L2CAP channel.

The incoming MTU represents the maximum L2CAP packet size for packets being sent by the remote device.

Returns: Returns the current incoming MTU for the L2CAP channel.

Source

pub unsafe fn getIncomingMTU(&self) -> BluetoothL2CAPMTU

👎Deprecated
Available on crate feature Bluetooth only.
Source

pub unsafe fn requestRemoteMTU(&self, remote_mtu: BluetoothL2CAPMTU) -> c_int

Available on crate feature Bluetooth only.

Initiates the process to reconfigure the L2CAP channel with a new outgoing MTU.

Currently, this API does not give an indication that the re-config process has completed. In the future additional API will be available to provide that information both synchronously and asynchronously.

Parameter remoteMTU: The desired outgoing MTU.

Returns: Returns kIOReturnSuccess if the channel re-configure process was successfully initiated.

Source

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

Writes the given data over the target L2CAP channel asynchronously to the remote device using IOConnectTrap4() call.

The length of the data may not exceed the L2CAP channel’s ougoing MTU. When the data has been successfully passed to the hardware to be transmitted, the delegate method -l2capChannelWriteComplete:refcon:status: will be called with the refcon passed into this method.

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

Parameter data: Pointer to the buffer containing the data to send.

Parameter length: The length of the given data buffer.

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 writeAsync_length_refcon( &self, data: *mut c_void, length: u16, refcon: *mut c_void, ) -> c_int

Writes the given data over the target L2CAP channel asynchronously to the remote device.

The length of the data may not exceed the L2CAP channel’s ougoing MTU. When the data has been successfully passed to the hardware to be transmitted, the delegate method -l2capChannelWriteComplete:refcon:status: will be called with the refcon passed into this method.

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

Parameter data: Pointer to the buffer containing the data to send.

Parameter length: The length of the given data buffer.

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

Writes the given data synchronously over the target L2CAP channel to the remote device.

The length of the data may not exceed the L2CAP channel’s ougoing MTU. This method will block until the data has been successfully sent to the hardware for transmission (or an error occurs).

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

Parameter data: Pointer to the buffer containing the data to send.

Parameter length: The length of the given data buffer.

Returns: Returns kIOReturnSuccess if the data was written successfully.

Source

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

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

A channel delegate is the object the L2CAP 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 IOBluetoothL2CAPChannelDelegate. A newly opened L2CAP channel will not complete its configuration process until the client that opened it registers a connectionHandler. This prevents that case where incoming data is received before the client is ready.

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

Parameter channelDelegate: the object that will play the role of channel delegate [NOTE the l2cap channel will retain the delegate].

Returns: Returns kIOReturnSuccess if the delegate is successfully registered.

Source

pub unsafe fn setDelegate_withConfiguration( &self, channel_delegate: Option<&AnyObject>, channel_configuration: Option<&NSDictionary>, ) -> c_int

Available on crate feature objc2-foundation only.

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

A channel delegate is the object the L2CAP 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 IOBluetoothL2CAPChannelDelegate. A newly opened L2CAP channel will not complete its configuration process until the client that opened it registers a connectionHandler. This prevents that case where incoming data is received before the client is ready.

NOTE: This method is only available in Mac OS X 10.5 (Bluetooth v2.0) or later.

Parameter channelDelegate: the object that will play the role of channel delegate.

Parameter channelConfiguration: the dictionary that describes the initial configuration for the channel.

Returns: Returns kIOReturnSuccess if the delegate is successfully registered.

Source

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

Returns the currently assigned delegate

An incoming channel is one that was initiated by a remote device.

Returns: Returns the current delegate, or nil if one is not set.

Source

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

Available on crate feature IOBluetoothDevice only.

Returns the IOBluetoothDevice to which the target L2CAP channel is open.

Returns: Returns the IOBluetoothDevice to which the target L2CAP channel is open.

Source

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

👎Deprecated
Available on crate feature IOBluetoothDevice only.
Source

pub unsafe fn objectID(&self) -> IOBluetoothObjectID

Available on crate feature IOBluetoothUserLib only.

Returns the IOBluetoothObjectID of the given IOBluetoothL2CAPChannel.

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

Returns: Returns the IOBluetoothObjectID of the given IOBluetoothL2CAPChannel.

Source

pub unsafe fn getObjectID(&self) -> IOBluetoothObjectID

👎Deprecated
Available on crate feature IOBluetoothUserLib only.
Source

pub unsafe fn PSM(&self) -> BluetoothL2CAPPSM

Available on crate feature Bluetooth only.

Returns the PSM for the target L2CAP channel.

Returns: Returns the PSM for the target L2CAP channel.

Source

pub unsafe fn getPSM(&self) -> BluetoothL2CAPPSM

👎Deprecated
Available on crate feature Bluetooth only.
Source

pub unsafe fn localChannelID(&self) -> BluetoothL2CAPChannelID

Available on crate feature Bluetooth only.

Returns the local L2CAP channel ID for the target L2CAP channel.

Returns: Returns the local L2CAP channel ID for the target L2CAP channel.

Source

pub unsafe fn getLocalChannelID(&self) -> BluetoothL2CAPChannelID

👎Deprecated
Available on crate feature Bluetooth only.
Source

pub unsafe fn remoteChannelID(&self) -> BluetoothL2CAPChannelID

Available on crate feature Bluetooth only.

Returns the remote L2CAP channel ID for the target L2CAP channel.

Returns: Returns the remote L2CAP channel ID for the target L2CAP channel.

Source

pub unsafe fn getRemoteChannelID(&self) -> BluetoothL2CAPChannelID

👎Deprecated
Available on crate feature Bluetooth only.
Source

pub unsafe fn isIncoming(&self) -> bool

Returns TRUE if the channel is an incoming channel.

An incoming channel is one that was initiated by a remote device.

Returns: Returns TRUE if the channel is an incoming channel.

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 L2CAP channel is closed. The selector should contain two arguments. The first is the user notification object. The second is the IOBluetoothL2CAPChannel that was closed.

Parameter observer: Target observer object

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

Returns: Returns an IOBluetoothUserNotification representing the outstanding L2CAP 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 IOBluetoothL2CAPChannel

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 IOBluetoothL2CAPChannel

Source§

fn as_ref(&self) -> &AnyObject

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

impl AsRef<IOBluetoothL2CAPChannel> for IOBluetoothL2CAPChannel

Source§

fn as_ref(&self) -> &Self

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

impl AsRef<IOBluetoothObject> for IOBluetoothL2CAPChannel

Source§

fn as_ref(&self) -> &IOBluetoothObject

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

impl AsRef<NSObject> for IOBluetoothL2CAPChannel

Source§

fn as_ref(&self) -> &NSObject

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

impl Borrow<AnyObject> for IOBluetoothL2CAPChannel

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<IOBluetoothObject> for IOBluetoothL2CAPChannel

Source§

fn borrow(&self) -> &IOBluetoothObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for IOBluetoothL2CAPChannel

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for IOBluetoothL2CAPChannel

Source§

const NAME: &'static str = "IOBluetoothL2CAPChannel"

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 = <<IOBluetoothL2CAPChannel 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 IOBluetoothL2CAPChannel

Available on crate feature objc2-foundation only.
Source§

type Result = IOBluetoothL2CAPChannel

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

impl Debug for IOBluetoothL2CAPChannel

Source§

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

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

impl Deref for IOBluetoothL2CAPChannel

Source§

type Target = IOBluetoothObject

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Hash for IOBluetoothL2CAPChannel

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 IOBluetoothL2CAPChannel

Source§

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

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

impl NSCopying for IOBluetoothL2CAPChannel

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 IOBluetoothL2CAPChannel

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 PartialEq for IOBluetoothL2CAPChannel

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 IOBluetoothL2CAPChannel

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 IOBluetoothL2CAPChannel

Source§

impl Eq for IOBluetoothL2CAPChannel

Source§

impl NSPortDelegate for IOBluetoothL2CAPChannel

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,