Skip to content

Build Errors when interfacing with the evmap crate #181

@pratikfegade

Description

@pratikfegade

Hi,

I'm trying to build Noria on the following system:

OS and distribution: Lubuntu 20.10, Linux kernel 5.8.0-25-generic
Rust: rustc 1.53.0-nightly (c051c5ddd 2021-04-06)
Noria commit: cd639f5. This is the master's HEAD at the time of writing this issue.

I get the following compile errors. It seems all have to do with interfacing with the evmap crate

   Compiling noria-dataflow v0.7.0 (/home/ppf/Documents/noria/noria/server/dataflow)
error[E0603]: struct `ReadHandle` is private
   --> server/dataflow/src/backlog/multir.rs:7:19
    |
7   |     Single(evmap::ReadHandle<DataType, Vec<DataType>, i64, RandomState>),
    |                   ^^^^^^^^^^ private struct
    |
note: the struct `ReadHandle` is defined here

error[E0603]: struct `ReadHandle` is private
   --> server/dataflow/src/backlog/multir.rs:8:19
    |
8   |     Double(evmap::ReadHandle<(DataType, DataType), Vec<DataType>, i64, RandomState>),
    |                   ^^^^^^^^^^ private struct
    |
note: the struct `ReadHandle` is defined here

error[E0603]: struct `ReadHandle` is private
   --> server/dataflow/src/backlog/multir.rs:9:17
    |
9   |     Many(evmap::ReadHandle<Vec<DataType>, Vec<DataType>, i64, RandomState>),
    |                 ^^^^^^^^^^ private struct
    |
note: the struct `ReadHandle` is defined here

error[E0603]: struct `WriteHandle` is private
   --> server/dataflow/src/backlog/multiw.rs:7:19
    |
7   |     Single(evmap::WriteHandle<DataType, Vec<DataType>, i64, RandomState>),
    |                   ^^^^^^^^^^^ private struct
    |
note: the struct `WriteHandle` is defined here

error[E0603]: struct `WriteHandle` is private
   --> server/dataflow/src/backlog/multiw.rs:8:19
    |
8   |     Double(evmap::WriteHandle<(DataType, DataType), Vec<DataType>, i64, RandomState>),
    |                   ^^^^^^^^^^^ private struct
    |
note: the struct `WriteHandle` is defined here

error[E0603]: struct `WriteHandle` is private
   --> server/dataflow/src/backlog/multiw.rs:9:17
    |
9   |     Many(evmap::WriteHandle<Vec<DataType>, Vec<DataType>, i64, RandomState>),
    |                 ^^^^^^^^^^^ private struct
    |
note: the struct `WriteHandle` is defined here

warning: unnecessary trailing semicolon
   --> server/dataflow/src/ops/topk.rs:224:10
    |
224 |         };
    |          ^ help: remove this semicolon
    |
    = note: `#[warn(redundant_semicolons)]` on by default

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:39
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                       ^ expected struct `ReadHandle`, found struct `evmap::handles::WriteHandle`
...
61 |         1 => make!(Single),
   |              ------------- in this macro invocation
   |
   = note: expected struct `ReadHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `evmap::handles::WriteHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:68
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                                                    ^ expected struct `evmap::handles::WriteHandle`, found struct `ReadHandle`
...
61 |         1 => make!(Single),
   |              ------------- in this macro invocation
   |
   = note: expected struct `evmap::handles::WriteHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `ReadHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:39
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                       ^ expected struct `ReadHandle`, found struct `evmap::handles::WriteHandle`
...
62 |         2 => make!(Double),
   |              ------------- in this macro invocation
   |
   = note: expected struct `ReadHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `evmap::handles::WriteHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:68
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                                                    ^ expected struct `evmap::handles::WriteHandle`, found struct `ReadHandle`
...
62 |         2 => make!(Double),
   |              ------------- in this macro invocation
   |
   = note: expected struct `evmap::handles::WriteHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `ReadHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:39
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                       ^ expected struct `ReadHandle`, found struct `evmap::handles::WriteHandle`
...
63 |         _ => make!(Many),
   |              ----------- in this macro invocation
   |
   = note: expected struct `ReadHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `evmap::handles::WriteHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> server/dataflow/src/backlog/mod.rs:55:68
   |
55 |             (multir::Handle::$variant(r), multiw::Handle::$variant(w))
   |                                                                    ^ expected struct `evmap::handles::WriteHandle`, found struct `ReadHandle`
...
63 |         _ => make!(Many),
   |              ----------- in this macro invocation
   |
   = note: expected struct `evmap::handles::WriteHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>`
              found struct `ReadHandle<_, _, {integer}, ahash::RandomState>`
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `read` found for reference `&ReadHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multir.rs:28:29
   |
28 |                 let map = h.read()?;
   |                             ^^^^ method not found in `&ReadHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `read` found for reference `&ReadHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multir.rs:57:33
   |
57 |                     let map = h.read()?;
   |                                 ^^^^ method not found in `&ReadHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `read` found for reference `&ReadHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multir.rs:64:29
   |
64 |                 let map = h.read()?;
   |                             ^^^^ method not found in `&ReadHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>`

warning: use of deprecated associated function `evmap::handles::WriteHandle::<K, V, M, S>::empty`: Renamed to remove_entry
  --> server/dataflow/src/backlog/multiw.rs:38:19
   |
38 |                 h.empty(key_to_single(k).into_owned());
   |                   ^^^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated associated function `evmap::handles::WriteHandle::<K, V, M, S>::empty`: Renamed to remove_entry
  --> server/dataflow/src/backlog/multiw.rs:41:19
   |
41 |                 h.empty(key_to_double(k).into_owned());
   |                   ^^^^^

warning: use of deprecated associated function `evmap::handles::WriteHandle::<K, V, M, S>::empty`: Renamed to remove_entry
  --> server/dataflow/src/backlog/multiw.rs:44:19
   |
44 |                 h.empty(k.into_owned());
   |                   ^^^^^

error[E0599]: no method named `refresh` found for mutable reference `&mut evmap::handles::WriteHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multiw.rs:67:19
   |
67 |                 h.refresh();
   |                   ^^^^^^^ method not found in `&mut evmap::handles::WriteHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `refresh` found for mutable reference `&mut evmap::handles::WriteHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multiw.rs:70:19
   |
70 |                 h.refresh();
   |                   ^^^^^^^ method not found in `&mut evmap::handles::WriteHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `refresh` found for mutable reference `&mut evmap::handles::WriteHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multiw.rs:73:19
   |
73 |                 h.refresh();
   |                   ^^^^^^^ method not found in `&mut evmap::handles::WriteHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `read` found for reference `&evmap::handles::WriteHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
  --> server/dataflow/src/backlog/multiw.rs:85:29
   |
85 |                 let map = h.read()?;
   |                             ^^^^ method not found in `&evmap::handles::WriteHandle<noria_common::DataType, Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `read` found for reference `&evmap::handles::WriteHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
   --> server/dataflow/src/backlog/multiw.rs:114:33
    |
114 |                     let map = h.read()?;
    |                                 ^^^^ method not found in `&evmap::handles::WriteHandle<(noria_common::DataType, noria_common::DataType), Vec<noria_common::DataType>, i64, ahash::RandomState>`

error[E0599]: no method named `read` found for reference `&evmap::handles::WriteHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>` in the current scope
   --> server/dataflow/src/backlog/multiw.rs:121:29
    |
121 |                 let map = h.read()?;
    |                             ^^^^ method not found in `&evmap::handles::WriteHandle<Vec<noria_common::DataType>, Vec<noria_common::DataType>, i64, ahash::RandomState>`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions