From 323762d238ebb9d9b8fa65bd1290aaa39648615c Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 19 Nov 2021 11:49:22 +0100 Subject: if first type bound isn't Into auto-box it --- tests/tests.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/tests.rs b/tests/tests.rs index 4d09847..652be48 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -152,3 +152,28 @@ trait AsyncWithCallback: Sync { async fn test1(&self) -> Self::A; async fn fun_with_callback(&self, a: F); } + +#[dynamize::dynamize] +trait TypeTraitBound { + type A: std::error::Error; + + fn foobar(&self, text: &str) -> Result; +} + +fn type_trait_bound_test(t: T) { + let dyn_trait: &dyn DynTypeTraitBound = &t; + let _: Result> = dyn_trait.foobar("test"); +} + +#[dynamize::dynamize] +trait TypeTraitBoundStatic { + type A: std::error::Error + 'static; + + fn foobar(&self, text: &str) -> Result; +} + +fn type_trait_bound_static_test( + t: Box, +) -> Option> { + t.foobar("test").err() +} -- cgit v1.2.3