代码之家  ›  专栏  ›  技术社区  ›  Evan Carroll

生锈添加。排序依据生成错误:应为结构“Vec”,找到“()`

  •  0
  • Evan Carroll  · 技术社区  · 3 年前

    let alerts : Vec<Alert> = serde_json::from_value::<Vec<Alert>>(json) 
      .unwrap();
    

    为什么要添加一个 .sort_by_key 导致错误

    expected struct `Vec`, found `()`
    

    生成错误的代码是,

    let alerts : Vec<Alert> = serde_json::from_value::<Vec<Alert>>(json)
      .unwrap()
      .sort_by_key( |e| e.pub_millis );
    
    0 回复  |  直到 3 年前
        1
  •  3
  •   transistor    3 年前

    从Vec的文档中:

    pub fn sort_by_key<K, F>(&mut self, f: F) where
    F: FnMut(&T) -> K,
    K: Ord
    

    https://rust-unofficial.github.io/patterns/idioms/temporary-mutability.html