Просмотр исходного кода

Merge pull request #460 from Tuetuopay/owned-per-cpu-hash-map

maps: add missing TryFrom<Map> for HashMap, PerCpuHashMap and LpmTrie
Alessandro Decina 2 лет назад
Родитель
Сommit
66d435fc7c
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      aya/src/maps/mod.rs

+ 11 - 0
aya/src/maps/mod.rs

@@ -412,8 +412,19 @@ macro_rules! impl_try_from_map_generic_key_and_value {
                             $ty::new(m)
                         },
                         _ => Err(MapError::InvalidMapType{ map_type: map.map_type()}),
+                    }
                 }
             }
+
+            impl<V: Pod, K: Pod> TryFrom<Map> for $ty<MapData, V, K> {
+                type Error = MapError;
+
+                fn try_from(map: Map) -> Result<$ty<MapData, V, K>, MapError> {
+                    match map {
+                        Map::$ty(m) => $ty::new(m),
+                        _ => Err(MapError::InvalidMapType { map_type: map.map_type() }),
+                    }
+                }
             }
        )+
    }