Skip to content

DD build is broken after recent timely changes. #262

@ryzhyk

Description

@ryzhyk

It seems that a recent change to timely broke DD. Running cargo build in a fresh clone of the repo:

cargo build
warning: unused manifest key: source
   Compiling proc-macro2 v1.0.9
   Compiling unicode-xid v0.2.0
   Compiling syn v1.0.16
   Compiling serde v1.0.104
   Compiling unicode-width v0.1.7
   Compiling timely_bytes v0.11.0 (https://github.com/TimelyDataflow/timely-dataflow#6471f4bc)
   Compiling timely_logging v0.11.1 (https://github.com/TimelyDataflow/timely-dataflow#6471f4bc)
   Compiling abomonation v0.7.3
   Compiling fnv v1.0.6
   Compiling timely_sort v0.1.6
   Compiling getopts v0.2.21
   Compiling quote v1.0.3
   Compiling synstructure v0.12.3
   Compiling abomonation_derive v0.5.0
   Compiling serde_derive v1.0.104
^[[B   Compiling timely_communication v0.11.1 (https://github.com/TimelyDataflow/timely-dataflow#6471f4bc)
   Compiling timely v0.11.1 (https://github.com/TimelyDataflow/timely-dataflow#6471f4bc)
   Compiling differential-dataflow v0.11.0 (/home/lryzhyk/tmp/differential-dataflow)
error[E0308]: mismatched types
   --> src/operators/arrange/arrangement.rs:620:62
    |
620 | ...                   let batch = batcher.seal(upper.elements());
    |                                                ^^^^^^^^^^^^^^^^
    |                                                |
    |                                                expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                help: consider borrowing here: `&upper.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:489:116
    |
489 | ...                   let (mut source_cursor, source_storage): (T1::Cursor, _) = source_trace.cursor_through(lower_limit.elements()).expect("failed to acquire source cursor");
    |                                                                                                              ^^^^^^^^^^^^^^^^^^^^^^
    |                                                                                                              |
    |                                                                                                              expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                                                                              help: consider borrowing here: `&lower_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:491:117
    |
491 | ...                   let (mut output_cursor, output_storage): (T2::Cursor, _) = output_reader.cursor_through(lower_limit.elements()).expect("failed to acquire output cursor");
    |                                                                                                               ^^^^^^^^^^^^^^^^^^^^^^
    |                                                                                                               |
    |                                                                                                               expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                                                                               help: consider borrowing here: `&lower_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:585:62
    |
585 | ...                   let batch = builder.done(output_lower.elements(), output_upper.elements(), &[G::Timestamp::minimum()]);
    |                                                ^^^^^^^^^^^^^^^^^^^^^^^
    |                                                |
    |                                                expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                help: consider borrowing here: `&output_lower.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:585:87
    |
585 | ...                   let batch = builder.done(output_lower.elements(), output_upper.elements(), &[G::Timestamp::minimum()]);
    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^
    |                                                                         |
    |                                                                         expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                                         help: consider borrowing here: `&output_upper.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:622:48
    |
622 | ...                   output_writer.seal(upper_limit.elements());
    |                                          ^^^^^^^^^^^^^^^^^^^^^^
    |                                          |
    |                                          expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                          help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:625:48
    |
625 | ...                   output_writer.seal(upper_limit.elements());
    |                                          ^^^^^^^^^^^^^^^^^^^^^^
    |                                          |
    |                                          expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                          help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:629:49
    |
629 |                         source_trace.advance_by(upper_limit.elements());
    |                                                 ^^^^^^^^^^^^^^^^^^^^^^
    |                                                 |
    |                                                 expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                 help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:630:50
    |
630 |                         output_reader.advance_by(upper_limit.elements());
    |                                                  ^^^^^^^^^^^^^^^^^^^^^^
    |                                                  |
    |                                                  expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                  help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:633:56
    |
633 |                         source_trace.distinguish_since(upper_limit.elements());
    |                                                        ^^^^^^^^^^^^^^^^^^^^^^
    |                                                        |
    |                                                        expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                        help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/reduce.rs:634:57
    |
634 |                         output_reader.distinguish_since(upper_limit.elements());
    |                                                         ^^^^^^^^^^^^^^^^^^^^^^
    |                                                         |
    |                                                         expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                         help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/join.rs:363:97
    |
363 | ...                   let (trace2_cursor, trace2_storage) = trace2.cursor_through(acknowledged2.elements()).unwrap();
    |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
    |                                                                                   |
    |                                                                                   expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                                                   help: consider borrowing here: `&acknowledged2.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/join.rs:399:97
    |
399 | ...                   let (trace1_cursor, trace1_storage) = trace1.cursor_through(acknowledged1.elements()).unwrap();
    |                                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
    |                                                                                   |
    |                                                                                   expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                                                   help: consider borrowing here: `&acknowledged1.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/join.rs:459:50
    |
459 |                         trace2.distinguish_since(acknowledged2.elements());
    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
    |                                                  |
    |                                                  expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                  help: consider borrowing here: `&acknowledged2.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/join.rs:473:50
    |
473 |                         trace1.distinguish_since(acknowledged1.elements());
    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
    |                                                  |
    |                                                  expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                                  help: consider borrowing here: `&acknowledged1.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/count.rs:127:30
    |
127 |             trace.advance_by(upper_limit.elements());
    |                              ^^^^^^^^^^^^^^^^^^^^^^
    |                              |
    |                              expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                              help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/count.rs:128:37
    |
128 |             trace.distinguish_since(upper_limit.elements());
    |                                     ^^^^^^^^^^^^^^^^^^^^^^
    |                                     |
    |                                     expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                     help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/threshold.rs:190:34
    |
190 |                 trace.advance_by(upper_limit.elements());
    |                                  ^^^^^^^^^^^^^^^^^^^^^^
    |                                  |
    |                                  expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                  help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0308]: mismatched types
   --> src/operators/threshold.rs:191:41
    |
191 |                 trace.distinguish_since(upper_limit.elements());
    |                                         ^^^^^^^^^^^^^^^^^^^^^^
    |                                         |
    |                                         expected reference, found struct `timely::progress::frontier::AntichainRef`
    |                                         help: consider borrowing here: `&upper_limit.elements()`
    |
    = note: expected reference `&[<G as timely::dataflow::ScopeParent>::Timestamp]`
                  found struct `timely::progress::frontier::AntichainRef<'_, <G as timely::dataflow::ScopeParent>::Timestamp>`

error[E0277]: can't compare `&[<Self as trace::TraceReader>::Time]` with `timely::progress::frontier::AntichainRef<'_, <Self as trace::TraceReader>::Time>`
   --> src/trace/mod.rs:147:50
    |
147 |             if batch.is_empty() && batch.lower() == upper.elements() {
    |                                                  ^^ no implementation for `&[<Self as trace::TraceReader>::Time] == timely::progress::frontier::AntichainRef<'_, <Self as trace::TraceReader>::Time>`
    |
    = help: the trait `std::cmp::PartialEq<timely::progress::frontier::AntichainRef<'_, <Self as trace::TraceReader>::Time>>` is not implemented for `&[<Self as trace::TraceReader>::Time]`

error[E0308]: mismatched types
   --> src/trace/implementations/merge_batcher.rs:107:9
    |
107 |         self.frontier.elements()
    |         ^^^^^^^^^^^^^^^^^^^^^^^^
    |         |
    |         expected `&[T]`, found struct `timely::progress::frontier::AntichainRef`
    |         help: consider borrowing here: `&self.frontier.elements()`
    |
    = note: expected reference `&[T]`
                  found struct `timely::progress::frontier::AntichainRef<'_, T>`

error[E0308]: mismatched types
   --> src/trace/implementations/ord.rs:230:27
    |
230 |             since = antichain_join(since.elements(), compaction_frontier);
    |                                    ^^^^^^^^^^^^^^^^
    |                                    |
    |                                    expected `&[T]`, found struct `timely::progress::frontier::AntichainRef`
    |                                    help: consider borrowing here: `&since.elements()`
    |
    = note: expected reference `&[T]`
                  found struct `timely::progress::frontier::AntichainRef<'_, T>`

error[E0308]: mismatched types
   --> src/trace/implementations/ord.rs:233:70
    |
233 |         let description = Description::new(batch1.lower(), batch2.upper(), since.elements());
    |                                                                            ^^^^^^^^^^^^^^^^
    |                                                                            |
    |                                                                            expected `&[T]`, found struct `timely::progress::frontier::AntichainRef`
    |                                                                            help: consider borrowing here: `&since.elements()`
    |
    = note: expected reference `&[T]`
                  found struct `timely::progress::frontier::AntichainRef<'_, T>`

error[E0308]: mismatched types
   --> src/trace/implementations/ord.rs:549:27
    |
549 |             since = antichain_join(since.elements(), compaction_frontier);
    |                                    ^^^^^^^^^^^^^^^^
    |                                    |
    |                                    expected `&[T]`, found struct `timely::progress::frontier::AntichainRef`
    |                                    help: consider borrowing here: `&since.elements()`
    |
    = note: expected reference `&[T]`
                  found struct `timely::progress::frontier::AntichainRef<'_, T>`

error[E0308]: mismatched types
   --> src/trace/implementations/ord.rs:552:70
    |
552 |         let description = Description::new(batch1.lower(), batch2.upper(), since.elements());
    |                                                                            ^^^^^^^^^^^^^^^^
    |                                                                            |
    |                                                                            expected `&[T]`, found struct `timely::progress::frontier::AntichainRef`
    |                                                                            help: consider borrowing here: `&since.elements()`
    |
    = note: expected reference `&[T]`
                  found struct `timely::progress::frontier::AntichainRef<'_, T>`

error: aborting due to 25 previous errors

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `differential-dataflow`.

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