use objc2::{extern_class, ClassType};
use objc2_foundation::NSObject;
use static_assertions::assert_impl_all;
#[ test]
fn allow_deprecated() {
#! [deny(deprecated)]
// Test allow propagates to impls
extern_class!(
#[ unsafe (super (NSObject))]
#[ deprecated]
#[ allow(deprecated)]
struct AllowDeprecated;
);
}
#[ test]
fn cfg() {
// Test `cfg`. We use `debug_assertions` here because it's something that we
// know our CI already tests.
extern_class!(
#[ unsafe (super (NSObject))]
#[ cfg(debug_assertions)]
#[ name = "NSObject" ]
struct OnlyOnDebugAssertions;
);
#[ cfg(debug_assertions)]
let _ = OnlyOnDebugAssertions::class();
extern_class!(
#[ unsafe (super (NSObject))]
#[ cfg(not(debug_assertions))]
#[ name = "NSObject" ]
struct NeverOnDebugAssertions;
);
#[ cfg(not(debug_assertions))]
let _ = NeverOnDebugAssertions::class();
}
#[ test]
fn derive() {
extern_class!(
#[ rustfmt::skip]
#[ unsafe (super (NSObject))]
#[ derive(PartialEq)]
#[ derive()]
#[ derive(Eq,)]
#[ derive()]
#[ derive(Debug, Hash,)]
struct Derive;
);
assert_impl_all!(Derive: PartialEq, Eq, core::hash::Hash, core::fmt::Debug);
}
Messung V0.5 in Prozent C=73 H=88 G=80
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland