#![allow(unused_imports)]
use crate as the_module;
use test_tools as derives;
use core ::ops ::Deref;
mod all_manual_test;
#[ cfg( all(
feature = "derive_as_mut",
feature = "derive_as_ref",
feature = "derive_deref",
feature = "derive_deref_mut",
feature = "derive_from",
feature = "derive_index",
feature = "derive_index_mut",
feature = "derive_inner_from",
feature = "derive_not",
feature = "derive_phantom"
) ) ]
mod all_test;
mod basic_test;
#[ cfg( feature = "derive_as_mut" ) ]
#[ path = "as_mut/mod.rs" ]
mod as_mut_test;
mod as_ref_manual_test;
#[ cfg( feature = "derive_as_ref" ) ]
mod as_ref_test;
#[ cfg( feature = "derive_deref" ) ]
#[ path = "deref" ]
mod deref_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_manual_test;
mod basic_test;
mod generics_lifetimes; mod generics_lifetimes_manual;
mod generics_types; mod generics_types_default;
mod generics_types_default_manual;
mod generics_types_manual;
mod generics_constants; mod generics_constants_default;
mod generics_constants_default_manual;
mod generics_constants_manual;
mod bounds_inlined; mod bounds_inlined_manual;
mod bounds_mixed;
mod bounds_mixed_manual;
mod bounds_where;
mod bounds_where_manual;
mod name_collisions;
}
#[ cfg( feature = "derive_deref_mut" ) ]
#[ path = "deref_mut" ]
mod deref_mut_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_manual_test;
mod basic_test;
}
only_for_terminal_module! {
#[ test_tools ::nightly ]
#[ test ]
fn deref_mut_trybuild()
{
println!( "current_dir: {:?}", std ::env ::current_dir().unwrap() );
let t = test_tools ::compiletime ::TestCases ::new();
t.compile_fail( "tests/inc/deref_mut/compile_fail_enum.rs" );
}
}
only_for_terminal_module! {
#[ test_tools ::nightly ]
#[ test ]
fn deref_trybuild()
{
println!( "current_dir: {:?}", std ::env ::current_dir().unwrap() );
let t = test_tools ::compiletime ::TestCases ::new();
t.compile_fail( "tests/inc/deref/struct_tuple.rs" ); t.compile_fail( "tests/inc/deref/struct_named.rs" ); t.compile_fail( "tests/inc/deref/enum_unit.rs" ); t.compile_fail( "tests/inc/deref/struct_unit.rs" ); t.compile_fail( "tests/inc/deref/compile_fail_complex_struct.rs" ); }
}
#[ cfg( feature = "derive_from" ) ]
#[ path = "from" ]
mod from_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_manual_test;
mod basic_test;
}
#[ cfg( feature = "derive_inner_from" ) ]
#[ path = "inner_from" ]
mod inner_from_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_manual_test;
mod basic_test;
}
#[ cfg( feature = "derive_new" ) ]
#[ path = "new" ]
mod new_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_manual_test;
mod basic_test;
}
#[ cfg( feature = "derive_not" ) ]
#[ path = "not" ]
mod not_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod struct_named;
mod struct_named_manual;
}
#[ cfg( feature = "derive_phantom" ) ]
#[ path = "phantom" ]
mod phantom_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod struct_named;
mod struct_named_empty;
mod struct_named_empty_manual;
mod struct_named_manual;
mod bounds_inlined;
mod bounds_inlined_manual;
mod bounds_mixed;
mod bounds_mixed_manual;
mod bounds_where;
mod bounds_where_manual;
mod contravariant_type;
mod contravariant_type_manual;
mod covariant_type;
mod covariant_type_manual;
mod name_collisions;
mod send_sync_type;
mod send_sync_type_manual;
mod struct_tuple;
mod struct_tuple_empty;
mod struct_tuple_empty_manual;
mod struct_tuple_manual;
mod struct_unit_to_tuple;
mod struct_unit_to_tuple_manual;
only_for_terminal_module! {
#[ test_tools ::nightly ]
#[ test ]
fn phantom_trybuild()
{
println!( "current_dir: {:?}", std ::env ::current_dir().unwrap() );
let t = test_tools ::compiletime ::TestCases ::new();
t.compile_fail( "tests/inc/phantom/compile_fail_derive.rs" );
}
}
}
#[ cfg( feature = "derive_index_mut" ) ]
#[ path = "index_mut" ]
mod index_mut_tests
{
#[ allow( unused_imports ) ]
use super :: *;
mod basic_test;
mod minimal_test;
mod basic_manual_test;
only_for_terminal_module! {
#[ test_tools ::nightly ]
#[ test ]
fn index_mut_trybuild()
{
println!( "current_dir: {:?}", std ::env ::current_dir().unwrap() );
let t = test_tools ::compiletime ::TestCases ::new();
t.compile_fail( "tests/inc/index_mut/compiletime/struct.rs" );
t.compile_fail( "tests/inc/index_mut/compiletime/struct_unit.rs" );
t.compile_fail( "tests/inc/index_mut/compiletime/struct_named_empty.rs" );
t.compile_fail( "tests/inc/index_mut/compiletime/enum.rs" );
}
}
}