# Trait OsStringExt

1.0.0 · Source

    pub trait OsStringExt: Sealed {
        // Required method
        fn from_wide(wide: &[u16]) -> Self;
    }

Available on Windows only.
Expand description

Windows-specific extensions to `OsString`.

This trait is sealed: it cannot be implemented outside the standard library. This is so that future additional methods are not breaking changes.

## Required Methods§

1.0.0 · Source

#### fn from_wide(wide: &[u16]) -> Self

Creates an `OsString` from a potentially ill-formed UTF-16 slice of 16-bit code units.

This is lossless: calling `OsStrExt::encode_wide` on the resulting string will always return the original code units.

##### §Examples

    use std::ffi::OsString;
    use std::os::windows::prelude::*;

    // UTF-16 encoding for "Unicode".
    let source = [0x0055, 0x006E, 0x0069, 0x0063, 0x006F, 0x0064, 0x0065];

    let string = OsString::from_wide(&source[..]);

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

## Implementors§

1.0.0 · Source§

### impl OsStringExt for OsString