Trait query_interface::HasInterface [] [src]

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

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

impl HasInterface<bool> for bool
[src]

impl HasInterface<Object> for bool
[src]

impl HasInterface<ObjectClone> for bool
[src]

impl HasInterface<Debug> for bool
[src]

impl HasInterface<Display> for bool
[src]

impl HasInterface<ObjectPartialEq> for bool
[src]

impl HasInterface<ObjectPartialOrd> for bool
[src]

impl HasInterface<ObjectEq> for bool
[src]

impl HasInterface<ObjectOrd> for bool
[src]

impl HasInterface<ObjectHash> for bool
[src]

impl HasInterface<ToString> for bool
[src]

impl HasInterface<i8> for i8
[src]

impl HasInterface<Object> for i8
[src]

impl HasInterface<ObjectClone> for i8
[src]

impl HasInterface<Debug> for i8
[src]

impl HasInterface<Display> for i8
[src]

impl HasInterface<ObjectPartialEq> for i8
[src]

impl HasInterface<ObjectPartialOrd> for i8
[src]

impl HasInterface<ObjectEq> for i8
[src]

impl HasInterface<ObjectOrd> for i8
[src]

impl HasInterface<ObjectHash> for i8
[src]

impl HasInterface<ToString> for i8
[src]

impl HasInterface<u8> for u8
[src]

impl HasInterface<Object> for u8
[src]

impl HasInterface<ObjectClone> for u8
[src]

impl HasInterface<Debug> for u8
[src]

impl HasInterface<Display> for u8
[src]

impl HasInterface<ObjectPartialEq> for u8
[src]

impl HasInterface<ObjectPartialOrd> for u8
[src]

impl HasInterface<ObjectEq> for u8
[src]

impl HasInterface<ObjectOrd> for u8
[src]

impl HasInterface<ObjectHash> for u8
[src]

impl HasInterface<ToString> for u8
[src]

impl HasInterface<i16> for i16
[src]

impl HasInterface<Object> for i16
[src]

impl HasInterface<ObjectClone> for i16
[src]

impl HasInterface<Debug> for i16
[src]

impl HasInterface<Display> for i16
[src]

impl HasInterface<ObjectPartialEq> for i16
[src]

impl HasInterface<ObjectPartialOrd> for i16
[src]

impl HasInterface<ObjectEq> for i16
[src]

impl HasInterface<ObjectOrd> for i16
[src]

impl HasInterface<ObjectHash> for i16
[src]

impl HasInterface<ToString> for i16
[src]

impl HasInterface<u16> for u16
[src]

impl HasInterface<Object> for u16
[src]

impl HasInterface<ObjectClone> for u16
[src]

impl HasInterface<Debug> for u16
[src]

impl HasInterface<Display> for u16
[src]

impl HasInterface<ObjectPartialEq> for u16
[src]

impl HasInterface<ObjectPartialOrd> for u16
[src]

impl HasInterface<ObjectEq> for u16
[src]

impl HasInterface<ObjectOrd> for u16
[src]

impl HasInterface<ObjectHash> for u16
[src]

impl HasInterface<ToString> for u16
[src]

impl HasInterface<i32> for i32
[src]

impl HasInterface<Object> for i32
[src]

impl HasInterface<ObjectClone> for i32
[src]

impl HasInterface<Debug> for i32
[src]

impl HasInterface<Display> for i32
[src]

impl HasInterface<ObjectPartialEq> for i32
[src]

impl HasInterface<ObjectPartialOrd> for i32
[src]

impl HasInterface<ObjectEq> for i32
[src]

impl HasInterface<ObjectOrd> for i32
[src]

impl HasInterface<ObjectHash> for i32
[src]

impl HasInterface<ToString> for i32
[src]

impl HasInterface<u32> for u32
[src]

impl HasInterface<Object> for u32
[src]

impl HasInterface<ObjectClone> for u32
[src]

impl HasInterface<Debug> for u32
[src]

impl HasInterface<Display> for u32
[src]

impl HasInterface<ObjectPartialEq> for u32
[src]

impl HasInterface<ObjectPartialOrd> for u32
[src]

impl HasInterface<ObjectEq> for u32
[src]

impl HasInterface<ObjectOrd> for u32
[src]

impl HasInterface<ObjectHash> for u32
[src]

impl HasInterface<ToString> for u32
[src]

impl HasInterface<i64> for i64
[src]

impl HasInterface<Object> for i64
[src]

impl HasInterface<ObjectClone> for i64
[src]

impl HasInterface<Debug> for i64
[src]

impl HasInterface<Display> for i64
[src]

impl HasInterface<ObjectPartialEq> for i64
[src]

impl HasInterface<ObjectPartialOrd> for i64
[src]

impl HasInterface<ObjectEq> for i64
[src]

impl HasInterface<ObjectOrd> for i64
[src]

impl HasInterface<ObjectHash> for i64
[src]

impl HasInterface<ToString> for i64
[src]

impl HasInterface<u64> for u64
[src]

impl HasInterface<Object> for u64
[src]

impl HasInterface<ObjectClone> for u64
[src]

impl HasInterface<Debug> for u64
[src]

impl HasInterface<Display> for u64
[src]

impl HasInterface<ObjectPartialEq> for u64
[src]

impl HasInterface<ObjectPartialOrd> for u64
[src]

impl HasInterface<ObjectEq> for u64
[src]

impl HasInterface<ObjectOrd> for u64
[src]

impl HasInterface<ObjectHash> for u64
[src]

impl HasInterface<ToString> for u64
[src]

impl HasInterface<char> for char
[src]

impl HasInterface<Object> for char
[src]

impl HasInterface<ObjectClone> for char
[src]

impl HasInterface<Debug> for char
[src]

impl HasInterface<Display> for char
[src]

impl HasInterface<ObjectPartialEq> for char
[src]

impl HasInterface<ObjectPartialOrd> for char
[src]

impl HasInterface<ObjectEq> for char
[src]

impl HasInterface<ObjectOrd> for char
[src]

impl HasInterface<ObjectHash> for char
[src]

impl HasInterface<ToString> for char
[src]

impl HasInterface<f32> for f32
[src]

impl HasInterface<Object> for f32
[src]

impl HasInterface<ObjectClone> for f32
[src]

impl HasInterface<Debug> for f32
[src]

impl HasInterface<Display> for f32
[src]

impl HasInterface<ObjectPartialEq> for f32
[src]

impl HasInterface<ObjectPartialOrd> for f32
[src]

impl HasInterface<ToString> for f32
[src]

impl HasInterface<f64> for f64
[src]

impl HasInterface<Object> for f64
[src]

impl HasInterface<ObjectClone> for f64
[src]

impl HasInterface<Debug> for f64
[src]

impl HasInterface<Display> for f64
[src]

impl HasInterface<ObjectPartialEq> for f64
[src]

impl HasInterface<ObjectPartialOrd> for f64
[src]

impl HasInterface<ToString> for f64
[src]

impl HasInterface<String> for String
[src]

impl HasInterface<Object> for String
[src]

impl HasInterface<ObjectClone> for String
[src]

impl HasInterface<Debug> for String
[src]

impl HasInterface<Display> for String
[src]

impl HasInterface<ObjectPartialEq> for String
[src]

impl HasInterface<ObjectPartialOrd> for String
[src]

impl HasInterface<ObjectEq> for String
[src]

impl HasInterface<ObjectOrd> for String
[src]

impl HasInterface<ObjectHash> for String
[src]

impl HasInterface<ToString> for String
[src]

impl HasInterface<PathBuf> for PathBuf
[src]

impl HasInterface<Object> for PathBuf
[src]

impl HasInterface<ObjectClone> for PathBuf
[src]

impl HasInterface<Debug> for PathBuf
[src]

impl HasInterface<ObjectPartialEq> for PathBuf
[src]

impl HasInterface<ObjectPartialOrd> for PathBuf
[src]

impl HasInterface<ObjectEq> for PathBuf
[src]

impl HasInterface<ObjectOrd> for PathBuf
[src]

impl HasInterface<ObjectHash> for PathBuf
[src]

impl HasInterface<Vec<bool>> for Vec<bool>
[src]

impl HasInterface<Object> for Vec<bool>
[src]

impl HasInterface<ObjectClone> for Vec<bool>
[src]

impl HasInterface<Debug> for Vec<bool>
[src]

impl HasInterface<ObjectPartialEq> for Vec<bool>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<bool>
[src]

impl HasInterface<ObjectEq> for Vec<bool>
[src]

impl HasInterface<ObjectOrd> for Vec<bool>
[src]

impl HasInterface<ObjectHash> for Vec<bool>
[src]

impl HasInterface<Vec<i8>> for Vec<i8>
[src]

impl HasInterface<Object> for Vec<i8>
[src]

impl HasInterface<ObjectClone> for Vec<i8>
[src]

impl HasInterface<Debug> for Vec<i8>
[src]

impl HasInterface<ObjectPartialEq> for Vec<i8>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<i8>
[src]

impl HasInterface<ObjectEq> for Vec<i8>
[src]

impl HasInterface<ObjectOrd> for Vec<i8>
[src]

impl HasInterface<ObjectHash> for Vec<i8>
[src]

impl HasInterface<Vec<u8>> for Vec<u8>
[src]

impl HasInterface<Object> for Vec<u8>
[src]

impl HasInterface<ObjectClone> for Vec<u8>
[src]

impl HasInterface<Debug> for Vec<u8>
[src]

impl HasInterface<ObjectPartialEq> for Vec<u8>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<u8>
[src]

impl HasInterface<ObjectEq> for Vec<u8>
[src]

impl HasInterface<ObjectOrd> for Vec<u8>
[src]

impl HasInterface<ObjectHash> for Vec<u8>
[src]

impl HasInterface<Vec<i16>> for Vec<i16>
[src]

impl HasInterface<Object> for Vec<i16>
[src]

impl HasInterface<ObjectClone> for Vec<i16>
[src]

impl HasInterface<Debug> for Vec<i16>
[src]

impl HasInterface<ObjectPartialEq> for Vec<i16>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<i16>
[src]

impl HasInterface<ObjectEq> for Vec<i16>
[src]

impl HasInterface<ObjectOrd> for Vec<i16>
[src]

impl HasInterface<ObjectHash> for Vec<i16>
[src]

impl HasInterface<Vec<u16>> for Vec<u16>
[src]

impl HasInterface<Object> for Vec<u16>
[src]

impl HasInterface<ObjectClone> for Vec<u16>
[src]

impl HasInterface<Debug> for Vec<u16>
[src]

impl HasInterface<ObjectPartialEq> for Vec<u16>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<u16>
[src]

impl HasInterface<ObjectEq> for Vec<u16>
[src]

impl HasInterface<ObjectOrd> for Vec<u16>
[src]

impl HasInterface<ObjectHash> for Vec<u16>
[src]

impl HasInterface<Vec<i32>> for Vec<i32>
[src]

impl HasInterface<Object> for Vec<i32>
[src]

impl HasInterface<ObjectClone> for Vec<i32>
[src]

impl HasInterface<Debug> for Vec<i32>
[src]

impl HasInterface<ObjectPartialEq> for Vec<i32>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<i32>
[src]

impl HasInterface<ObjectEq> for Vec<i32>
[src]

impl HasInterface<ObjectOrd> for Vec<i32>
[src]

impl HasInterface<ObjectHash> for Vec<i32>
[src]

impl HasInterface<Vec<u32>> for Vec<u32>
[src]

impl HasInterface<Object> for Vec<u32>
[src]

impl HasInterface<ObjectClone> for Vec<u32>
[src]

impl HasInterface<Debug> for Vec<u32>
[src]

impl HasInterface<ObjectPartialEq> for Vec<u32>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<u32>
[src]

impl HasInterface<ObjectEq> for Vec<u32>
[src]

impl HasInterface<ObjectOrd> for Vec<u32>
[src]

impl HasInterface<ObjectHash> for Vec<u32>
[src]

impl HasInterface<Vec<i64>> for Vec<i64>
[src]

impl HasInterface<Object> for Vec<i64>
[src]

impl HasInterface<ObjectClone> for Vec<i64>
[src]

impl HasInterface<Debug> for Vec<i64>
[src]

impl HasInterface<ObjectPartialEq> for Vec<i64>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<i64>
[src]

impl HasInterface<ObjectEq> for Vec<i64>
[src]

impl HasInterface<ObjectOrd> for Vec<i64>
[src]

impl HasInterface<ObjectHash> for Vec<i64>
[src]

impl HasInterface<Vec<u64>> for Vec<u64>
[src]

impl HasInterface<Object> for Vec<u64>
[src]

impl HasInterface<ObjectClone> for Vec<u64>
[src]

impl HasInterface<Debug> for Vec<u64>
[src]

impl HasInterface<ObjectPartialEq> for Vec<u64>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<u64>
[src]

impl HasInterface<ObjectEq> for Vec<u64>
[src]

impl HasInterface<ObjectOrd> for Vec<u64>
[src]

impl HasInterface<ObjectHash> for Vec<u64>
[src]

impl HasInterface<Vec<char>> for Vec<char>
[src]

impl HasInterface<Object> for Vec<char>
[src]

impl HasInterface<ObjectClone> for Vec<char>
[src]

impl HasInterface<Debug> for Vec<char>
[src]

impl HasInterface<ObjectPartialEq> for Vec<char>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<char>
[src]

impl HasInterface<ObjectEq> for Vec<char>
[src]

impl HasInterface<ObjectOrd> for Vec<char>
[src]

impl HasInterface<ObjectHash> for Vec<char>
[src]

impl HasInterface<Vec<f32>> for Vec<f32>
[src]

impl HasInterface<Object> for Vec<f32>
[src]

impl HasInterface<ObjectClone> for Vec<f32>
[src]

impl HasInterface<Debug> for Vec<f32>
[src]

impl HasInterface<ObjectPartialEq> for Vec<f32>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<f32>
[src]

impl HasInterface<Vec<f64>> for Vec<f64>
[src]

impl HasInterface<Object> for Vec<f64>
[src]

impl HasInterface<ObjectClone> for Vec<f64>
[src]

impl HasInterface<Debug> for Vec<f64>
[src]

impl HasInterface<ObjectPartialEq> for Vec<f64>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<f64>
[src]

impl HasInterface<Vec<String>> for Vec<String>
[src]

impl HasInterface<Object> for Vec<String>
[src]

impl HasInterface<ObjectClone> for Vec<String>
[src]

impl HasInterface<Debug> for Vec<String>
[src]

impl HasInterface<ObjectPartialEq> for Vec<String>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<String>
[src]

impl HasInterface<ObjectEq> for Vec<String>
[src]

impl HasInterface<ObjectOrd> for Vec<String>
[src]

impl HasInterface<ObjectHash> for Vec<String>
[src]

impl HasInterface<Vec<PathBuf>> for Vec<PathBuf>
[src]

impl HasInterface<Object> for Vec<PathBuf>
[src]

impl HasInterface<ObjectClone> for Vec<PathBuf>
[src]

impl HasInterface<Debug> for Vec<PathBuf>
[src]

impl HasInterface<ObjectPartialEq> for Vec<PathBuf>
[src]

impl HasInterface<ObjectPartialOrd> for Vec<PathBuf>
[src]

impl HasInterface<ObjectEq> for Vec<PathBuf>
[src]

impl HasInterface<ObjectOrd> for Vec<PathBuf>
[src]

impl HasInterface<ObjectHash> for Vec<PathBuf>
[src]

Implementors