TimelyDataflow / timely-dataflow

A modular implementation of timely dataflow in Rust
MIT License
3.25k stars 273 forks source link

Cannot run basic example on fresh clone of repo #528

Closed tgeorg-ethz closed 1 year ago

tgeorg-ethz commented 1 year ago

Trying to run a fresh clone of the repo using cargo run --example simple from newest commit (b990faba8ea59ec2a7450809215145f3e940234a) at time of writing, I get:

error[E0599]: no method named `heap_size` found for associated type `<T as columnation::Columnation>::InnerRegion` in the current scope
   --> container/src/columnation.rs:114:20
    |
114 |         self.inner.heap_size(callback);
    |                    ^^^^^^^^^ method not found in `<T as Columnation>::InnerRegion`

For more information about this error, try `rustc --explain E0599`.
error: could not compile `timely_container` (lib) due to previous error

Reverting to a commit before the line was introduced, i.e. 134842aa6e1cce36a1d68bec3d79c1c3781cd11e, the example runs fine:

     Running `target/debug/examples/simple`
seen: 0
seen: 1
seen: 2
seen: 3
seen: 4
seen: 5
seen: 6
seen: 7
seen: 8
seen: 9

My Rust toolchain version is 1.70

$  cargo --version
cargo 1.70.0 (ec8a8a0ca 2023-04-25)
antiguru commented 1 year ago

It seems to work for me; did you try to run cargo update?

tgeorg-ethz commented 1 year ago

Yup, running cargo update first resolves this.

Was about to ask whether there's areason Cargo.lock is not committed but instead gitignored but it turns out that this is actually recommended by the Rust book [1, 2]. TIL