mirror of
https://github.com/teloxide/teloxide.git
synced 2025-03-21 14:29:01 +01:00
Use frunk v0.3.1
This commit is contained in:
parent
709fe18ade
commit
3a0a005265
2 changed files with 6 additions and 5 deletions
|
@ -53,7 +53,7 @@ serde_with_macros = "1.1.0"
|
||||||
redis = { version = "0.16.0", optional = true }
|
redis = { version = "0.16.0", optional = true }
|
||||||
serde_cbor = { version = "0.11.1", optional = true }
|
serde_cbor = { version = "0.11.1", optional = true }
|
||||||
bincode = { version = "1.3.1", optional = true }
|
bincode = { version = "1.3.1", optional = true }
|
||||||
frunk = { git = "https://github.com/Hirrolot/frunk", branch = "append-to-hlist", optional = true }
|
frunk = { version = "0.3.1", optional = true }
|
||||||
|
|
||||||
teloxide-macros = "0.3.2"
|
teloxide-macros = "0.3.2"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#![cfg(feature = "frunk")]
|
#![cfg(feature = "frunk")]
|
||||||
|
|
||||||
use frunk::{from_generic, generic::Generic, hlist::HAppender, into_generic};
|
use frunk::{from_generic, generic::Generic, hlist::h_cons, into_generic, HCons, HNil};
|
||||||
|
use std::ops::Add;
|
||||||
|
|
||||||
/// Constructs a structure from another structure and a field.
|
/// Constructs a structure from another structure and a field.
|
||||||
///
|
///
|
||||||
|
@ -14,10 +15,10 @@ pub trait UpState: Sized {
|
||||||
fn up<T1, T1Repr, F>(src: T1, field: F) -> Self
|
fn up<T1, T1Repr, F>(src: T1, field: F) -> Self
|
||||||
where
|
where
|
||||||
T1: Generic<Repr = T1Repr>,
|
T1: Generic<Repr = T1Repr>,
|
||||||
Self: Generic<Repr = <T1Repr as HAppender<F>>::Output>,
|
Self: Generic<Repr = <T1Repr as Add<HCons<F, HNil>>>::Output>,
|
||||||
T1Repr: HAppender<F>,
|
T1Repr: Add<HCons<F, HNil>>,
|
||||||
{
|
{
|
||||||
from_generic(into_generic(src).append(field))
|
from_generic(into_generic(src) + h_cons(field, HNil))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue