将数组转换为牛
Convert array into cow
我正在尝试将数组传递给函数,但出现以下错误:
186 | mqtt_client.publish(
| ------- required by a bound introduced by this call
...
190 | buffer,
| ^^^^^^ the trait `From<[u8; 80]>` is not implemented for `Cow<'_, [u8]>`
该数组由以下行创建,并且在调用 publish()
之前修改了它的内容。
let mut buffer: [cty::uint8_t; 80] = [0; 80];
函数定义为:
fn publish<'a, V>(
&'a mut self,
payload: V,
) -> Result<client::MessageId, Self::Error>
where
V: Into<Cow<'a, [u8]>>,
Cow
无法识别您的特定数组类型,但它适用于任意切片,数组可以简单地转换为这些切片。只需更改:
mqtt_client.publish(
buffer,
至:
mqtt_client.publish(
Cow::From(&buffer[..]), // Explicit conversion
或:
mqtt_client.publish(
&buffer[..], // Implicit conversion
所以 Cow
正在使用可识别的类型。
我正在尝试将数组传递给函数,但出现以下错误:
186 | mqtt_client.publish(
| ------- required by a bound introduced by this call
...
190 | buffer,
| ^^^^^^ the trait `From<[u8; 80]>` is not implemented for `Cow<'_, [u8]>`
该数组由以下行创建,并且在调用 publish()
之前修改了它的内容。
let mut buffer: [cty::uint8_t; 80] = [0; 80];
函数定义为:
fn publish<'a, V>(
&'a mut self,
payload: V,
) -> Result<client::MessageId, Self::Error>
where
V: Into<Cow<'a, [u8]>>,
Cow
无法识别您的特定数组类型,但它适用于任意切片,数组可以简单地转换为这些切片。只需更改:
mqtt_client.publish(
buffer,
至:
mqtt_client.publish(
Cow::From(&buffer[..]), // Explicit conversion
或:
mqtt_client.publish(
&buffer[..], // Implicit conversion
所以 Cow
正在使用可识别的类型。