Trait HasInterface

Source
pub unsafe trait HasInterface<I: ?Sized> { }
Expand description

You can use this trait to ensure that a type implements a trait as an interface. This means the type declared the trait in its interfaces!(...) list, and guarantees that querying an Object of that type for the trait will always succeed.

When using HasInterface<SomeTrait> in a generic bound, you should also specify SomeTrait as a bound. While HasInterface<SomeTrait> is a more stringent requirement than, and in practice implies SomeTrait, the compiler cannot deduce that because it is enforced through macros rather than the type system.

Implementations on Foreign Types§

Source§

impl HasInterface<bool> for bool

Source§

impl HasInterface<char> for char

Source§

impl HasInterface<f32> for f32

Source§

impl HasInterface<f64> for f64

Source§

impl HasInterface<i8> for i8

Source§

impl HasInterface<i16> for i16

Source§

impl HasInterface<i32> for i32

Source§

impl HasInterface<i64> for i64

Source§

impl HasInterface<u8> for u8

Source§

impl HasInterface<u16> for u16

Source§

impl HasInterface<u32> for u32

Source§

impl HasInterface<u64> for u64

Source§

impl HasInterface<String> for String

Source§

impl HasInterface<Vec<bool>> for Vec<bool>

Source§

impl HasInterface<Vec<char>> for Vec<char>

Source§

impl HasInterface<Vec<f32>> for Vec<f32>

Source§

impl HasInterface<Vec<f64>> for Vec<f64>

Source§

impl HasInterface<Vec<i8>> for Vec<i8>

Source§

impl HasInterface<Vec<i16>> for Vec<i16>

Source§

impl HasInterface<Vec<i32>> for Vec<i32>

Source§

impl HasInterface<Vec<i64>> for Vec<i64>

Source§

impl HasInterface<Vec<u8>> for Vec<u8>

Source§

impl HasInterface<Vec<u16>> for Vec<u16>

Source§

impl HasInterface<Vec<u32>> for Vec<u32>

Source§

impl HasInterface<Vec<u64>> for Vec<u64>

Source§

impl HasInterface<Vec<String>> for Vec<String>

Source§

impl HasInterface<Vec<PathBuf>> for Vec<PathBuf>

Source§

impl HasInterface<PathBuf> for PathBuf

Source§

impl HasInterface<dyn ToString> for bool

Source§

impl HasInterface<dyn ToString> for char

Source§

impl HasInterface<dyn ToString> for f32

Source§

impl HasInterface<dyn ToString> for f64

Source§

impl HasInterface<dyn ToString> for i8

Source§

impl HasInterface<dyn ToString> for i16

Source§

impl HasInterface<dyn ToString> for i32

Source§

impl HasInterface<dyn ToString> for i64

Source§

impl HasInterface<dyn ToString> for u8

Source§

impl HasInterface<dyn ToString> for u16

Source§

impl HasInterface<dyn ToString> for u32

Source§

impl HasInterface<dyn ToString> for u64

Source§

impl HasInterface<dyn ToString> for String

Source§

impl HasInterface<dyn Debug> for bool

Source§

impl HasInterface<dyn Debug> for char

Source§

impl HasInterface<dyn Debug> for f32

Source§

impl HasInterface<dyn Debug> for f64

Source§

impl HasInterface<dyn Debug> for i8

Source§

impl HasInterface<dyn Debug> for i16

Source§

impl HasInterface<dyn Debug> for i32

Source§

impl HasInterface<dyn Debug> for i64

Source§

impl HasInterface<dyn Debug> for u8

Source§

impl HasInterface<dyn Debug> for u16

Source§

impl HasInterface<dyn Debug> for u32

Source§

impl HasInterface<dyn Debug> for u64

Source§

impl HasInterface<dyn Debug> for String

Source§

impl HasInterface<dyn Debug> for Vec<bool>

Source§

impl HasInterface<dyn Debug> for Vec<char>

Source§

impl HasInterface<dyn Debug> for Vec<f32>

Source§

impl HasInterface<dyn Debug> for Vec<f64>

Source§

impl HasInterface<dyn Debug> for Vec<i8>

Source§

impl HasInterface<dyn Debug> for Vec<i16>

Source§

impl HasInterface<dyn Debug> for Vec<i32>

Source§

impl HasInterface<dyn Debug> for Vec<i64>

Source§

impl HasInterface<dyn Debug> for Vec<u8>

Source§

impl HasInterface<dyn Debug> for Vec<u16>

Source§

impl HasInterface<dyn Debug> for Vec<u32>

Source§

impl HasInterface<dyn Debug> for Vec<u64>

Source§

impl HasInterface<dyn Debug> for Vec<String>

Source§

impl HasInterface<dyn Debug> for Vec<PathBuf>

Source§

impl HasInterface<dyn Debug> for PathBuf

Source§

impl HasInterface<dyn Display> for bool

Source§

impl HasInterface<dyn Display> for char

Source§

impl HasInterface<dyn Display> for f32

Source§

impl HasInterface<dyn Display> for f64

Source§

impl HasInterface<dyn Display> for i8

Source§

impl HasInterface<dyn Display> for i16

Source§

impl HasInterface<dyn Display> for i32

Source§

impl HasInterface<dyn Display> for i64

Source§

impl HasInterface<dyn Display> for u8

Source§

impl HasInterface<dyn Display> for u16

Source§

impl HasInterface<dyn Display> for u32

Source§

impl HasInterface<dyn Display> for u64

Source§

impl HasInterface<dyn Display> for String

Source§

impl HasInterface<dyn Object> for bool

Source§

impl HasInterface<dyn Object> for char

Source§

impl HasInterface<dyn Object> for f32

Source§

impl HasInterface<dyn Object> for f64

Source§

impl HasInterface<dyn Object> for i8

Source§

impl HasInterface<dyn Object> for i16

Source§

impl HasInterface<dyn Object> for i32

Source§

impl HasInterface<dyn Object> for i64

Source§

impl HasInterface<dyn Object> for u8

Source§

impl HasInterface<dyn Object> for u16

Source§

impl HasInterface<dyn Object> for u32

Source§

impl HasInterface<dyn Object> for u64

Source§

impl HasInterface<dyn Object> for String

Source§

impl HasInterface<dyn Object> for Vec<bool>

Source§

impl HasInterface<dyn Object> for Vec<char>

Source§

impl HasInterface<dyn Object> for Vec<f32>

Source§

impl HasInterface<dyn Object> for Vec<f64>

Source§

impl HasInterface<dyn Object> for Vec<i8>

Source§

impl HasInterface<dyn Object> for Vec<i16>

Source§

impl HasInterface<dyn Object> for Vec<i32>

Source§

impl HasInterface<dyn Object> for Vec<i64>

Source§

impl HasInterface<dyn Object> for Vec<u8>

Source§

impl HasInterface<dyn Object> for Vec<u16>

Source§

impl HasInterface<dyn Object> for Vec<u32>

Source§

impl HasInterface<dyn Object> for Vec<u64>

Source§

impl HasInterface<dyn Object> for Vec<String>

Source§

impl HasInterface<dyn Object> for Vec<PathBuf>

Source§

impl HasInterface<dyn Object> for PathBuf

Source§

impl HasInterface<dyn ObjectClone> for bool

Source§

impl HasInterface<dyn ObjectClone> for char

Source§

impl HasInterface<dyn ObjectClone> for f32

Source§

impl HasInterface<dyn ObjectClone> for f64

Source§

impl HasInterface<dyn ObjectClone> for i8

Source§

impl HasInterface<dyn ObjectClone> for i16

Source§

impl HasInterface<dyn ObjectClone> for i32

Source§

impl HasInterface<dyn ObjectClone> for i64

Source§

impl HasInterface<dyn ObjectClone> for u8

Source§

impl HasInterface<dyn ObjectClone> for u16

Source§

impl HasInterface<dyn ObjectClone> for u32

Source§

impl HasInterface<dyn ObjectClone> for u64

Source§

impl HasInterface<dyn ObjectClone> for String

Source§

impl HasInterface<dyn ObjectClone> for Vec<bool>

Source§

impl HasInterface<dyn ObjectClone> for Vec<char>

Source§

impl HasInterface<dyn ObjectClone> for Vec<f32>

Source§

impl HasInterface<dyn ObjectClone> for Vec<f64>

Source§

impl HasInterface<dyn ObjectClone> for Vec<i8>

Source§

impl HasInterface<dyn ObjectClone> for Vec<i16>

Source§

impl HasInterface<dyn ObjectClone> for Vec<i32>

Source§

impl HasInterface<dyn ObjectClone> for Vec<i64>

Source§

impl HasInterface<dyn ObjectClone> for Vec<u8>

Source§

impl HasInterface<dyn ObjectClone> for Vec<u16>

Source§

impl HasInterface<dyn ObjectClone> for Vec<u32>

Source§

impl HasInterface<dyn ObjectClone> for Vec<u64>

Source§

impl HasInterface<dyn ObjectClone> for Vec<String>

Source§

impl HasInterface<dyn ObjectClone> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectClone> for PathBuf

Source§

impl HasInterface<dyn ObjectEq> for bool

Source§

impl HasInterface<dyn ObjectEq> for char

Source§

impl HasInterface<dyn ObjectEq> for i8

Source§

impl HasInterface<dyn ObjectEq> for i16

Source§

impl HasInterface<dyn ObjectEq> for i32

Source§

impl HasInterface<dyn ObjectEq> for i64

Source§

impl HasInterface<dyn ObjectEq> for u8

Source§

impl HasInterface<dyn ObjectEq> for u16

Source§

impl HasInterface<dyn ObjectEq> for u32

Source§

impl HasInterface<dyn ObjectEq> for u64

Source§

impl HasInterface<dyn ObjectEq> for String

Source§

impl HasInterface<dyn ObjectEq> for Vec<bool>

Source§

impl HasInterface<dyn ObjectEq> for Vec<char>

Source§

impl HasInterface<dyn ObjectEq> for Vec<i8>

Source§

impl HasInterface<dyn ObjectEq> for Vec<i16>

Source§

impl HasInterface<dyn ObjectEq> for Vec<i32>

Source§

impl HasInterface<dyn ObjectEq> for Vec<i64>

Source§

impl HasInterface<dyn ObjectEq> for Vec<u8>

Source§

impl HasInterface<dyn ObjectEq> for Vec<u16>

Source§

impl HasInterface<dyn ObjectEq> for Vec<u32>

Source§

impl HasInterface<dyn ObjectEq> for Vec<u64>

Source§

impl HasInterface<dyn ObjectEq> for Vec<String>

Source§

impl HasInterface<dyn ObjectEq> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectEq> for PathBuf

Source§

impl HasInterface<dyn ObjectHash> for bool

Source§

impl HasInterface<dyn ObjectHash> for char

Source§

impl HasInterface<dyn ObjectHash> for i8

Source§

impl HasInterface<dyn ObjectHash> for i16

Source§

impl HasInterface<dyn ObjectHash> for i32

Source§

impl HasInterface<dyn ObjectHash> for i64

Source§

impl HasInterface<dyn ObjectHash> for u8

Source§

impl HasInterface<dyn ObjectHash> for u16

Source§

impl HasInterface<dyn ObjectHash> for u32

Source§

impl HasInterface<dyn ObjectHash> for u64

Source§

impl HasInterface<dyn ObjectHash> for String

Source§

impl HasInterface<dyn ObjectHash> for Vec<bool>

Source§

impl HasInterface<dyn ObjectHash> for Vec<char>

Source§

impl HasInterface<dyn ObjectHash> for Vec<i8>

Source§

impl HasInterface<dyn ObjectHash> for Vec<i16>

Source§

impl HasInterface<dyn ObjectHash> for Vec<i32>

Source§

impl HasInterface<dyn ObjectHash> for Vec<i64>

Source§

impl HasInterface<dyn ObjectHash> for Vec<u8>

Source§

impl HasInterface<dyn ObjectHash> for Vec<u16>

Source§

impl HasInterface<dyn ObjectHash> for Vec<u32>

Source§

impl HasInterface<dyn ObjectHash> for Vec<u64>

Source§

impl HasInterface<dyn ObjectHash> for Vec<String>

Source§

impl HasInterface<dyn ObjectHash> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectHash> for PathBuf

Source§

impl HasInterface<dyn ObjectOrd> for bool

Source§

impl HasInterface<dyn ObjectOrd> for char

Source§

impl HasInterface<dyn ObjectOrd> for i8

Source§

impl HasInterface<dyn ObjectOrd> for i16

Source§

impl HasInterface<dyn ObjectOrd> for i32

Source§

impl HasInterface<dyn ObjectOrd> for i64

Source§

impl HasInterface<dyn ObjectOrd> for u8

Source§

impl HasInterface<dyn ObjectOrd> for u16

Source§

impl HasInterface<dyn ObjectOrd> for u32

Source§

impl HasInterface<dyn ObjectOrd> for u64

Source§

impl HasInterface<dyn ObjectOrd> for String

Source§

impl HasInterface<dyn ObjectOrd> for Vec<bool>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<char>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<i8>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<i16>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<i32>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<i64>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<u8>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<u16>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<u32>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<u64>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<String>

Source§

impl HasInterface<dyn ObjectOrd> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectOrd> for PathBuf

Source§

impl HasInterface<dyn ObjectPartialEq> for bool

Source§

impl HasInterface<dyn ObjectPartialEq> for char

Source§

impl HasInterface<dyn ObjectPartialEq> for f32

Source§

impl HasInterface<dyn ObjectPartialEq> for f64

Source§

impl HasInterface<dyn ObjectPartialEq> for i8

Source§

impl HasInterface<dyn ObjectPartialEq> for i16

Source§

impl HasInterface<dyn ObjectPartialEq> for i32

Source§

impl HasInterface<dyn ObjectPartialEq> for i64

Source§

impl HasInterface<dyn ObjectPartialEq> for u8

Source§

impl HasInterface<dyn ObjectPartialEq> for u16

Source§

impl HasInterface<dyn ObjectPartialEq> for u32

Source§

impl HasInterface<dyn ObjectPartialEq> for u64

Source§

impl HasInterface<dyn ObjectPartialEq> for String

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<bool>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<char>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<f32>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<f64>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<i8>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<i16>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<i32>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<i64>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<u8>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<u16>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<u32>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<u64>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<String>

Source§

impl HasInterface<dyn ObjectPartialEq> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectPartialEq> for PathBuf

Source§

impl HasInterface<dyn ObjectPartialOrd> for bool

Source§

impl HasInterface<dyn ObjectPartialOrd> for char

Source§

impl HasInterface<dyn ObjectPartialOrd> for f32

Source§

impl HasInterface<dyn ObjectPartialOrd> for f64

Source§

impl HasInterface<dyn ObjectPartialOrd> for i8

Source§

impl HasInterface<dyn ObjectPartialOrd> for i16

Source§

impl HasInterface<dyn ObjectPartialOrd> for i32

Source§

impl HasInterface<dyn ObjectPartialOrd> for i64

Source§

impl HasInterface<dyn ObjectPartialOrd> for u8

Source§

impl HasInterface<dyn ObjectPartialOrd> for u16

Source§

impl HasInterface<dyn ObjectPartialOrd> for u32

Source§

impl HasInterface<dyn ObjectPartialOrd> for u64

Source§

impl HasInterface<dyn ObjectPartialOrd> for String

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<bool>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<char>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<f32>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<f64>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<i8>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<i16>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<i32>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<i64>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<u8>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<u16>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<u32>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<u64>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<String>

Source§

impl HasInterface<dyn ObjectPartialOrd> for Vec<PathBuf>

Source§

impl HasInterface<dyn ObjectPartialOrd> for PathBuf

Implementors§