1 // Test that the use of the non object-safe trait objects
2 // are gated by `object_safe_for_dispatch` feature gate.
4 trait NonObjectSafe1: Sized {}
10 trait NonObjectSafe3 {
14 trait NonObjectSafe4 {
18 fn takes_non_object_safe_ref<T>(obj: &dyn NonObjectSafe1) {
22 fn return_non_object_safe_ref() -> &'static dyn NonObjectSafe2 {
27 fn takes_non_object_safe_box(obj: Box<dyn NonObjectSafe3>) {
31 fn return_non_object_safe_rc() -> std::rc::Rc<dyn NonObjectSafe4> {
38 impl Trait for dyn NonObjectSafe1 {}