Compilation Error in ncollide3d v0.17.3

I can’t use ncollide3d v0.17.3 due to the following error in cargo:

My Cargo.toml dependencies are empty except for kiss3d = "0.17" and I’m using rustc and cargo 1.34.0-nightly.

Do you have a suggestion how to fix this?

Compiling ncollide3d v0.17.3
error[E0034]: multiple applicable items in scope
   --> /home/philipp/.cargo/registry/src/github.com-1ecc6299db9ec823/ncollide3d-0.17.3/src/shape/shape.rs:103:14
    |
103 |         self.type_id() == TypeId::of::<T>()
    |              ^^^^^^^ multiple `type_id` found
    |
note: candidate #1 is defined in the trait `shape::shape::GetTypeId`
   --> /home/philipp/.cargo/registry/src/github.com-1ecc6299db9ec823/ncollide3d-0.17.3/src/shape/shape.rs:158:5
    |
158 |     fn type_id(&self) -> TypeId;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: to disambiguate the method call, write `shape::shape::GetTypeId::type_id(&self)` instead
note: candidate #2 is defined in the trait `std::any::Any`
    = help: to disambiguate the method call, write `std::any::Any::type_id(&self)` instead

error: aborting due to previous error

For more information about this error, try `rustc --explain E0034`.
error: Could not compile `ncollide3d`.

To learn more, run the command again with --verbose.

Hi !

This is related to that issue.
This error happens only with the nightly compiler and has been fixed on more recent versions of ncollide. Thus you need to either switch to the stable compiler, or update your kiss3d dependency to the version 0.18.

1 Like