Diffstat (limited to 'src/transform.rs')
| -rw-r--r-- | src/transform.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/transform.rs b/src/transform.rs index 12f7576..cd46681 100644 --- a/src/transform.rs +++ b/src/transform.rs @@ -29,12 +29,12 @@ where build_from_mut::<U::Builder, _, _>(value) } -pub fn from_ref<'value, 'ctx: 'value, U, T, VisitorErr>( +pub fn from_ref<'value, 'ctx: 'value, U, T: ?Sized, VisitorErr>( value: &'value T, -) -> Result<U, UniError<<T as Walk<'value, 'ctx, VisitorErr>>::Error, VisitorErr>> +) -> Result<U, UniError<<T as Walk<'value, 'value, 'ctx, VisitorErr>>::Error, VisitorErr>> where - U: Build<'value, 'ctx, <T as Walk<'value, 'ctx, VisitorErr>>::Error, Error = VisitorErr>, - T: Walk<'value, 'ctx, VisitorErr>, + U: Build<'value, 'ctx, <T as Walk<'value, 'value, 'ctx, VisitorErr>>::Error, Error = VisitorErr>, + T: Walk<'value, 'value, 'ctx, VisitorErr>, { build_from_ref::<U::Builder, _, _>(value) } @@ -73,12 +73,12 @@ where builder.finish() } -pub fn build_from_ref<'value, 'ctx: 'value, B, T, VisitorErr>( +pub fn build_from_ref<'value, 'ctx: 'value, B, T: ?Sized, VisitorErr>( value: &'value T, -) -> Result<B::Value, UniError<<T as Walk<'value, 'ctx, VisitorErr>>::Error, VisitorErr>> +) -> Result<B::Value, UniError<<T as Walk<'value, 'value, 'ctx, VisitorErr>>::Error, VisitorErr>> where - B: Builder<'value, 'ctx, <T as Walk<'value, 'ctx, VisitorErr>>::Error, Error = VisitorErr>, - T: Walk<'value, 'ctx, VisitorErr>, + B: Builder<'value, 'ctx, <T as Walk<'value, 'value, 'ctx, VisitorErr>>::Error, Error = VisitorErr>, + T: Walk<'value, 'value, 'ctx, VisitorErr>, { let mut builder = B::init(); value.walker().walk(builder.as_visitor())?; |