Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub enum TmqMessage {
- Single(zmq::Message),
- MultiPart(Vec<zmq::Message>)
- }
- // I can have one or the other, but not both
- impl From<zmq::Message> for TmqMessage {
- fn from(msg: zmq::Message) -> Self {
- TmqMessage::Single(msg)
- }
- }
- impl<I: Iterator<Item=zmq::Message>> From<I> for TmqMessage {
- fn from(msgs: I) -> Self {
- TmqMessage::MultiPart(msgs.collect())
- }
- }
- /* Error from compiler:
- error[E0119]: conflicting implementations of trait `std::convert::From<zmq::Message>` for type `poll::TmqMessage`:
- --> src/poll.rs:41:1
- |
- 35 | impl From<zmq::Message> for TmqMessage {
- | -------------------------------------- first implementation here
- ...
- 41 | impl<I: Iterator<Item=zmq::Message>> From<I> for TmqMessage {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `poll::TmqMessage`
- |
- = note: upstream crates may add new impl of trait `std::iter::Iterator` for type `zmq::Message` in future versions
- error: aborting due to previous error
- For more information about this error, try `rustc --explain E0119`.
- error: Could not compile `tmq`.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement