我将CLIENT LIST > ~/clients.txt
介绍到以前正在运行的应用程序中。错误本身很明显,error-chain
缺少std::error::Error + 'static
:
trait std::marker::Send
我不知道如何解决这个问题。请注意,我使用的是up to date fork of mqttc/mqtt3
而不是上游包。{/ p>
答案 0 :(得分:2)
mqttc::Error
包含mqttc::netopt::Error
,而Box<std::error::Error>
又包含std::boxed::Box<std::error::Error + 'static>
(去除std::error::Error
。Error
这里是一个特质对象。因为{ {1}}特质没有Send
作为超级实体,Error
的实施不需要实施Send
。因此,Box<std::error::Error>
不会实施Send
,因为并非所有类型T: std::error::Error
都实施Send
。
可以通过将mqttc::netopt::Error
类型更改为使用Box<std::error::Error + Send>
而不是Box<std::error::Error>
来修复此问题(这将是图书馆的重大更改)。