fn from(rc: crate::ComRc<T>) -> Self {
        let result = unsafe { ComPtr::new(rc.as_raw()) };
        // for get the rc so that its drop impl which calls release is not called
        std::mem::forget(rc);
        result
    }
/// Convert from an `ComRc` to an `ComPtr`
///
/// Note that this does not call the release on the underlying interface
/// which gurantees that the ComPtr will still point to a valid
/// interface. If Release is never called on this pointer, than memory
/// may be leaked.
Convert from an `ComRc` to an `ComPtr`
Note that this does not call the release on the underlying interface
which gurantees that the ComPtr will still point to a valid
interface. If Release is never called on this pointer, than memory
may be leaked.
Convert from an ` ComRc ` to an ` ComPtr ` Note that this does not call the release on the underlying interface which gurantees that the ComPtr will still point to a valid interface . If Release is never called on this pointer than memory may be leaked .
fn from(rc: crate::ComRc<T>) -> Self {
        let result = unsafe { ComPtr::new(rc.as_raw()) };
        // for get the rc so that its drop impl which calls release is not called
        std::mem::forget(rc);
        result
    }
fn from ( rc : crate :: ComRc < T > ) -> Self { let result = unsafe { ComPtr :: new ( rc . as_raw ( ) ) } ; // for get the rc so that its drop impl which calls release is not called std :: mem :: forget ( rc ) ; result }
Convert from an `ComRc` to an `ComPtr`
Note that this does not call the release on the underlying interface
which gurantees that the ComPtr will still point to a valid
interface.
Convert from an ` ComRc ` to an ` ComPtr ` Note that this does not call the release on the underlying interface which gurantees that the ComPtr will still point to a valid interface .
rc
crate::ComRc<T>
rc
crate::ComRc<T>