You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the interfaces (i.e. EventInterface) can't be implemented for any external object because they inherit ClientLike that has unpublished RedisClientInner.
Describe the solution you'd like
Either make interfaces not to inherit : ClientLike {} interface that can't be implemented externally for wrappers
pub trait EventInterface { ... }
or change ClientLike to be implementable outside of Fred
Hi @sitano, thanks for bringing this up. I hadn't originally intended for folks to implement that trait, but I can see why it would be useful in cases like this. I'm working on a fairly substantial refactor to support this by breaking up the interfaces and semi-public types like ClientInner into separate crates, which should allow for this kind of usage and should hopefully speed up compilation times.
Unfortunately something changed with openssl last week and CI runs are now failing across the board for anything related to TLS (even ones from months ago that passed previously), so it may be a couple weeks before I have a chance to push this, but I may ping you for some early feedback on the new interfaces if that works for you.
Currently, the interfaces (i.e.
EventInterface
) can't be implemented for any external object because they inheritClientLike
that has unpublishedRedisClientInner
.Describe the solution you'd like
Either make interfaces not to inherit
: ClientLike {}
interface that can't be implemented externally for wrappersor change
ClientLike
to be implementable outside of Fredand maybe minimize trait itself.
Additional context
I want to do basically this:
The text was updated successfully, but these errors were encountered: