1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
use clojure::rust::*;
// use clojure::lang::*;
/// `IObject` `Protocol` for all defined `Object`s
use intertrait::*;

/// IObject
use crate::*;
pub trait IObject: CastFromSync {
    /// Return `Class` of `Object`
    fn getClass<'a>(&self) -> &'a SClass;

    fn hashCode(&self) -> usize;

    fn toString(&self) -> String;

    fn equals(
        &self,
        other: &Object,
    ) -> bool;
}