Tokio/BigQuery: using two crates with same version of arrow

Would really appreciate help with this. Same crate is used but rust cannot cope with this crate being used from two different places:

Cargo.toml

[dependencies]
bigquery-storage = { version = "0.1.2"}#this uses arrow v 3
arrow = "3" #here I'm declaring that I also want to use that crate

error[E0308]: mismatched types
--> src/main.rs:155:37
|
155 | tx.send(batch).unwrap();
| ----- ^^^^^^^^^^^^^ expected arrow::record_batch::RecordBatch, found a different arrow::record_batch::RecordBatch
| |
| arguments to this function are incorrect
|
= note: arrow::record_batch::RecordBatch and arrow::record_batch::RecordBatch have similar names, but are actually distinct types
note: arrow::record_batch::RecordBatch is defined in crate arrow
--> /home/user/.cargo/registry/src/arrow-3.0.0/src/record_batch.rs:40:1
|
40 | pub struct RecordBatch {
| ^^^^^^^^^^^^^^^^^^^^^^
note: arrow::record_batch::RecordBatch is defined in crate arrow
--> /home/user/.cargo/registry/src/arrow-3.0.0/src/record_batch.rs:40:1
|
40 | pub struct RecordBatch {
| ^^^^^^^^^^^^^^^^^^^^^^
= note: perhaps two different versions of crate arrow are being used?

Could you show the (relevant) output when you run cargo tree in your project?

my_proj v0.1.0 (/home/user/my_projects/my_proj)
├── arrow v3.0.0
....
....
├── bigquery-storage v0.1.2
│ ├── arrow v3.0.0

The compiler is saying they are different crates, and yet the paths are identical:

note: arrow::record_batch::RecordBatch is defined in crate arrow
--> /home/user/.cargo/registry/src/arrow-3.0.0/src/record_batch.rs:40:1
   |
40 | pub struct RecordBatch {
   | ^^^^^^^^^^^^^^^^^^^^^^
note: arrow::record_batch::RecordBatch is defined in crate arrow
--> /home/user/.cargo/registry/src/arrow-3.0.0/src/record_batch.rs:40:1
   |
40 | pub struct RecordBatch {
   | ^^^^^^^^^^^^^^^^^^^^^^

Which indicates that either there is some kind of data corruption or, more likely, the same source code is being compiled twice in different context, somehow. But mistakes of that sort are not common in published libraries. Strange.

Yeah... I really don't know what to do about it...

Just to be sure, have you tried running cargo clean?

yep

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.