Skip to content

Update ordered-float requirement from 3 to 5 - #267

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ordered-float-5
Open

Update ordered-float requirement from 3 to 5#267
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ordered-float-5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Updates the requirements on ordered-float to permit the latest version.

Release notes

Sourced from ordered-float's releases.

v5.0.0

What's Changed

Full Changelog: reem/rust-ordered-float@v4.6.0...v5.0.0

Commits
  • 478e67d Version 5.0.0
  • 5c8edf3 Implement Hash for f32 and f64 only.
  • 428ab8c Merge pull request #167 from Ten0/less_implicit_panic_on_binary_operations
  • 86f0b79 Adapt tests
  • 8ff0bb1 Re-add NotNan x PossiblyNan operations (now returning PossiblyNan)
  • f9fd9a7 Remove evil impls
  • facb424 Increase rust-version to 1.63
  • 1740c93 Add libm-only tests to CI
  • 1b0686e Version 4.6.0
  • 5dc9e28 Update Cargo.lock
  • Additional commits viewable in compare view

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @dependabot[bot], you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@github-actions
github-actions Bot enabled auto-merge (squash) July 8, 2026 17:24
codescene-access[bot]

This comment was marked as outdated.

@leynos

leynos commented Jul 10, 2026

Copy link
Copy Markdown
Owner

@dependabot rebase

@dependabot
dependabot Bot force-pushed the dependabot/cargo/ordered-float-5 branch from 1c87388 to 9f1a6c0 Compare July 10, 2026 00:56
codescene-access[bot]

This comment was marked as outdated.

@leynos

leynos commented Jul 19, 2026

Copy link
Copy Markdown
Owner

@dependabot recreate

@dependabot
dependabot Bot force-pushed the dependabot/cargo/ordered-float-5 branch from 9f1a6c0 to f6f36c0 Compare July 19, 2026 21:28
codescene-access[bot]

This comment was marked as outdated.

@leynos

leynos commented Jul 19, 2026

Copy link
Copy Markdown
Owner

@coderabbitai Please investigate the cause of the following issue using codegraph exploration and research, identify a fix and provide an AI coding agent prompt for the fix:

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/components.rs:136:5
    |
136 |     SizeOf,
    |     ^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:108:5
    |
108 |     SizeOf,
    |     ^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 340 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:284:5
    |
284 |     SizeOf,
    |     ^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 340 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:112:5
    |
112 |     SizeOf,
    |     ^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:100:1
    |
100 | / crate::dbsp_copy_record! {
101 | |     /// Public data type for entity positions.
102 | |     pub struct Position {
103 | |         /// Entity associated with the position.
...   |
112 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:117:1
    |
117 | / crate::dbsp_copy_record! {
118 | |     /// Entity velocity vector.
119 | |     pub struct Velocity {
120 | |         /// Entity whose velocity is measured.
...   |
129 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/types.rs:168:5
    |
168 |     ::size_of::SizeOf,
    |     ^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `::size_of::SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:196:1
    |
196 | / crate::dbsp_copy_record! {
197 | |     /// Floor height at a grid cell, accounting for slopes.
198 | |     pub struct FloorHeightAt {
199 | |         /// Grid X coordinate of the evaluated floor.
...   |
206 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:208:1
    |
208 | / crate::dbsp_copy_record! {
209 | |     /// Target position for an entity.
210 | |     ///
211 | |     /// Units:
...   |
224 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:229:1
    |
229 | / crate::dbsp_record! {
230 | |     /// Fear level computed for an entity.
231 | |     ///
232 | |     /// This type intentionally omits `Copy`; clone it explicitly when duplication
...   |
254 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:256:1
    |
256 | / crate::dbsp_copy_record! {
257 | |     /// Decided unit movement vector for an entity.
258 | |     ///
259 | |     /// Units:
...   |
277 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:279:1
    |
279 | / crate::dbsp_copy_record! {
280 | |     /// Player spawn location for the DBSP circuit.
281 | |     ///
282 | |     /// Contains world-space coordinates of the spawn point derived from the
...   |
310 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
   ::: src/dbsp_circuit/types.rs:312:1
    |
312 | / crate::dbsp_copy_record! {
313 | |     /// NPC spawn point for the DBSP circuit.
314 | |     ///
315 | |     /// Contains world-space coordinates and spawn configuration. The circuit
...   |
350 | | }
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
    = help: see issue #48214
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
   --> src/lib.rs:4:1
    |
  4 + #![feature(trivial_bounds)]
    |

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:189:65
    |
189 |         let (positions, position_in) = circuit.add_input_zset::<Position>();
    |                                                --------------   ^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                                |
    |                                                required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Position` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:102:16
    |
100 | / crate::dbsp_copy_record! {
101 | |     /// Public data type for entity positions.
102 | |     pub struct Position {
    | |                ^^^^^^^^
103 | |         /// Entity associated with the position.
...   |
112 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Position` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:190:66
    |
190 |         let (velocities, velocity_in) = circuit.add_input_zset::<Velocity>();
    |                                                 --------------   ^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                                 |
    |                                                 required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Velocity` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:119:16
    |
117 | / crate::dbsp_copy_record! {
118 | |     /// Entity velocity vector.
119 | |     pub struct Velocity {
    | |                ^^^^^^^^
120 | |         /// Entity whose velocity is measured.
...   |
129 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Velocity` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:191:59
    |
191 |         let (forces, force_in) = circuit.add_input_zset::<Force>();
    |                                          --------------   ^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                          |
    |                                          required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Force` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:168:5
    |
168 |     ::size_of::SizeOf,
    |     ^----------------
    |     |
    |     unsatisfied trait bound introduced in this `derive` macro
...
171 | pub struct Force {
    |            ^^^^^
    = note: required for `dbsp_circuit::types::Force` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `::size_of::SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:192:57
    |
192 |         let (fears, fear_in) = circuit.add_input_zset::<FearLevel>();
    |                                        --------------   ^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                        |
    |                                        required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::FearLevel` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:248:16
    |
229 | / crate::dbsp_record! {
230 | |     /// Fear level computed for an entity.
231 | |     ///
232 | |     /// This type intentionally omits `Copy`; clone it explicitly when duplication
...   |
248 | |     pub struct FearLevel {
    | |                ^^^^^^^^^
...   |
254 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::FearLevel` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:193:61
    |
193 |         let (targets, target_in) = circuit.add_input_zset::<Target>();
    |                                            --------------   ^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                            |
    |                                            required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Target` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:216:16
    |
208 | / crate::dbsp_copy_record! {
209 | |     /// Target position for an entity.
210 | |     ///
211 | |     /// Units:
...   |
216 | |     pub struct Target {
    | |                ^^^^^^
...   |
224 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Target` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:197:65
    |
197 |         let (slopes, block_slope_in) = circuit.add_input_zset::<BlockSlope>();
    |                                                --------------   ^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                                |
    |                                                required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `components::BlockSlope` to implement `feldera_size_of::SizeOf`
   --> src/components.rs:136:5
    |
136 |     SizeOf,
    |     ^-----
    |     |
    |     unsatisfied trait bound introduced in this `derive` macro
...
139 | pub struct BlockSlope {
    |            ^^^^^^^^^^
    = note: required for `components::BlockSlope` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `SizeOf` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:198:74
    |
198 |         let (_player_spawns, player_spawn_in) = circuit.add_input_zset::<PlayerSpawnLocation>();
    |                                                         --------------   ^^^^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                                         |
    |                                                         required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::PlayerSpawnLocation` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:300:16
    |
279 | / crate::dbsp_copy_record! {
280 | |     /// Player spawn location for the DBSP circuit.
281 | |     ///
282 | |     /// Contains world-space coordinates of the spawn point derived from the
...   |
300 | |     pub struct PlayerSpawnLocation {
    | |                ^^^^^^^^^^^^^^^^^^^
...   |
310 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::PlayerSpawnLocation` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:199:72
    |
199 |         let (_spawn_points, spawn_point_in) = circuit.add_input_zset::<SpawnPointRecord>();
    |                                                       --------------   ^^^^^^^^^^^^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |                                                       |
    |                                                       required by a bound introduced by this call
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::SpawnPointRecord` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:336:16
    |
312 | / crate::dbsp_copy_record! {
313 | |     /// NPC spawn point for the DBSP circuit.
314 | |     ///
315 | |     /// Contains world-space coordinates and spawn configuration. The circuit
...   |
336 | |     pub struct SpawnPointRecord {
    | |                ^^^^^^^^^^^^^^^^
...   |
350 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::SpawnPointRecord` to implement `dbsp::DBData`
note: required by a bound in `dbsp::operator::input::<impl dbsp::ChildCircuit<()>>::add_input_zset`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/input.rs:242:12
    |
240 |     pub fn add_input_zset<K>(&self) -> (Stream<RootCircuit, OrdZSet<K>>, ZSetHandle<K>)
    |            -------------- required by a bound in this associated function
241 |     where
242 |         K: DBData,
    |            ^^^^^^ required by this bound in `dbsp::operator::input::<impl ChildCircuit<()>>::add_input_zset`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `filter` exists for struct `Stream<ChildCircuit<()>, TypedBatch<PositionFloor, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:213:37
    |
213 |         let unsupported = pos_floor.filter(|pf| !within_grace(pf));
    |                                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/dbsp_circuit/streams/kinematics/mod.rs:115:1
    |
115 | pub struct PositionFloor {
    | ------------------------ doesn't satisfy `_: DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/circuit/circuit_builder.rs:683:1
    |
683 | pub struct Stream<C, D> {
    | ----------------------- doesn't satisfy `_: Iterator`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the following trait bounds were not satisfied:
            `dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-17759257559584074614.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `filter` exists for struct `Stream<ChildCircuit<()>, TypedBatch<PositionFloor, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:214:34
    |
214 |         let standing = pos_floor.filter(within_grace);
    |                                  ^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/dbsp_circuit/streams/kinematics/mod.rs:115:1
    |
115 | pub struct PositionFloor {
    | ------------------------ doesn't satisfy `_: DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/circuit/circuit_builder.rs:683:1
    |
683 | pub struct Stream<C, D> {
    | ----------------------- doesn't satisfy `_: Iterator`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the following trait bounds were not satisfied:
            `dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-17759257559584074614.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for struct `Stream<ChildCircuit<()>, TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:218:50
    |
218 |           let unsupported_velocities = all_new_vel.map_index(|v| (v.entity, *v)).join(
    |                                                    ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-3585242086078515873.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `plus` exists for struct `Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/circuit.rs:236:44
    |
236 |         let base_pos = new_pos_unsupported.plus(&new_pos_standing);
    |                                            ^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/typed_batch.rs:195:1
    |
195 | pub struct TypedBatch<K, V, R, B> {
    | --------------------------------- doesn't satisfy `_: AddAssignByRef` or `_: AddByRef`
    |
    = note: the following trait bounds were not satisfied:
            `dbsp::typed_batch::TypedBatch<dbsp_circuit::types::Position, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>: dbsp::algebra::AddByRef`
            `dbsp::typed_batch::TypedBatch<dbsp_circuit::types::Position, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>: dbsp::algebra::AddAssignByRef`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-11929054169644860262.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `plus` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<FearLevel, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:23:14
    |
 23 |         self.plus(other)
    |              ^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/typed_batch.rs:195:1
    |
195 | pub struct TypedBatch<K, V, R, B> {
    | --------------------------------- doesn't satisfy `_: AddAssignByRef` or `_: AddByRef`
    |
    = note: the following trait bounds were not satisfied:
            `dbsp::typed_batch::TypedBatch<dbsp_circuit::types::FearLevel, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>: dbsp::algebra::AddByRef`
            `dbsp::typed_batch::TypedBatch<dbsp_circuit::types::FearLevel, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>: dbsp::algebra::AddAssignByRef`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-13408132737429681750.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:86:10
    |
 85 |       let missing = positions
    |  ___________________-
 86 | |         .map_index(|p| (p.entity, ()))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-9901898842957543380.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for struct `Stream<ChildCircuit<()>, TypedBatch<FearLevel, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:87:29
    |
 87 |           .antijoin(&explicit.map_index(|f| (f.entity, ())))
    |                               ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::FearLevel: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-2716117714352726133.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:231:10
    |
230 |       let pos_target = positions
    |  ______________________-
231 | |         .map_index(|p| (p.entity, *p))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-3603044086190752183.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Target, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:232:24
    |
232 |           .join(&targets.map_index(|t| (t.entity, *t)), |_entity, p, t| {
    |                          ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Target: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-14448622629765128926.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<FearLevel, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:244:10
    |
243 |       let raw = fear
    |  _______________-
244 | |         .map_index(|f| (f.entity, f.level))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::FearLevel: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-10721606173726081965.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<MovementDecision, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:255:10
    |
254 | /     movement
255 | |         .map_index(|decision| (decision.entity, *decision))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `_: DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-18385300277066720631.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:423:25
    |
423 |       let base_idx = base.map_index(|p| (p.entity, *p));
    |                           ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-13425830385187326235.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<MovementDecision, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/behaviour.rs:424:28
    |
424 |       let mv_base = movement.map_index(|m| (m.entity, (m.dx, m.dy)));
    |                              ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `_: DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-8689901152751895434.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<BlockSlope, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/floor/mod.rs:130:21
    |
130 |             &slopes.map_index(|bs| (bs.block_id, (bs.grad_x, bs.grad_y))),
    |                     ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/components.rs:139:1
    |
139 | pub struct BlockSlope {
    | --------------------- doesn't satisfy `components::BlockSlope: dbsp::DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-11389356861303796389.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<PositionFloor, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/health/fall.rs:17:38
    |
 17 |     let standing_entities = standing.map(|pf| pf.position.entity);
    |                                      ^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/dbsp_circuit/streams/kinematics/mod.rs:115:1
    |
115 | pub struct PositionFloor {
    | ------------------------ doesn't satisfy `_: DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/circuit/circuit_builder.rs:683:1
    |
683 | pub struct Stream<C, D> {
    | ----------------------- doesn't satisfy `_: Iterator`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the following trait bounds were not satisfied:
            `&dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut &dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            `dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-2585188153790838631.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<PositionFloor, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/health/fall.rs:18:40
    |
 18 |     let prev_unsupported = unsupported.map(|pf| pf.position.entity).delay();
    |                                        ^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/dbsp_circuit/streams/kinematics/mod.rs:115:1
    |
115 | pub struct PositionFloor {
    | ------------------------ doesn't satisfy `_: DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/circuit/circuit_builder.rs:683:1
    |
683 | pub struct Stream<C, D> {
    | ----------------------- doesn't satisfy `_: Iterator`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the following trait bounds were not satisfied:
            `&dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut &dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            `dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
            which is required by `&mut dbsp::Stream<dbsp::ChildCircuit<()>, dbsp::typed_batch::TypedBatch<dbsp_circuit::streams::kinematics::PositionFloor, (), i64, dbsp::typed_batch::DynFallbackWSet<(dyn dbsp::dynamic::Data + 'static), (dyn dbsp::dynamic::weight::WeightTyped<Type = i64> + 'static)>>>: std::iter::Iterator`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-17921810154595937197.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_circuit/streams/health/fall.rs:49:50
    |
 49 |     let prev_velocities = unsupported_velocities.delay();
    |                                                  ^^^^^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Velocity` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:119:16
    |
117 | / crate::dbsp_copy_record! {
118 | |     /// Entity velocity vector.
119 | |     pub struct Velocity {
    | |                ^^^^^^^^
120 | |         /// Entity whose velocity is measured.
...   |
129 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Velocity` to implement `dbsp::DBData`
    = note: required for `TypedBatch<Velocity, (), i64, DynFallbackWSet<dyn Data, ...>>` to implement `dbsp::circuit::checkpointer::Checkpoint`
note: required by a bound in `dbsp::operator::z1::<impl dbsp::Stream<C, D>>::delay`
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dbsp-0.98.0/src/operator/z1.rs:151:12
    |
149 |     pub fn delay(&self) -> Stream<C, D>
    |            ----- required by a bound in this associated function
150 |     where
151 |         D: Checkpoint + Eq + SizeOf + NumEntries + Clone + HasZero + 'static,
    |            ^^^^^^^^^^ required by this bound in `dbsp::operator::z1::<impl Stream<C, D>>::delay`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the derive macro `$crate::__macro_deps::size_of::SizeOf` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `map_index` exists for struct `Stream<ChildCircuit<()>, TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/health/fall.rs:53:30
    |
 53 |               &prev_velocities.map_index(|vel| (vel.entity, vel.vz)),
    |                                ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-3585242086078515873.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:33:10
    |
 32 | /     velocities
 33 | |         .map_index(|v| (v.entity, *v))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-7875478185131782145.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Force, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:35:21
    |
 35 |             &forces.map_index(|f| (f.entity, *f)),
    |                     ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: src/dbsp_circuit/types.rs:171:1
    |
171 | pub struct Force {
    | ---------------- doesn't satisfy `dbsp_circuit::types::Force: dbsp::DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-12833396655893577092.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:83:15
    |
 83 |       positions.map_index(|p| (p.entity, *p)).join(
    |                 ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-11880226337598216975.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:84:18
    |
 84 |           &new_vel.map_index(|v| (v.entity, *v)),
    |                    ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-7756686364465283916.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:133:10
    |
132 | /     positions
133 | |         .map_index(|p| ((floor_to_i32(p.x), floor_to_i32(p.y)), *p))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-17081981932647146811.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<FloorHeightAt, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:135:27
    |
135 |               &floor_height.map_index(|fh| ((fh.x, fh.y), fh.z)),
    |                             ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::FloorHeightAt: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4111927792851353663.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<PositionFloor, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:165:10
    |
115 |   pub struct PositionFloor {
    |   ------------------------ doesn't satisfy `_: DBData`
...
164 |       let moved = standing
    |  _________________-
165 | |         .map_index(|pf| (pf.position.entity, pf.position))
    | |         -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    | |_________|
    |
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-2285570922497014271.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:166:27
    |
166 |           .join(&velocities.map_index(|v| (v.entity, *v)), |_, pos, vel| {
    |                             ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-18200752140351440090.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `map_index` exists for reference `&Stream<ChildCircuit<()>, TypedBatch<FloorHeightAt, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_circuit/streams/kinematics/mod.rs:182:23
    |
182 |           &floor_height.map_index(|fh| ((fh.x, fh.y), fh.z)),
    |                         ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::FloorHeightAt: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-6228238163174422771.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `push` exists for reference `&dbsp::ZSetHandle<components::BlockSlope>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:54:38
    |
 54 |             circuit.block_slope_in().push(s.clone(), 1);
    |                                      ^^^^
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/components.rs:139:1
    |
139 | pub struct BlockSlope {
    | --------------------- doesn't satisfy `components::BlockSlope: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied

error[E0599]: the method `push` exists for reference `&dbsp::ZSetHandle<dbsp_circuit::types::Position>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:126:31
    |
126 |           circuit.position_in().push(
    |           ----------------------^^^^
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:30:13
    |
 30 | /             sync_component(
 31 | |                 state,
 32 | |                 query,
 33 | |                 |row| row.$row_field.map(|component: &$component_type| {
...   |
 40 | |                 |circuit: &DbspCircuit| circuit.$input_handle(),
 41 | |             );
    | |_____________^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
...
149 | / sync_component_wrapper!(
150 | |     /// Synchronises entity velocities with the DBSP circuit.
151 | |     sync_velocities,
152 | |     3,
...   |
155 | |     velocity_in
156 | | );
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Velocity` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:119:16
    |
117 | / crate::dbsp_copy_record! {
118 | |     /// Entity velocity vector.
119 | |     pub struct Velocity {
    | |                ^^^^^^^^
120 | |         /// Entity whose velocity is measured.
...   |
129 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Velocity` to implement `dbsp::DBData`
note: required by a bound in `dbsp_sync::input::sync::sync_component`
   --> src/dbsp_sync/input/sync.rs:216:16
    |
206 | fn sync_component<T, S, F, G, H>(
    |    -------------- required by a bound in this function
...
216 |     S: Clone + dbsp::DBData,
    |                ^^^^^^^^^^^^ required by this bound in `sync_component`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `sync_component_wrapper` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` is not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:30:13
    |
 30 | /             sync_component(
 31 | |                 state,
 32 | |                 query,
 33 | |                 |row| row.$row_field.map(|component: &$component_type| {
...   |
 40 | |                 |circuit: &DbspCircuit| circuit.$input_handle(),
 41 | |             );
    | |_____________^ the trait `feldera_size_of::SizeOf` is not implemented for `ordered_float::OrderedFloat<f64>`
...
158 | / sync_component_wrapper!(
159 | |     /// Synchronises entity targets with the DBSP circuit.
160 | |     sync_targets,
161 | |     4,
...   |
164 | |     target_in
165 | | );
    | |_- in this macro invocation
    |
    = help: the following other types implement trait `feldera_size_of::SizeOf`:
              &T
              &mut T
              ()
              (A, B)
              (A, B, C)
              (A, B, C, D)
              (A, B, C, D, E)
              (A, B, C, D, E, F)
            and 338 others
note: required for `dbsp_circuit::types::Target` to implement `feldera_size_of::SizeOf`
   --> src/dbsp_circuit/types.rs:216:16
    |
208 | / crate::dbsp_copy_record! {
209 | |     /// Target position for an entity.
210 | |     ///
211 | |     /// Units:
...   |
216 | |     pub struct Target {
    | |                ^^^^^^
...   |
224 | | }
    | |_- in this macro invocation
    |
   ::: src/macros.rs:122:13
    |
122 |               $crate::__macro_deps::size_of::SizeOf
    |               ^------------------------------------
    |               |
    |               unsatisfied trait bound introduced in this `derive` macro
    = note: required for `dbsp_circuit::types::Target` to implement `dbsp::DBData`
note: required by a bound in `dbsp_sync::input::sync::sync_component`
   --> src/dbsp_sync/input/sync.rs:216:16
    |
206 | fn sync_component<T, S, F, G, H>(
    |    -------------- required by a bound in this function
...
216 |     S: Clone + dbsp::DBData,
    |                ^^^^^^^^^^^^ required by this bound in `sync_component`
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-4546012155776949746.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `sync_component_wrapper` which comes from the expansion of the macro `crate::dbsp_copy_record` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `push` exists for reference `&dbsp::ZSetHandle<dbsp_circuit::types::Force>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:268:38
    |
268 |             state.circuit.force_in().push(
    |             -------------------------^^^^
    |
   ::: src/dbsp_circuit/types.rs:171:1
    |
171 | pub struct Force {
    | ---------------- doesn't satisfy `dbsp_circuit::types::Force: dbsp::DBData`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 | pub struct OrderedFloat<T>(pub T);
    | -------------------------- doesn't satisfy `_: SizeOf`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied

error[E0599]: the method `push` exists for reference `&dbsp::ZSetHandle<dbsp_circuit::types::PlayerSpawnLocation>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:334:35
    |
334 |           circuit.player_spawn_in().push(
    |           --------------------------^^^^
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `_: DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied

error[E0599]: the method `push` exists for reference `&dbsp::ZSetHandle<dbsp_circuit::types::SpawnPointRecord>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/input/sync.rs:356:34
    |
356 |           circuit.spawn_point_in().push(
    |           -------------------------^^^^
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `_: DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied

error[E0599]: the method `consolidate` exists for reference `&OutputHandle<TypedBatch<Position, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/output.rs:62:54
    |
 62 |       let positions = state.circuit.new_position_out().consolidate();
    |                                                        ^^^^^^^^^^^ method cannot be called on `&OutputHandle<TypedBatch<Position, (), i64, ...>>` due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Position: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-12500915099108219697.txt'
    = note: consider using `--verbose` to print the full type name to the console

error[E0599]: the method `consolidate` exists for reference `&OutputHandle<TypedBatch<Velocity, (), i64, ...>>`, but its trait bounds were not satisfied
Error:    --> src/dbsp_sync/output.rs:86:55
    |
 86 |       let velocities = state.circuit.new_velocity_out().consolidate();
    |                                                         ^^^^^^^^^^^ method cannot be called on `&OutputHandle<TypedBatch<Velocity, (), i64, ...>>` due to unsatisfied trait bounds
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ordered-float-5.3.0/src/lib.rs:92:1
    |
 92 |   pub struct OrderedFloat<T>(pub T);
    |   -------------------------- doesn't satisfy `_: SizeOf`
    |
   ::: src/macros.rs:126:9
    |
126 | /         $vis struct $name
127 | |             $(< $($gen)* >)?
128 | |             $(where $($where)* )?
129 | |         { $($fields)* }
    | |_______________________- doesn't satisfy `dbsp_circuit::types::Velocity: dbsp::DBData`
    |
    = note: trait bound `ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf` was not satisfied
    = note: the full name for the type has been written to '/home/runner/work/lille/lille/target/debug/deps/lille-58f072d972b71ef5.long-type-10278024085458900083.txt'
    = note: consider using `--verbose` to print the full type name to the console

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '== manifests and lockfile references =='
fd -t f '^(Cargo\.toml|Cargo\.lock)$' . -x sh -c '
  printf "\n-- %s --\n" "$1"
  rg -n -C2 "ordered-float|feldera-size-of|size-of|dbsp" "$1" || true
' sh {} \;

printf '%s\n' '== relevant source outlines =='
for f in src/components.rs src/macros.rs src/dbsp_circuit/types.rs src/dbsp_circuit/streams/behaviour.rs src/dbsp_circuit/streams/kinematics/mod.rs; do
  if [ -f "$f" ]; then
    printf "\n-- %s --\n" "$f"
    ast-grep outline "$f" --items all || true
  fi
done

printf '%s\n' '== SizeOf and OrderedFloat uses/implementations =='
rg -n -C3 --glob '*.rs' \
  '(SizeOf|OrderedFloat|ordered_float|__macro_deps|size_of::)' src || true

printf '%s\n' '== locally cached dependency sources, if available =='
registry_root="${CARGO_HOME:-$HOME/.cargo}/registry/src"
if [ -d "$registry_root" ]; then
  fd -t d -d 2 '^(ordered-float|feldera-size-of|size-of)-' "$registry_root" | while IFS= read -r d; do
    printf "\n-- %s --\n" "$d"
    rg -n -C2 'trait SizeOf|impl.*SizeOf|OrderedFloat|feature' "$d" -g '*.rs' -g 'Cargo.toml' || true
  done
fi

Length of output: 51914


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '== resolved dependency package stanzas =='
if [ -f Cargo.lock ]; then
  awk '
    /^\[\[package\]\]/ { block=$0 "\n"; next }
    /^\[\[/ { block=""; next }
    { block=block $0 "\n" }
    /name = "(ordered-float|feldera-size-of|dbsp)"/ { print block; print "---" }
  ' Cargo.lock
fi

printf '%s\n' '== root library dependency facade and record macro =='
sed -n '1,55p' src/lib.rs
sed -n '85,145p' src/macros.rs
sed -n '90,190p' src/dbsp_circuit/types.rs
sed -n '90,155p' src/components.rs

printf '%s\n' '== dependency graph evidence in Cargo metadata (without building) =='
cargo metadata --no-deps --format-version 1 2>/dev/null | \
  jq -r '.packages[] | select(.name == "lille") | .dependencies[] |
    select(.name == "ordered-float" or .name == "feldera-size-of" or .name == "dbsp") |
    "\(.name) package=\(.package // .name) req=\(.req) features=\(.features|join(","))"' || true

printf '%s\n' '== public crates.io package metadata =='
for crate in feldera-size-of ordered-float; do
  echo "-- $crate --"
  curl --fail --silent --show-error "https://crates.io/api/v1/crates/${crate}" |
    jq -r '.crate | "newest=\(.newest_version) max_stable=\(.max_stable_version) repository=\(.repository // "")"'
done

printf '%s\n' '== download and inspect feldera-size-of release source =='
version="$(grep -A6 -E '^name = "feldera-size-of"$' Cargo.lock 2>/dev/null | awk -F'"' '/^version = / { print $2; exit }')"
if [ -n "${version:-}" ]; then
  tmp="$(mktemp -d)"
  trap 'rm -rf "$tmp"' EXIT
  curl --fail --silent --show-error -L \
    "https://crates.io/api/v1/crates/feldera-size-of/${version}/download" \
    -o "$tmp/crate.tar.gz"
  tar -xzf "$tmp/crate.tar.gz" -C "$tmp"
  fd -t f . "$tmp" -x sh -c '
    case "$1" in
      */Cargo.toml|*.rs)
        rg -n -C3 "ordered-float|ordered_float|OrderedFloat|trait SizeOf|impl.*SizeOf" "$1" || true ;;
    esac
  ' sh {} \;
else
  echo "feldera-size-of was not found in Cargo.lock"
fi

Length of output: 10938


🤖 web_search executed:

feldera-size-of ordered-float OrderedFloat SizeOf GitHub

Length of output: 4909


🤖 web_search executed:

site:github.com/feldera "feldera-size-of" "ordered-float"

Length of output: 7452


🤖 web_search executed:

site:docs.rs/feldera-size-of ordered-float feature OrderedFloat

Length of output: 790


@leynos

Root cause

Keep ordered-float at v5 only after updating its feldera-size-of integration.

feldera-size-of’s enabled ordered-float feature currently declares ordered-float = ^3.0.0. The application directly resolves ordered-float = ^5 (the errors identify v5.3.0). Cargo therefore compiles two incompatible OrderedFloat types:

  • feldera_size_of::SizeOf is implemented for ordered_float v3.
  • Lille’s DBSP records contain ordered_float v5.

OrderedFloat<f64> v5 consequently lacks SizeOf. Every subsequent DBData, add_input_zset, stream operation, handle operation, and output error cascades from that first missing implementation.

Do not add #![feature(trivial_bounds)]: it requires nightly and only affects diagnostic handling; it does not implement SizeOf.

Do not implement SizeOf for ordered_float::OrderedFloat<_> in Lille: Rust’s orphan rules prohibit implementing an external trait for an external type.

Fix

Patch or update feldera-size-of so its optional ordered-float dependency supports v5, then retain the existing feature:

size-of = {
    version = "0.1",
    package = "feldera-size-of",
    features = ["ordered-float"],
}

The patch must change the integration crate’s optional dependency constraint from ordered-float = "^3.0.0" to a constraint accepting v5 (prefer ^5; use a deliberately tested multi-major range only if upstream supports it), while preserving its existing SizeOf implementation for OrderedFloat<T>.

Use one of these routes:

  1. Preferred: contribute or obtain an upstream feldera-size-of release that supports ordered-float v5, then bump the dependency to that release.
  2. Until upstream releases it: fork feldera/size-of, make the dependency-range update and compatibility tests, then use a pinned [patch.crates-io] Git revision.
  3. Fallback only: revert this PR’s ordered-float requirement to v3. This restores compilation but abandons the v5 upgrade objective.

Affected code graph

  • src/components.rs: BlockSlope derives SizeOf over OrderedFloat<f64>.
  • src/dbsp_circuit/types.rs: Position, Velocity, Force, FloorHeightAt, Target, FearLevel, MovementDecision, PlayerSpawnLocation, and SpawnPointRecord contain OrderedFloat<f64>.
  • src/dbsp_circuit/streams/behaviour.rs and src/dbsp_circuit/streams/kinematics/mod.rs: intermediary DBSP record types also derive SizeOf.
  • src/macros.rs: dbsp_record! applies SizeOf centrally.
  • DBSP requires these types to satisfy DBData, which includes SizeOf; that explains all later filter, map_index, push, delay, and consolidate failures.

AI coding-agent prompt

Fix the ordered-float v5 / feldera-size-of compatibility break in this repository.

Context:
- The workspace uses `ordered-float = { version = "5", features = ["serde", "rkyv_64"] }`.
- `Cargo.toml` enables `feldera-size-of` (renamed locally as `size-of`) with feature `ordered-float`.
- `feldera-size-of` 0.1.x declares its optional ordered-float dependency as `^3.0.0`, so its `SizeOf` implementation applies to ordered-float v3, not the application’s ordered-float v5.
- This produces `E0277: ordered_float::OrderedFloat<f64>: feldera_size_of::SizeOf is not satisfied` across DBSP record derives.
- Do not add nightly features such as `trivial_bounds`.
- Do not attempt an impl of `SizeOf` for `OrderedFloat` in this crate: that violates Rust orphan rules.

Implement the stable-compatible fix:
1. Identify an upstream release or commit of `feldera-size-of` that supports ordered-float v5.
2. If none exists, create/use a minimal pinned fork patch of `feldera/size-of`:
   - Update its optional `ordered-float` dependency constraint to accept v5.
   - Preserve the existing `SizeOf` implementation for `ordered_float::OrderedFloat<T>`.
   - Add or update a test in the fork demonstrating `OrderedFloat<f64>: SizeOf`.
3. Wire Lille to the compatible upstream release or pinned `[patch.crates-io]` fork revision.
4. Keep Lille’s direct `ordered-float` requirement at v5 and retain the `feldera-size-of` `ordered-float` feature.
5. Regenerate `Cargo.lock`.
6. Run formatting and the repository’s standard test/check commands.
7. Add a focused compile-time or runtime regression test in Lille proving an `OrderedFloat<f64>`-containing DBSP record, such as `Position` or `BlockSlope`, satisfies the trait requirements needed by DBSP.
8. Document the temporary fork/patch with a short comment explaining that it exists until feldera-size-of publishes ordered-float v5 support. Remove the comment if an upstream release is used.

Report:
- the selected upstream release or exact fork revision,
- the changed manifest/lockfile entries,
- commands run and their results,
- and whether any ordered-float v5 behavioural changes required source changes.

Updates the requirements on [ordered-float](https://github.com/reem/rust-ordered-float) to permit the latest version.
- [Release notes](https://github.com/reem/rust-ordered-float/releases)
- [Commits](reem/rust-ordered-float@v3.0.0...v5.0.0)

---
updated-dependencies:
- dependency-name: ordered-float
  dependency-version: 5.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/cargo/ordered-float-5 branch from f6f36c0 to 11329c4 Compare July 19, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant