Skip to content

Latest rhai crate 1.23.6 won't build #1052

@theo-abel

Description

@theo-abel

Hi, trying to build rhai v1.23.6 fails with the following message :

$ cargo build
   Compiling rhai v1.23.6
error[E0369]: binary operation `==` cannot be applied to type `thin_vec::ThinVec<Stmt>`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/ast/ast.rs:25:5
    |
 20 | #[derive(Clone, PartialEq)]
    |                 --------- in this derive macro expansion
...
 25 |     body: ThinVec<Stmt>,
    |     ^^^^^^^^^^^^^^^^^^^
    |
note: an implementation of `PartialEq` might be missing for `Stmt`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/ast/stmt.rs:586:1
    |
586 | pub enum Stmt {
    | ^^^^^^^^^^^^^ must implement `PartialEq`
help: consider annotating `Stmt` with `#[derive(PartialEq)]`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/ast/stmt.rs:586:1
    |
586 + #[derive(PartialEq)]
587 | pub enum Stmt {
    |

error[E0369]: binary operation `==` cannot be applied to type `Rc<module::Module>`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/ast/ast.rs:28:5
    |
 20 | #[derive(Clone, PartialEq)]
    |                 --------- in this derive macro expansion
...
 28 |     lib: crate::SharedModule,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: an implementation of `PartialEq` might be missing for `module::Module`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/module/mod.rs:624:1
    |
624 | pub struct Module {
    | ^^^^^^^^^^^^^^^^^ must implement `PartialEq`
help: consider annotating `module::Module` with `#[derive(PartialEq)]`
   --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/module/mod.rs:624:1
    |
624 + #[derive(PartialEq)]
625 | pub struct Module {
    |

error[E0369]: binary operation `==` cannot be applied to type `Option<Rc<StaticModuleResolver>>`
  --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/ast/ast.rs:31:5
   |
20 | #[derive(Clone, PartialEq)]
   |                 --------- in this derive macro expansion
...
31 |     pub(crate) resolver: Option<crate::Shared<crate::module::resolvers::StaticModuleResolver>>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: an implementation of `PartialEq` might be missing for `StaticModuleResolver`
  --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/module/resolvers/stat.rs:31:1
   |
31 | pub struct StaticModuleResolver(BTreeMap<Identifier, SharedModule>);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
help: consider annotating `StaticModuleResolver` with `#[derive(PartialEq)]`
  --> /home/abel/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rhai-1.23.6/src/module/resolvers/stat.rs:31:1
   |
31 + #[derive(PartialEq)]
32 | pub struct StaticModuleResolver(BTreeMap<Identifier, SharedModule>);
   |

For more information about this error, try `rustc --explain E0369`.
error: could not compile `rhai` (lib) due to 3 previous errors

Reproducing

cargo.toml file :

[package]
name = "blabla"
version = "0.1.0"
edition = "2024"

[dependencies]
rhai = "1.23.6"

Rust
Toolchain : nightly-x86_64-unknown-linux-gnu
Compiler : rustc 1.93.0-nightly (adaa83897 2025-10-27)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions