首页 > 解决方案 > 无法将向量值分配给结构中的字段:预期 8 个可能的标记之一

问题描述

我有这个结构:

struct PaginatedTopics {
    docs: Vec<Topic>,
    pages: u32,
}

我想为Topic它分配一个类型的向量,如下所示:

let topics = conn.query_map(
    r"SELECT id, title",
    |(id, title)| {
        Topic { id, title, ..Default::default() }
    });

let mut paginated_results = {
    docs: topics,
    pages: 0,
};

这是行不通的;我不断收到错误:

error: expected one of `!`, `(`, `.`, `::`, `;`, `<`, `?`, or `}`, found `,`
 --> src/lib.rs:9:17
  |
9 |     docs: topics,
  |         -       ^ expected one of 8 possible tokens
  |         |
  |         tried to parse a type due to this

我不明白那个错误。这是一个简单的任务。

标签: rust

解决方案


Rust 没有匿名结构,你必须提供它们的名字:

let mut paginated_results = PaginatedTopics {
    docs: topics,
    pages: u32,
};

有关更多信息,请参阅Rust 编程语言


推荐阅读