// compile-pass #![warn(order_dependent_trait_objects)] // Check that traitobject 0.1.0 compiles //! # traitobject //! //! Unsafe helpers for working with raw TraitObjects. /// A trait implemented for all trait objects. /// /// Implementations for all traits in std are provided. pub unsafe trait Trait {} unsafe impl Trait for ::std::any::Any + Send { } unsafe impl Trait for ::std::any::Any + Sync { } unsafe impl Trait for ::std::any::Any + Send + Sync { } unsafe impl Trait for ::std::borrow::Borrow + Send { } unsafe impl Trait for ::std::borrow::Borrow + Sync { } unsafe impl Trait for ::std::borrow::Borrow + Send + Sync { } unsafe impl Trait for ::std::borrow::BorrowMut + Send { } unsafe impl Trait for ::std::borrow::BorrowMut + Sync { } unsafe impl Trait for ::std::borrow::BorrowMut + Send + Sync { } unsafe impl Trait for ::std::convert::AsMut + Send { } unsafe impl Trait for ::std::convert::AsMut + Sync { } unsafe impl Trait for ::std::convert::AsMut + Send + Sync { } unsafe impl Trait for ::std::convert::AsRef + Send { } unsafe impl Trait for ::std::convert::AsRef + Sync { } unsafe impl Trait for ::std::convert::AsRef + Send + Sync { } unsafe impl Trait for ::std::error::Error + Send { } unsafe impl Trait for ::std::error::Error + Sync { } unsafe impl Trait for ::std::error::Error + Send + Sync { } unsafe impl Trait for ::std::fmt::Binary + Send { } unsafe impl Trait for ::std::fmt::Binary + Sync { } unsafe impl Trait for ::std::fmt::Binary + Send + Sync { } unsafe impl Trait for ::std::fmt::Debug + Send { } unsafe impl Trait for ::std::fmt::Debug + Sync { } unsafe impl Trait for ::std::fmt::Debug + Send + Sync { } unsafe impl Trait for ::std::fmt::Display + Send { } unsafe impl Trait for ::std::fmt::Display + Sync { } unsafe impl Trait for ::std::fmt::Display + Send + Sync { } unsafe impl Trait for ::std::fmt::LowerExp + Send { } unsafe impl Trait for ::std::fmt::LowerExp + Sync { } unsafe impl Trait for ::std::fmt::LowerExp + Send + Sync { } unsafe impl Trait for ::std::fmt::LowerHex + Send { } unsafe impl Trait for ::std::fmt::LowerHex + Sync { } unsafe impl Trait for ::std::fmt::LowerHex + Send + Sync { } unsafe impl Trait for ::std::fmt::Octal + Send { } unsafe impl Trait for ::std::fmt::Octal + Sync { } unsafe impl Trait for ::std::fmt::Octal + Send + Sync { } unsafe impl Trait for ::std::fmt::Pointer + Send { } unsafe impl Trait for ::std::fmt::Pointer + Sync { } unsafe impl Trait for ::std::fmt::Pointer + Send + Sync { } unsafe impl Trait for ::std::fmt::UpperExp + Send { } unsafe impl Trait for ::std::fmt::UpperExp + Sync { } unsafe impl Trait for ::std::fmt::UpperExp + Send + Sync { } unsafe impl Trait for ::std::fmt::UpperHex + Send { } unsafe impl Trait for ::std::fmt::UpperHex + Sync { } unsafe impl Trait for ::std::fmt::UpperHex + Send + Sync { } unsafe impl Trait for ::std::fmt::Write + Send { } unsafe impl Trait for ::std::fmt::Write + Sync { } unsafe impl Trait for ::std::fmt::Write + Send + Sync { } unsafe impl Trait for ::std::hash::Hasher + Send { } unsafe impl Trait for ::std::hash::Hasher + Sync { } unsafe impl Trait for ::std::hash::Hasher + Send + Sync { } unsafe impl Trait for ::std::io::BufRead + Send { } unsafe impl Trait for ::std::io::BufRead + Sync { } unsafe impl Trait for ::std::io::BufRead + Send + Sync { } unsafe impl Trait for ::std::io::Read + Send { } unsafe impl Trait for ::std::io::Read + Sync { } unsafe impl Trait for ::std::io::Read + Send + Sync { } unsafe impl Trait for ::std::io::Seek + Send { } unsafe impl Trait for ::std::io::Seek + Sync { } unsafe impl Trait for ::std::io::Seek + Send + Sync { } unsafe impl Trait for ::std::io::Write + Send { } unsafe impl Trait for ::std::io::Write + Sync { } unsafe impl Trait for ::std::io::Write + Send + Sync { } unsafe impl Trait for ::std::iter::IntoIterator { } unsafe impl Trait for ::std::iter::Iterator + Send { } unsafe impl Trait for ::std::iter::Iterator + Sync { } unsafe impl Trait for ::std::iter::Iterator + Send + Sync { } unsafe impl Trait for ::std::marker::Send + Send { } unsafe impl Trait for ::std::marker::Send + Sync { } unsafe impl Trait for ::std::marker::Send + Send + Sync { } unsafe impl Trait for ::std::marker::Sync + Send { } unsafe impl Trait for ::std::marker::Sync + Sync { } unsafe impl Trait for ::std::marker::Sync + Send + Sync { } unsafe impl Trait for ::std::ops::Drop + Send { } unsafe impl Trait for ::std::ops::Drop + Sync { } unsafe impl Trait for ::std::ops::Drop + Send + Sync { } unsafe impl Trait for ::std::string::ToString + Send { } unsafe impl Trait for ::std::string::ToString + Sync { } unsafe impl Trait for ::std::string::ToString + Send + Sync { } fn assert_trait() {} fn main() { assert_trait::(); assert_trait::(); assert_trait::(); }