michaelsproul / rust_radix_trie

Fast generic radix trie implemented in Rust
https://docs.rs/radix_trie/
MIT License
184 stars 32 forks source link

nibble_vec 0.0.5 has problem #60

Closed Sherlock-Holo closed 4 years ago

Sherlock-Holo commented 4 years ago

the crate trust-dns-client depends on radix_trie and it uses nibble_vec, when using nibble_vec 0.0.4, there is no problem.

after updating nibble_vec to 0.0.5 and run cargo check, it reports

    Checking nibble_vec v0.0.5
   Compiling learn v0.1.0 (/home/sherlock/Documents/program/rust/learn)
    Checking radix_trie v0.1.6
error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/iter.rs:87:13
   |
87 |     prefix: NibbleVec,
   |             ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:354:46
    |
354 |     ExtendKey(&'a TrieNode<K, V>, usize, &'a NibbleVec),
    |                                              ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_node.rs:10:14
   |
10 |     pub key: NibbleVec,
   |              ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/lib.rs:60:13
   |
60 |     prefix: NibbleVec,
   |             ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/lib.rs:67:13
   |
67 |     prefix: NibbleVec,
   |             ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/iter.rs:92:21
   |
92 |     pub fn new(key: NibbleVec, node: &'a TrieNode<K, V>) -> Self {
   |                     ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/keys.rs:49:45
   |
49 | pub fn match_keys(start_idx: usize, first: &NibbleVec, second: &NibbleVec) -> KeyMatch {
   |                                             ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/keys.rs:49:65
   |
49 | pub fn match_keys(start_idx: usize, first: &NibbleVec, second: &NibbleVec) -> KeyMatch {
   |                                                                 ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/keys.rs:28:25
   |
28 |     fn encode(&self) -> NibbleVec {
   |                         ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/subtrie.rs:24:14
   |
24 |     prefix: &NibbleVec,
   |              ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/subtrie.rs:110:56
    |
110 | fn stripped(mut key: NibbleVec, prefix: &NibbleVec) -> NibbleVec {
    |                                                        ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/subtrie.rs:110:22
    |
110 | fn stripped(mut key: NibbleVec, prefix: &NibbleVec) -> NibbleVec {
    |                      ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/subtrie.rs:110:42
    |
110 | fn stripped(mut key: NibbleVec, prefix: &NibbleVec) -> NibbleVec {
    |                                          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:92:13
   |
92 |     mut nv: NibbleVec,
   |             ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:215:10
    |
215 |     nv: &NibbleVec,
    |          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:269:10
    |
269 |     nv: &NibbleVec,
    |          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:312:10
    |
312 |     nv: &NibbleVec,
    |          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:359:10
    |
359 |     nv: &NibbleVec,
    |          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:53:51
   |
53 |         fn $name<'a, K, V>(trie: $trie_type, nv: &NibbleVec) -> Option<$trie_type> {
   |                                                   ^^^^^^^^^ expected 1 type argument
...
85 | get_func!(name: iterative_get, trie_type: &'a TrieNode<K, V>, mutability: );
   | ---------------------------------------------------------------------------- in this macro invocation
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:53:51
   |
53 |         fn $name<'a, K, V>(trie: $trie_type, nv: &NibbleVec) -> Option<$trie_type> {
   |                                                   ^^^^^^^^^ expected 1 type argument
...
86 | get_func!(name: iterative_get_mut, trie_type: &'a mut TrieNode<K, V>, mutability: mut);
   | --------------------------------------------------------------------------------------- in this macro invocation
   |
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:14:28
   |
14 |     pub fn get(&self, nv: &NibbleVec) -> Option<&TrieNode<K, V>> {
   |                            ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:18:36
   |
18 |     pub fn get_mut(&mut self, nv: &NibbleVec) -> Option<&mut TrieNode<K, V>> {
   |                                    ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:22:52
   |
22 |     pub fn insert(&mut self, key: K, value: V, nv: NibbleVec) -> Option<V> {
   |                                                    ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:34:37
   |
34 |     pub fn get_ancestor(&self, nv: &NibbleVec) -> Option<(&TrieNode<K, V>, usize)> {
   |                                     ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:38:41
   |
38 |     pub fn get_raw_ancestor(&self, nv: &NibbleVec) -> (&TrieNode<K, V>, usize) {
   |                                         ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/traversal.rs:42:50
   |
42 |     pub fn get_raw_descendant<'a>(&'a self, nv: &NibbleVec) -> Option<DescendantResult<'a, K, V>> {
   |                                                  ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_common.rs:53:28
   |
53 |     fn prefix(self) -> &'a NibbleVec {
   |                            ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
  --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_node.rs:53:42
   |
53 |     pub fn with_key_value(key_fragments: NibbleVec, key: K, value: V) -> TrieNode<K, V> {
   |                                          ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_node.rs:217:38
    |
217 |     pub fn as_subtrie(&self, prefix: NibbleVec) -> SubTrie<K, V> {
    |                                      ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_node.rs:226:17
    |
226 |         prefix: NibbleVec,
    |                 ^^^^^^^^^ expected 1 type argument

error[E0107]: wrong number of type arguments: expected 1, found 0
   --> /home/sherlock/.cargo/registry/src/github.com-1ecc6299db9ec823/radix_trie-0.1.6/src/trie_node.rs:239:54
    |
239 |     pub fn check_integrity_recursive(&self, prefix: &NibbleVec) -> (bool, usize) {
    |                                                      ^^^^^^^^^ expected 1 type argument

error: aborting due to 31 previous errors

For more information about this error, try `rustc --explain E0107`.
error: could not compile `radix_trie`.

To learn more, run the command again with --verbose.
DevinR528 commented 4 years ago

The PR above will fix this issue!

michaelsproul commented 4 years ago

Thanks for the report! Sorry I messed up the versioning on the 0.0.5 release of nibble_vec, I've now yanked it and re-released it as 0.1.0. I'm also working on merging #61 ASAP!