1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! # `Prototype` defines the methods of `Protocol`s

// use intertrait::cast::*;

use std::fmt::*;

use clojure::rust::*;
// use clojure::lang::*;
use intertrait::*;

use crate::*;
castable_to!(SPrototype => [sync] IObject, Prototype);

#[derive(Debug)]
pub struct SPrototype {
    multi_arity: Option<usize>,
}

pub trait Prototype: CastFromSync {}

impl Prototype {}

impl Prototype for SPrototype {}

impl IObject for SPrototype {
    fn getClass<'a>(&self) -> &'a SClass { todo!() }

    fn hashCode(&self) -> usize { todo!() }

    fn equals(
        &self,
        other: &Object,
    ) -> bool {
        todo!()
    }

    fn toString(&self) -> String { todo!() }
}