Jump to content
Tuts 4 You

Q: Anyone has, or has a link that contains pre-built CLANG.DLL and LIBCLANG.DLL?


Stuttered

Recommended Posts

Stuttered

I am tryjng to build a crate (new to me), and getting these errors:

Spoiler

Errors:

    |
80  |         let node = get_raw_operation(&self.function, next_idx);
    |                    ----------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |                    |
    |                    arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:221:4
    |
221 | fn get_raw_operation(function: &HighLevelILFunction, idx: usize) -> BNHighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:147:40
    |
147 |             .map(|idx| get_instruction(&self.0.function, idx as usize))
    |                        --------------- ^^^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |                        |
    |                        arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<function::Function>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:248:5
    |
246 | #[derive(Clone, Debug, PartialEq, Eq)]
    |                        --------- in this derive macro expansion
247 | pub struct GotoLabel {
248 |     function: Ref<Function>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0609]: no field `handle` on type `rc::Ref<function::Function>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:254:65
    |
254 |         let raw_str = unsafe { BNGetGotoLabelName(self.function.handle, self.target) };
    |                                                                 ^^^^^^ unknown field

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:271:5
    |
269 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
270 | pub struct LiftedBinaryOpCarry {
271 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:294:25
    |
294 |         get_instruction(&self.function, self.left)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:297:25
    |
297 |         get_instruction(&self.function, self.right)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:300:25
    |
300 |         get_instruction(&self.function, self.carry)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:304:37
    |
304 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:331:5
    |
329 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
330 | pub struct LiftedBinaryOp {
331 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:351:25
    |
351 |         get_instruction(&self.function, self.left)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:354:25
    |
354 |         get_instruction(&self.function, self.right)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:358:37
    |
358 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:383:5
    |
381 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
382 | pub struct LiftedArrayIndex {
383 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:403:25
    |
403 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:406:25
    |
406 |         get_instruction(&self.function, self.index)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:410:37
    |
410 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:436:5
    |
434 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
435 | pub struct LiftedArrayIndexSsa {
436 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:459:25
    |
459 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:465:25
    |
465 |         get_instruction(&self.function, self.index)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:469:37
    |
469 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:496:5
    |
494 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
495 | pub struct LiftedAssign {
496 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:516:25
    |
516 |         get_instruction(&self.function, self.dest)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:519:25
    |
519 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:523:37
    |
523 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:550:5
    |
548 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
549 | pub struct LiftedAssignMemSsa {
550 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:576:25
    |
576 |         get_instruction(&self.function, self.dest)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:582:25
    |
582 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:589:37
    |
589 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:618:5
    |
616 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
617 | pub struct LiftedAssignUnpack {
618 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:638:30
    |
638 |         get_instruction_list(&self.function, self.dest)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:641:25
    |
641 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:645:37
    |
645 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:672:5
    |
670 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
671 | pub struct LiftedAssignUnpackMemSsa {
672 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:698:30
    |
698 |         get_instruction_list(&self.function, self.dest)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:704:25
    |
704 |         get_instruction(&self.function, self.src)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:711:37
    |
711 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:739:5
    |
737 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
738 | pub struct LiftedBlock {
739 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:756:30
    |
756 |         get_instruction_list(&self.function, self.body)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:760:37
    |
760 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:783:5
    |
781 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
782 | pub struct LiftedCall {
783 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:803:25
    |
803 |         get_instruction(&self.function, self.dest)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:806:30
    |
806 |         get_instruction_list(&self.function, self.params)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:810:37
    |
810 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:837:5
    |
835 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
836 | pub struct LiftedCallSsa {
837 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:863:25
    |
863 |         get_instruction(&self.function, self.dest)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:866:30
    |
866 |         get_instruction_list(&self.function, self.params)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:876:37
    |
876 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:905:5
    |
903 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
904 | pub struct LiftedCase {
905 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:925:30
    |
925 |         get_instruction_list(&self.function, self.values)
    |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
    |
213 | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
    |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:928:25
    |
928 |         get_instruction(&self.function, self.body)
    |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&hlil::function::HighLevelILFunction`
               found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
    |
209 | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
    |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:932:37
    |
932 |             function: self.function.to_owned(),
    |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
    |
    = note: the following trait bounds were not satisfied:
            `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
            which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  + #[derive(Clone)]
47  | pub struct Ref<T: RefCountable> {
    |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:950:5
    |
948 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
949 | pub struct Const {
950 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:982:5
    |
980 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
981 | pub struct LiftedConstantData {
982 |     pub function: Ref<HighLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `get_function` found for struct `rc::Ref` in the current scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1005:41
     |
1005 |         ConstantData::new(self.function.get_function(), register_value)
     |                                         ^^^^^^^^^^^^ method not found in `Ref<HighLevelILFunction>`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `get_function` not found for this struct

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1009:37
     |
1009 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1031:5
     |
1029 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1030 | pub struct LiftedUnaryOp {
1031 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1044:25
     |
1044 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1048:37
     |
1048 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1073:5
     |
1071 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1072 | pub struct LiftedDerefFieldSsa {
1073 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1099:25
     |
1099 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1112:37
     |
1112 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1141:5
     |
1139 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1140 | pub struct LiftedDerefSsa {
1141 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1161:25
     |
1161 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1168:37
     |
1168 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1186:5
     |
1184 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1185 | pub struct ExternPtr {
1186 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1223:5
     |
1221 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1222 | pub struct FloatConst {
1223 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1263:5
     |
1261 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1262 | pub struct LiftedForLoop {
1263 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1289:25
     |
1289 |         get_instruction(&self.function, self.init)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1292:25
     |
1292 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1295:25
     |
1295 |         get_instruction(&self.function, self.update)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1298:25
     |
1298 |         get_instruction(&self.function, self.body)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1302:37
     |
1302 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1334:5
     |
1332 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1333 | pub struct LiftedForLoopSsa {
1334 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1363:25
     |
1363 |         get_instruction(&self.function, self.init)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1366:25
     |
1366 |         get_instruction(&self.function, self.condition_phi)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1369:25
     |
1369 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1372:25
     |
1372 |         get_instruction(&self.function, self.update)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1375:25
     |
1375 |         get_instruction(&self.function, self.body)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1379:37
     |
1379 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1403:5
     |
1401 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1402 | pub struct Label {
1403 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `get_function` found for struct `rc::Ref` in the current scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1417:37
     |
1417 |             function: self.function.get_function(),
     |                                     ^^^^^^^^^^^^ method not found in `Ref<HighLevelILFunction>`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `get_function` not found for this struct

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1440:5
     |
1438 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1439 | pub struct LiftedIf {
1440 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1463:25
     |
1463 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1466:25
     |
1466 |         get_instruction(&self.function, self.cond_true)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1469:25
     |
1469 |         get_instruction(&self.function, self.cond_false)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1473:37
     |
1473 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1500:5
     |
1498 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1499 | pub struct LiftedIntrinsic {
1500 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `get_function` found for struct `rc::Ref` in the current scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1520:40
     |
1520 |         ILIntrinsic::new(self.function.get_function().arch(), self.intrinsic)
     |                                        ^^^^^^^^^^^^ method not found in `Ref<HighLevelILFunction>`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `get_function` not found for this struct

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1523:30
     |
1523 |         get_instruction_list(&self.function, self.params)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1527:37
     |
1527 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1554:5
     |
1552 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1553 | pub struct LiftedIntrinsicSsa {
1554 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `get_function` found for struct `rc::Ref` in the current scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1580:40
     |
1580 |         ILIntrinsic::new(self.function.get_function().arch(), self.intrinsic)
     |                                        ^^^^^^^^^^^^ method not found in `Ref<HighLevelILFunction>`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `get_function` not found for this struct

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1583:30
     |
1583 |         get_instruction_list(&self.function, self.params)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1593:37
     |
1593 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1615:5
     |
1613 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1614 | pub struct Jump {
1615 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1628:25
     |
1628 |         get_instruction(&self.function, self.dest)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1648:5
     |
1646 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1647 | pub struct LiftedMemPhi {
1648 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1671:22
     |
1671 |         get_int_list(&self.function, self.src)
     |         ------------ ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:217:4
     |
217  | fn get_int_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandList {
     |    ^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1675:37
     |
1675 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1693:5
     |
1691 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1692 | pub struct NoArgs {
1693 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1715:5
     |
1713 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1714 | pub struct LiftedRet {
1715 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1732:30
     |
1732 |         get_instruction_list(&self.function, self.src)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1736:37
     |
1736 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1759:5
     |
1757 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1758 | pub struct LiftedSplit {
1759 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1779:25
     |
1779 |         get_instruction(&self.function, self.high)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1782:25
     |
1782 |         get_instruction(&self.function, self.low)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1786:37
     |
1786 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1812:5
     |
1810 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1811 | pub struct LiftedStructField {
1812 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1835:25
     |
1835 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1845:37
     |
1845 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1873:5
     |
1871 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1872 | pub struct LiftedSwitch {
1873 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1896:25
     |
1896 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1899:25
     |
1899 |         get_instruction(&self.function, self.default)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1902:30
     |
1902 |         get_instruction_list(&self.function, self.cases)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1906:37
     |
1906 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1932:5
     |
1930 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1931 | pub struct LiftedSyscall {
1932 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1949:30
     |
1949 |         get_instruction_list(&self.function, self.params)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1953:37
     |
1953 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:1977:5
     |
1975 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1976 | pub struct LiftedSyscallSsa {
1977 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2000:30
     |
2000 |         get_instruction_list(&self.function, self.params)
     |         -------------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:213:4
     |
213  | fn get_instruction_list(function: &HighLevelILFunction, list: (usize, usize)) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2010:37
     |
2010 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2030:5
     |
2028 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2029 | pub struct Trap {
2030 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2056:5
     |
2054 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2055 | pub struct Var {
2056 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2089:5
     |
2087 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2088 | pub struct LiftedVarInit {
2089 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2112:25
     |
2112 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2116:37
     |
2116 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2141:5
     |
2139 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2140 | pub struct LiftedVarInitSsa {
2141 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2164:25
     |
2164 |         get_instruction(&self.function, self.src)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2168:37
     |
2168 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2193:5
     |
2191 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2192 | pub struct LiftedVarPhi {
2193 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2216:26
     |
2216 |         get_var_ssa_list(&self.function, self.src)
     |         ---------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:239:4
     |
239  | fn get_var_ssa_list(
     |    ^^^^^^^^^^^^^^^^
240  |     function: &HighLevelILFunction,
     |     ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2220:37
     |
2220 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2238:5
     |
2236 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2237 | pub struct VarSsa {
2238 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2271:5
     |
2269 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2270 | pub struct LiftedWhile {
2271 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2291:25
     |
2291 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2294:25
     |
2294 |         get_instruction(&self.function, self.body)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2298:37
     |
2298 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<hlil::function::HighLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2324:5
     |
2322 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2323 | pub struct LiftedWhileSsa {
2324 |     pub function: Ref<HighLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2347:25
     |
2347 |         get_instruction(&self.function, self.condition_phi)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2350:25
     |
2350 |         get_instruction(&self.function, self.condition)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2353:25
     |
2353 |         get_instruction(&self.function, self.body)
     |         --------------- ^^^^^^^^^^^^^^ expected `&HighLevelILFunction`, found `&Ref<HighLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&hlil::function::HighLevelILFunction`
                found reference `&rc::Ref<hlil::function::HighLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:209:4
     |
209  | fn get_instruction(function: &HighLevelILFunction, idx: usize) -> HighLevelILInstruction {
     |    ^^^^^^^^^^^^^^^ ------------------------------

error[E0599]: the method `to_owned` exists for struct `Ref<HighLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\hlil\operation.rs:2357:37
     |
2357 |             function: self.function.to_owned(),
     |                                     ^^^^^^^^ method cannot be called on `Ref<HighLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
     |
     = note: the following trait bounds were not satisfied:
             `rc::Ref<hlil::function::HighLevelILFunction>: Clone`
             which is required by `rc::Ref<hlil::function::HighLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<hlil::function::HighLevelILFunction>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTextLineInput` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:30:9
   |
30 |         BNGetTextLineInput(
   |         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetIntegerInput` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:47:9
   |
47 |         BNGetIntegerInput(
   |         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetAddressInput` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:65:9
   |
65 |         BNGetAddressInput(
   |         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetOpenFileNameInput` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:85:9
   |
85 |         BNGetOpenFileNameInput(
   |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSaveFileNameInput` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:103:9
    |
103 |         BNGetSaveFileNameInput(
    |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetDirectoryNameInput` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:122:9
    |
122 |         BNGetDirectoryNameInput(
    |         ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNShowMessageBox` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:146:9
    |
146 |         BNShowMessageBox(
    |         ^^^^^^^^^^^^^^^^ not found in this scope

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:207:24
    |
207 |         result.type_ = BNFormInputFieldType::LabelFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:219:24
    |
219 |         result.type_ = BNFormInputFieldType::SeparatorFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:231:24
    |
231 |         result.type_ = BNFormInputFieldType::TextLineFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:252:24
    |
252 |         result.type_ = BNFormInputFieldType::MultilineTextFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:272:24
    |
272 |         result.type_ = BNFormInputFieldType::IntegerFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:295:24
    |
295 |         result.type_ = BNFormInputFieldType::AddressFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0609]: no field `handle` on type `rc::Ref<BinaryView>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:298:32
    |
298 |             result.view = view.handle;
    |                                ^^^^^^ unknown field

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:317:24
    |
317 |         result.type_ = BNFormInputFieldType::ChoiceFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:355:24
    |
355 |         result.type_ = BNFormInputFieldType::OpenFileNameFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:394:24
    |
394 |         result.type_ = BNFormInputFieldType::SaveFileNameFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:429:24
    |
429 |         result.type_ = BNFormInputFieldType::DirectoryNameFormField;
    |                        ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetFormInput` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:483:13
    |
483 |             BNGetFormInput(
    |             ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeFormInputResults` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:517:22
    |
517 |             unsafe { BNFreeFormInputResults(self.fields.as_mut_ptr(), self.fields.len()) };
    |                      ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRunProgressDialog` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:564:9
    |
564 |         BNRunProgressDialog(
    |         ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewLinearViewObjectReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:214:21
    |
214 |             handle: BNNewLinearViewObjectReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeLinearViewObject` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:219:9
    |
219 |         BNFreeLinearViewObject(handle.handle);
    |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateLinearViewCursor` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:248:26
    |
248 |             let handle = BNCreateLinearViewCursor(root.handle);
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetLinearViewCursorCurrentObject` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:256:26
    |
256 |             let handle = BNGetLinearViewCursorCurrentObject(self.handle);
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNDuplicateLinearViewCursor` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:264:26
    |
264 |             let handle = BNDuplicateLinearViewCursor(self.handle);
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsLinearViewCursorBeforeBegin` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:270:18
    |
270 |         unsafe { BNIsLinearViewCursorBeforeBegin(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsLinearViewCursorAfterEnd` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:274:18
    |
274 |         unsafe { BNIsLinearViewCursorAfterEnd(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSeekLinearViewCursorToBegin` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:282:18
    |
282 |         unsafe { BNSeekLinearViewCursorToBegin(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSeekLinearViewCursorToEnd` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:286:18
    |
286 |         unsafe { BNSeekLinearViewCursorToEnd(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSeekLinearViewCursorToAddress` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:290:18
    |
290 |         unsafe { BNSeekLinearViewCursorToAddress(self.handle, address) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetLinearViewCursorOrderingIndex` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:295:25
    |
295 |             let range = BNGetLinearViewCursorOrderingIndex(self.handle);
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetLinearViewCursorOrderingIndexTotal` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:301:18
    |
301 |         unsafe { BNGetLinearViewCursorOrderingIndexTotal(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSeekLinearViewCursorToAddress` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:305:18
    |
305 |         unsafe { BNSeekLinearViewCursorToAddress(self.handle, idx) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNLinearViewCursorPrevious` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:309:18
    |
309 |         unsafe { BNLinearViewCursorPrevious(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNLinearViewCursorNext` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:313:18
    |
313 |         unsafe { BNLinearViewCursorNext(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetLinearViewCursorLines` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:319:27
    |
319 |             let handles = BNGetLinearViewCursorLines(self.handle, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCompareLinearViewCursors` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:327:18
    |
327 |         unsafe { BNCompareLinearViewCursors(self.handle, other.handle) == 0 }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCompareLinearViewCursors` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:339:24
    |
339 |         match unsafe { BNCompareLinearViewCursors(self.handle, other.handle) } {
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewLinearViewCursorReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:350:21
    |
350 |             handle: BNNewLinearViewCursorReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeLinearViewCursor` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:355:9
    |
355 |         BNFreeLinearViewCursor(handle.handle);
    |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for struct `ManuallyDrop<Ref<Function>>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:394:23
    |
394 |         self.function.as_ref()
    |                       ^^^^^^ method cannot be called on `ManuallyDrop<Ref<Function>>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- doesn't satisfy `_: AsRef<Function>`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
    |
65  | impl<T: RefCountable> AsRef<T> for Ref<T> {
    |      ^                --------     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
            candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeLinearDisassemblyLines` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\linearview.rs:422:9
    |
422 |         BNFreeLinearDisassemblyLines(raw, count);
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `eq` exists for struct `Ref<Function>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\llil\function.rs:69:29
    |
69  |         self.get_function().eq(&rhs.get_function())
    |                             ^^ method cannot be called on `Ref<Function>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `eq` not found for this struct because it doesn't satisfy `rc::Ref<function::Function>: Iterator` or `rc::Ref<function::Function>: PartialEq`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:117:6
    |
117 | impl<T: RefCountable + PartialEq> PartialEq for Ref<T> {
    |      ^                            ---------     ------
    |      |
    |      unsatisfied trait bound introduced here
    = note: the following trait bounds were not satisfied:
            `rc::Ref<function::Function>: Iterator`
            which is required by `&mut rc::Ref<function::Function>: Iterator`
note: the traits `Iterator` and `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\iter\traits\iterator.rs:44:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following traits define an item `eq`, perhaps you need to implement one of them:
            candidate #1: `Iterator`
            candidate #2: `PartialEq`
            candidate #3: `rayon::iter::IndexedParallelIterator`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:117:8
    |
117 | impl<T: ?Sized + RefCountable + PartialEq> PartialEq for Ref<T> {
    |         ++++++++

error[E0599]: the method `hash` exists for struct `Ref<Function>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\llil\function.rs:76:29
    |
76  |         self.get_function().hash(state)
    |                             ^^^^ method cannot be called on `Ref<Function>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `hash` not found for this struct because it doesn't satisfy `rc::Ref<function::Function>: Hash`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:125:6
    |
125 | impl<T: RefCountable + Hash> Hash for Ref<T> {
    |      ^                       ----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `hash`, perhaps you need to implement it:
            candidate #1: `Hash`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:125:8
    |
125 | impl<T: ?Sized + RefCountable + Hash> Hash for Ref<T> {
    |         ++++++++

error[E0599]: the method `unwrap_or_else` exists for enum `Option<CoreArchitecture>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\llil\function.rs:111:36
     |
111  |         let arch_handle = loc.arch.unwrap_or_else(|| *self.arch().as_ref());
     |                                    ^^^^^^^^^^^^^^ method cannot be called on `Option<CoreArchitecture>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\architecture.rs:1045:1
     |
1045 | pub struct CoreArchitecture(pub(crate) *mut BNArchitecture);
     | --------------------------- doesn't satisfy `CoreArchitecture: Sized`
     |
     = note: the following trait bounds were not satisfied:
             `{type error}: Sized`
             which is required by `CoreArchitecture: Sized`

error[E0599]: the method `unwrap_or_else` exists for enum `Option<CoreArchitecture>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\llil\lifting.rs:1383:29
     |
1383 |         let arch = loc.arch.unwrap_or_else(|| *self.arch().as_ref());
     |                             ^^^^^^^^^^^^^^ method cannot be called on `Option<CoreArchitecture>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\architecture.rs:1045:1
     |
1045 | pub struct CoreArchitecture(pub(crate) *mut BNArchitecture);
     | --------------------------- doesn't satisfy `CoreArchitecture: Sized`
     |
     = note: the following trait bounds were not satisfied:
             `{type error}: Sized`
             which is required by `CoreArchitecture: Sized`

error[E0599]: the method `unwrap_or_else` exists for enum `Option<CoreArchitecture>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\llil\lifting.rs:1394:29
     |
1394 |         let arch = loc.arch.unwrap_or_else(|| *self.arch().as_ref());
     |                             ^^^^^^^^^^^^^^ method cannot be called on `Option<CoreArchitecture>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\architecture.rs:1045:1
     |
1045 | pub struct CoreArchitecture(pub(crate) *mut BNArchitecture);
     | --------------------------- doesn't satisfy `CoreArchitecture: Sized`
     |
     = note: the following trait bounds were not satisfied:
             `{type error}: Sized`
             which is required by `CoreArchitecture: Sized`

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataOfType` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:28:37
   |
28 |         unsafe { Self::ref_from_raw(BNCreateMetadataOfType(metadata_type)) }
   |                                     ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetType` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:32:18
   |
32 |         unsafe { BNMetadataGetType(self.handle) }
   |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetBoolean` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:37:58
   |
37 |             MetadataType::BooleanDataType => Ok(unsafe { BNMetadataGetBoolean(self.handle) }),
   |                                                          ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetUnsignedInteger` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:45:29
   |
45 |                 Ok(unsafe { BNMetadataGetUnsignedInteger(self.handle) })
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetSignedInteger` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:54:29
   |
54 |                 Ok(unsafe { BNMetadataGetSignedInteger(self.handle) })
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetDouble` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:62:57
   |
62 |             MetadataType::DoubleDataType => Ok(unsafe { BNMetadataGetDouble(self.handle) }),
   |                                                         ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetString` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:70:49
   |
70 |                 let ptr: *mut c_char = unsafe { BNMetadataGetString(self.handle) };
   |                                                 ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetBooleanList` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:84:47
   |
84 |                 let ptr: *mut bool = unsafe { BNMetadataGetBooleanList(self.handle, &mut size) };
   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataBooleanList` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:90:26
   |
90 |                 unsafe { BNFreeMetadataBooleanList(ptr, size) };
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetUnsignedIntegerList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:102:30
    |
102 |                     unsafe { BNMetadataGetUnsignedIntegerList(self.handle, &mut size) };
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataUnsignedIntegerList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:108:26
    |
108 |                 unsafe { BNFreeMetadataUnsignedIntegerList(ptr, size) };
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetSignedIntegerList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:120:30
    |
120 |                     unsafe { BNMetadataGetSignedIntegerList(self.handle, &mut size) };
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataSignedIntegerList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:126:26
    |
126 |                 unsafe { BNFreeMetadataSignedIntegerList(ptr, size) };
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetDoubleList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:137:46
    |
137 |                 let ptr: *mut f64 = unsafe { BNMetadataGetDoubleList(self.handle, &mut size) };
    |                                              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataDoubleList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:143:26
    |
143 |                 unsafe { BNFreeMetadataDoubleList(ptr, size) };
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetStringList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:155:30
    |
155 |                     unsafe { BNMetadataGetStringList(self.handle, &mut size) };
    |                              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataStringList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:164:26
    |
164 |                 unsafe { BNFreeMetadataStringList(ptr, size) };
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetRaw` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:175:45
    |
175 |                 let ptr: *mut u8 = unsafe { BNMetadataGetRaw(self.handle, &mut size) };
    |                                             ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataRaw` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:182:26
    |
182 |                 unsafe { BNFreeMetadataRaw(ptr) };
    |                          ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetArray` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:194:30
    |
194 |                     unsafe { BNMetadataGetArray(self.handle, &mut size) };
    |                              ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetValueStore` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:209:30
    |
209 |                     unsafe { BNMetadataGetValueStore(self.handle) };
    |                              ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the function or associated item `new` exists for struct `Ref<Metadata>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:225:42
    |
12  | pub struct Metadata {
    | ------------------- doesn't satisfy `metadata::Metadata: Sized`
...
225 |                         Ref::<Metadata>::new(Self {
    |                                          ^^^ function or associated item cannot be called on `Ref<Metadata>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- function or associated item `new` not found for this struct
    |
note: if you're trying to build a new `rc::Ref<metadata::Metadata>`, consider using `rc::Ref::<T>::new` which returns `rc::Ref<_>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:52:5
    |
52  |     pub(crate) unsafe fn new(contents: T) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: the following trait bounds were not satisfied:
            `{type error}: Sized`
            which is required by `metadata::Metadata: Sized`
    = help: items from traits can only be used if the trait is implemented and in scope
note: `CustomBinaryView` defines an item `new`, perhaps you need to implement it
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\custombinaryview.rs:331:1
    |
331 | pub unsafe trait CustomBinaryView: 'static + BinaryViewBase + Sync + Sized {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewMetadataReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:226:37
    |
226 | ...                   handle: BNNewMetadataReference(values[i]),
    |                               ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataSize` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:239:18
    |
239 |         unsafe { BNMetadataSize(self.handle) }
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataSize` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:243:18
    |
243 |         unsafe { BNMetadataSize(self.handle) == 0 }
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetForIndex` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:250:45
    |
250 |         let ptr: *mut BNMetadata = unsafe { BNMetadataGetForIndex(self.handle, index) };
    |                                             ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataGetForKey` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:262:13
    |
262 |             BNMetadataGetForKey(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataArrayAppend` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:277:18
    |
277 |         unsafe { BNMetadataArrayAppend(self.handle, value.handle) };
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataSetValueForKey` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:287:13
    |
287 |             BNMetadataSetValueForKey(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataRemoveIndex` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:301:18
    |
301 |         unsafe { BNMetadataRemoveIndex(self.handle, index) };
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataRemoveKey` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:311:13
    |
311 |             BNMetadataRemoveKey(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewMetadataReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:326:21
    |
326 |             handle: BNNewMetadataReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadata` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:331:9
    |
331 |         BNFreeMetadata(handle.handle);
    |         ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeMetadataArray` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:342:9
    |
342 |         BNFreeMetadataArray(raw);
    |         ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataBooleanData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:364:41
    |
364 |         unsafe { Metadata::ref_from_raw(BNCreateMetadataBooleanData(value)) }
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataUnsignedIntegerData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:370:41
    |
370 |         unsafe { Metadata::ref_from_raw(BNCreateMetadataUnsignedIntegerData(value)) }
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataSignedIntegerData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:376:41
    |
376 |         unsafe { Metadata::ref_from_raw(BNCreateMetadataSignedIntegerData(value)) }
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataDoubleData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:382:41
    |
382 |         unsafe { Metadata::ref_from_raw(BNCreateMetadataDoubleData(value)) }
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataStringData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:389:36
    |
389 |             Metadata::ref_from_raw(BNCreateMetadataStringData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataStringData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:399:36
    |
399 |             Metadata::ref_from_raw(BNCreateMetadataStringData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataRawData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:414:41
    |
414 |         unsafe { Metadata::ref_from_raw(BNCreateMetadataRawData(value.as_ptr(), value.len())) }
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for reference `&Ref<Metadata>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:422:29
    |
12  | pub struct Metadata {
    | ------------------- doesn't satisfy `metadata::Metadata: Sized`
...
422 |             pointers.push(v.as_ref().handle);
    |                             ^^^^^^ method cannot be called on `&Ref<Metadata>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- doesn't satisfy `_: AsRef<Metadata>` or `rc::Ref<metadata::Metadata>: AsRef<_>`
    |
note: trait bound `metadata::Metadata: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
    |
65  | impl<T: RefCountable> AsRef<T> for Ref<T> {
    |      ^                --------     ------
    |      |
    |      unsatisfied trait bound introduced here
    = note: the following trait bounds were not satisfied:
            `rc::Ref<metadata::Metadata>: AsRef<_>`
            which is required by `&rc::Ref<metadata::Metadata>: AsRef<_>`
note: the traits `AsRef` and `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\convert\mod.rs:218:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
            candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataArray` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:425:36
    |
425 |             Metadata::ref_from_raw(BNCreateMetadataArray(pointers.as_mut_ptr(), pointers.len()))
    |                                    ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `iter` exists for reference `&Array<Metadata>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:433:24
    |
12  | pub struct Metadata {
    | ------------------- doesn't satisfy `metadata::Metadata: Sized`
...
433 |         for v in value.iter() {
    |                        ^^^^ method cannot be called on `&Array<Metadata>` due to unsatisfied trait bounds
    |
    = note: the following trait bounds were not satisfied:
            `{type error}: Sized`
            which is required by `metadata::Metadata: Sized`
    = help: items from traits can only be used if the trait is implemented and in scope
note: `BlockContext` defines an item `iter`, perhaps you need to implement it
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\basicblock.rs:109:1
    |
109 | pub trait BlockContext: Clone + Sync + Send + Sized {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataArray` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:437:36
    |
437 |             Metadata::ref_from_raw(BNCreateMetadataArray(pointers.as_mut_ptr(), pointers.len()))
    |                                    ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for struct `Ref<Metadata>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:449:27
    |
12  | pub struct Metadata {
    | ------------------- doesn't satisfy `metadata::Metadata: Sized`
...
449 |             values.push(v.as_ref().handle);
    |                           ^^^^^^ method cannot be called on `Ref<Metadata>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `as_ref` not found for this struct because it doesn't satisfy `_: AsRef<Metadata>`
    |
note: trait bound `metadata::Metadata: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
    |
65  | impl<T: RefCountable> AsRef<T> for Ref<T> {
    |      ^                --------     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
            candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataValueStore` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:456:36
    |
456 |             Metadata::ref_from_raw(BNCreateMetadataValueStore(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<metadata::Metadata>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:473:40
    |
473 |             values.push(value_metadata.handle);
    |                                        ^^^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataValueStore` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:480:36
    |
480 |             Metadata::ref_from_raw(BNCreateMetadataValueStore(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<metadata::Metadata>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:499:40
    |
499 |             values.push(value_metadata.handle);
    |                                        ^^^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataValueStore` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:506:36
    |
506 |             Metadata::ref_from_raw(BNCreateMetadataValueStore(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataBooleanListData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:518:36
    |
518 |             Metadata::ref_from_raw(BNCreateMetadataBooleanListData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataUnsignedIntegerListData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:529:36
    |
529 |             Metadata::ref_from_raw(BNCreateMetadataUnsignedIntegerListData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataSignedIntegerListData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:540:36
    |
540 |             Metadata::ref_from_raw(BNCreateMetadataSignedIntegerListData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataDoubleListData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:551:36
    |
551 |             Metadata::ref_from_raw(BNCreateMetadataDoubleListData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateMetadataStringListData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:570:36
    |
570 |             Metadata::ref_from_raw(BNCreateMetadataStringListData(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNMetadataIsEqual` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:580:18
    |
580 |         unsafe { BNMetadataIsEqual(self.handle, other.handle) }
    |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<mlil::function::MediumLevelILFunction>`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:22:69
   |
22 |                 BNGetMediumLevelILIndexForInstruction(self.function.handle, i as usize)
   |                                                                     ^^^^^^ unknown field

error[E0599]: the method `to_owned` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:24:66
   |
24 |             .map(|i| MediumLevelILInstruction::new(self.function.to_owned(), i))
   |                                                                  ^^^^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
   |
  ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 | pub struct Ref<T: RefCountable> {
   | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
   |
   = note: the following trait bounds were not satisfied:
           `rc::Ref<mlil::function::MediumLevelILFunction>: Clone`
           which is required by `rc::Ref<mlil::function::MediumLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<mlil::function::MediumLevelILFunction>` with `#[derive(Clone)]`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 + #[derive(Clone)]
47 | pub struct Ref<T: RefCountable> {
   |

error[E0609]: no field `handle` on type `rc::Ref<mlil::function::MediumLevelILFunction>`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:44:65
   |
44 |             BNGetMediumLevelILIndexForInstruction(self.function.handle, block.raw_start() as usize)
   |                                                                 ^^^^^^ unknown field

error[E0599]: the method `to_owned` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:46:53
   |
46 |         MediumLevelILInstruction::new(self.function.to_owned(), expr_idx)
   |                                                     ^^^^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
   |
  ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 | pub struct Ref<T: RefCountable> {
   | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
   |
   = note: the following trait bounds were not satisfied:
           `rc::Ref<mlil::function::MediumLevelILFunction>: Clone`
           which is required by `rc::Ref<mlil::function::MediumLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<mlil::function::MediumLevelILFunction>` with `#[derive(Clone)]`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 + #[derive(Clone)]
47 | pub struct Ref<T: RefCountable> {
   |

error[E0599]: the method `to_owned` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:51:37
   |
51 |             function: self.function.to_owned(),
   |                                     ^^^^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
   |
  ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 | pub struct Ref<T: RefCountable> {
   | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
   |
   = note: the following trait bounds were not satisfied:
           `rc::Ref<mlil::function::MediumLevelILFunction>: Clone`
           which is required by `rc::Ref<mlil::function::MediumLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<mlil::function::MediumLevelILFunction>` with `#[derive(Clone)]`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 + #[derive(Clone)]
47 | pub struct Ref<T: RefCountable> {
   |

error[E0599]: the method `to_owned` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\block.rs:60:37
   |
60 |             function: self.function.to_owned(),
   |                                     ^^^^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
   |
  ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 | pub struct Ref<T: RefCountable> {
   | ------------------------------- method `to_owned` not found for this struct because it doesn't satisfy `_: Clone` or `_: ToOwned`
   |
   = note: the following trait bounds were not satisfied:
           `rc::Ref<mlil::function::MediumLevelILFunction>: Clone`
           which is required by `rc::Ref<mlil::function::MediumLevelILFunction>: ToOwned`
help: consider annotating `rc::Ref<mlil::function::MediumLevelILFunction>` with `#[derive(Clone)]`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
   |
46 + #[derive(Clone)]
47 | pub struct Ref<T: RefCountable> {
   |

error[E0599]: the method `eq` exists for struct `Ref<Function>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:29:29
    |
29  |         self.get_function().eq(&rhs.get_function())
    |                             ^^ method cannot be called on `Ref<Function>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `eq` not found for this struct because it doesn't satisfy `rc::Ref<function::Function>: Iterator` or `rc::Ref<function::Function>: PartialEq`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:117:6
    |
117 | impl<T: RefCountable + PartialEq> PartialEq for Ref<T> {
    |      ^                            ---------     ------
    |      |
    |      unsatisfied trait bound introduced here
    = note: the following trait bounds were not satisfied:
            `rc::Ref<function::Function>: Iterator`
            which is required by `&mut rc::Ref<function::Function>: Iterator`
note: the traits `Iterator` and `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\iter\traits\iterator.rs:44:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following traits define an item `eq`, perhaps you need to implement one of them:
            candidate #1: `Iterator`
            candidate #2: `PartialEq`
            candidate #3: `rayon::iter::IndexedParallelIterator`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:117:8
    |
117 | impl<T: ?Sized + RefCountable + PartialEq> PartialEq for Ref<T> {
    |         ++++++++

error[E0599]: the method `hash` exists for struct `Ref<Function>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:35:29
    |
35  |         self.get_function().hash(state)
    |                             ^^^^ method cannot be called on `Ref<Function>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `hash` not found for this struct because it doesn't satisfy `rc::Ref<function::Function>: Hash`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:125:6
    |
125 | impl<T: RefCountable + Hash> Hash for Ref<T> {
    |      ^                       ----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `hash`, perhaps you need to implement it:
            candidate #1: `Hash`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:125:8
    |
125 | impl<T: ?Sized + RefCountable + Hash> Hash for Ref<T> {
    |         ++++++++

error[E0599]: the method `unwrap` exists for enum `Option<CoreArchitecture>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:48:36
     |
48   |         let arch_handle = loc.arch.unwrap();
     |                                    ^^^^^^ method cannot be called on `Option<CoreArchitecture>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\architecture.rs:1045:1
     |
1045 | pub struct CoreArchitecture(pub(crate) *mut BNArchitecture);
     | --------------------------- doesn't satisfy `CoreArchitecture: Sized`
     |
     = note: the following trait bounds were not satisfied:
             `{type error}: Sized`
             which is required by `CoreArchitecture: Sized`

error[E0609]: no field `handle` on type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\instruction.rs:157:62
    |
157 |         let op = unsafe { BNGetMediumLevelILByIndex(function.handle, idx) };
    |                                                              ^^^^^^ unknown field

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\instruction.rs:836:24
    |
833 |     pub fn function(&self) -> &MediumLevelILFunction {
    |                               ---------------------- expected `&mlil::function::MediumLevelILFunction` because of return type
...
836 |             Nop(op) => &op.function,
    |                        ^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`

error[E0609]: no field `handle` on type `rc::Ref<mlil::function::MediumLevelILFunction>`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:85:69
   |
85 |         let node = unsafe { BNGetMediumLevelILByIndex(self.function.handle, next_idx) };
   |                                                                     ^^^^^^ unknown field

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:152:38
    |
152 |             .map(|idx| get_operation(&self.0.function, idx as usize))
    |                        ------------- ^^^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |                        |
    |                        arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: no method named `arch` found for struct `rc::Ref` in the current scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:232:46
    |
232 |     ILIntrinsic::new(function.get_function().arch(), idx)
    |                                              ^^^^ method not found in `Ref<Function>`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `arch` not found for this struct

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:316:5
    |
314 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
315 | pub struct NoArgs {
316 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:342:5
    |
340 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
341 | pub struct LiftedIf {
342 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:365:23
    |
365 |         get_operation(&self.function, self.condition)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:375:37
    |
375 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:396:5
    |
394 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
395 | pub struct FloatConst {
396 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:424:5
    |
422 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
423 | pub struct Constant {
424 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:447:5
    |
445 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
446 | pub struct ExternPtr {
447 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:491:5
    |
489 | #[derive(Clone, Debug, Hash, PartialEq)]
    |                              --------- in this derive macro expansion
490 | pub struct LiftedConstantData {
491 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:511:13
    |
510 |         get_constant_data(
    |         ----------------- arguments to this function are incorrect
511 |             &self.function,
    |             ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:214:4
    |
214 | fn get_constant_data(
    |    ^^^^^^^^^^^^^^^^^
215 |     function: &MediumLevelILFunction,
    |     --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:520:37
    |
520 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:543:5
    |
541 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
542 | pub struct LiftedJump {
543 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:556:23
    |
556 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:560:37
    |
560 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:582:5
    |
580 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
581 | pub struct LiftedStoreSsa {
582 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:608:23
    |
608 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:617:23
    |
617 |         get_operation(&self.function, self.src)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:621:37
    |
621 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:653:5
    |
651 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
652 | pub struct LiftedStoreStructSsa {
653 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:682:23
    |
682 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:694:23
    |
694 |         get_operation(&self.function, self.src)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:698:37
    |
698 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:730:5
    |
728 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
729 | pub struct LiftedStoreStruct {
730 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:753:23
    |
753 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:759:23
    |
759 |         get_operation(&self.function, self.src)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:763:37
    |
763 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:790:5
    |
788 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
789 | pub struct LiftedStore {
790 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:810:23
    |
810 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:813:23
    |
813 |         get_operation(&self.function, self.src)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:817:37
    |
817 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:842:5
    |
840 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
841 | pub struct LiftedJumpTo {
842 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:862:23
    |
862 |         get_operation(&self.function, self.dest)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:865:26
    |
865 |         OperandList::new(&self.function, self.targets.1, self.targets.0).duble()
    |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
    |
42  |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
    |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:869:37
    |
869 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:888:5
    |
886 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
887 | pub struct Goto {
888 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:911:5
    |
909 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
    |                              --------- in this derive macro expansion
910 | pub struct FreeVarSlot {
911 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:942:5
    |
940 | #[derive(Clone, Debug, PartialEq)]
    |                        --------- in this derive macro expansion
941 | pub struct LiftedSetVarField {
942 |     pub function: Ref<MediumLevelILFunction>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:971:23
    |
971 |         get_operation(&self.function, self.src)
    |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
    |         |
    |         arguments to this function are incorrect
    |
    = note: expected reference `&mlil::function::MediumLevelILFunction`
               found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
    |
235 | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
    |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:975:37
    |
975 |             function: self.function.clone(),
    |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
    |
19  | pub struct MediumLevelILFunction {
    | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
    |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
    |
99  | impl<T: RefCountable> Clone for Ref<T> {
    |      ^                -----     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `clone`, perhaps you need to implement it:
            candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
    |
99  | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
    |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1002:5
     |
1000 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1001 | pub struct LiftedSetVar {
1002 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1025:23
     |
1025 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1029:37
     |
1029 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1047:5
     |
1045 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1046 | pub struct FreeVarSlotSsa {
1047 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1074:37
     |
1074 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1101:5
     |
1099 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1100 | pub struct LiftedSetVarSsaField {
1101 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1136:23
     |
1136 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1140:37
     |
1140 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1170:5
     |
1168 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1169 | pub struct LiftedSetVarAliased {
1170 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1199:23
     |
1199 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1203:37
     |
1203 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1230:5
     |
1228 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1229 | pub struct LiftedSetVarSsa {
1230 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1253:23
     |
1253 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1257:37
     |
1257 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1282:5
     |
1280 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1281 | pub struct LiftedVarPhi {
1282 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1305:26
     |
1305 |         OperandList::new(&self.function, self.src.1, self.src.0).map_ssa_var()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1309:37
     |
1309 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1334:5
     |
1332 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1333 | pub struct LiftedMemPhi {
1334 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1357:26
     |
1357 |         OperandList::new(&self.function, self.src_memory.1, self.src_memory.0)
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1361:37
     |
1361 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1380:5
     |
1378 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1379 | pub struct VarSplit {
1380 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1407:37
     |
1407 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1433:5
     |
1431 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1432 | pub struct LiftedSetVarSplit {
1433 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1462:23
     |
1462 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1466:37
     |
1466 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1486:5
     |
1484 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
1485 | pub struct VarSplitSsa {
1486 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1513:37
     |
1513 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1539:5
     |
1537 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1538 | pub struct LiftedSetVarSplitSsa {
1539 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1568:23
     |
1568 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1572:37
     |
1572 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1599:5
     |
1597 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1598 | pub struct LiftedBinaryOp {
1599 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1619:23
     |
1619 |         get_operation(&self.function, self.left)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1622:23
     |
1622 |         get_operation(&self.function, self.right)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1626:37
     |
1626 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1652:5
     |
1650 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1651 | pub struct LiftedBinaryOpCarry {
1652 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1675:23
     |
1675 |         get_operation(&self.function, self.left)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1678:23
     |
1678 |         get_operation(&self.function, self.right)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1681:23
     |
1681 |         get_operation(&self.function, self.carry)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1685:37
     |
1685 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1713:5
     |
1711 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1712 | pub struct LiftedCall {
1713 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1736:26
     |
1736 |         OperandList::new(&self.function, self.output.1, self.output.0).map_var()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1739:23
     |
1739 |         get_operation(&self.function, self.dest)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1742:26
     |
1742 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1746:37
     |
1746 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1773:5
     |
1771 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1772 | pub struct LiftedSyscallCall {
1773 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1793:26
     |
1793 |         OperandList::new(&self.function, self.output.1, self.output.0).map_var()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1796:26
     |
1796 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1800:37
     |
1800 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1827:5
     |
1825 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1826 | pub struct LiftedIntrinsic {
1827 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1850:26
     |
1850 |         OperandList::new(&self.function, self.output.1, self.output.0).map_var()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1853:23
     |
1853 |         get_intrinsic(&self.function, self.intrinsic)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:231:4
     |
231  | fn get_intrinsic(function: &MediumLevelILFunction, idx: u32) -> ILIntrinsic {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1856:26
     |
1856 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1860:37
     |
1860 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1889:5
     |
1887 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1888 | pub struct LiftedIntrinsicSsa {
1889 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1912:26
     |
1912 |         OperandList::new(&self.function, self.output.1, self.output.0).map_ssa_var()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1915:23
     |
1915 |         get_intrinsic(&self.function, self.intrinsic)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:231:4
     |
231  | fn get_intrinsic(function: &MediumLevelILFunction, idx: u32) -> ILIntrinsic {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1918:26
     |
1918 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1922:37
     |
1922 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1925:38
     |
1925 |             intrinsic: get_intrinsic(&self.function, self.intrinsic),
     |                        ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |                        |
     |                        arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:231:4
     |
231  | fn get_intrinsic(function: &MediumLevelILFunction, idx: u32) -> ILIntrinsic {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1952:5
     |
1950 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
1951 | pub struct LiftedCallSsa {
1952 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1978:29
     |
1978 |         get_call_output_ssa(&self.function, self.output)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:301:4
     |
301  | fn get_call_output_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandSSAVariableList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1981:23
     |
1981 |         get_operation(&self.function, self.dest)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1984:26
     |
1984 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:1991:37
     |
1991 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2023:5
     |
2021 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2022 | pub struct LiftedCallUntypedSsa {
2023 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2049:29
     |
2049 |         get_call_output_ssa(&self.function, self.output)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:301:4
     |
301  | fn get_call_output_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandSSAVariableList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2052:23
     |
2052 |         get_operation(&self.function, self.dest)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2055:29
     |
2055 |         get_call_params_ssa(&self.function, self.params)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:309:4
     |
309  | fn get_call_params_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2058:23
     |
2058 |         get_operation(&self.function, self.stack)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2062:37
     |
2062 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2093:5
     |
2091 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2092 | pub struct LiftedSyscallSsa {
2093 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2116:29
     |
2116 |         get_call_output_ssa(&self.function, self.output)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:301:4
     |
301  | fn get_call_output_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandSSAVariableList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2119:26
     |
2119 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2126:37
     |
2126 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2155:5
     |
2153 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2154 | pub struct LiftedSyscallUntypedSsa {
2155 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2178:29
     |
2178 |         get_call_output_ssa(&self.function, self.output)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:301:4
     |
301  | fn get_call_output_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandSSAVariableList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2181:29
     |
2181 |         get_call_params_ssa(&self.function, self.params)
     |         ------------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:309:4
     |
309  | fn get_call_params_ssa(function: &MediumLevelILFunction, idx: usize) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2184:23
     |
2184 |         get_operation(&self.function, self.stack)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2188:37
     |
2188 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2218:5
     |
2216 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2217 | pub struct LiftedCallUntyped {
2218 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2244:25
     |
2244 |         get_call_output(&self.function, self.output)
     |         --------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:273:4
     |
273  | fn get_call_output(function: &MediumLevelILFunction, idx: usize) -> OperandVariableList {
     |    ^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2247:23
     |
2247 |         get_operation(&self.function, self.dest)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2250:25
     |
2250 |         get_call_params(&self.function, self.params)
     |         --------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:277:4
     |
277  | fn get_call_params(function: &MediumLevelILFunction, idx: usize) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2253:23
     |
2253 |         get_operation(&self.function, self.stack)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2257:37
     |
2257 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2288:5
     |
2286 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2287 | pub struct LiftedSyscallUntyped {
2288 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2311:25
     |
2311 |         get_call_output(&self.function, self.output)
     |         --------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:273:4
     |
273  | fn get_call_output(function: &MediumLevelILFunction, idx: usize) -> OperandVariableList {
     |    ^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2314:25
     |
2314 |         get_call_params(&self.function, self.params)
     |         --------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:277:4
     |
277  | fn get_call_params(function: &MediumLevelILFunction, idx: usize) -> OperandExprList {
     |    ^^^^^^^^^^^^^^^ --------------------------------

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2317:23
     |
2317 |         get_operation(&self.function, self.stack)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2321:37
     |
2321 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2348:5
     |
2346 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2347 | pub struct LiftedUnaryOp {
2348 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2361:23
     |
2361 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2365:37
     |
2365 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2385:5
     |
2383 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2384 | pub struct LiftedLoadStruct {
2385 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2405:23
     |
2405 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2412:37
     |
2412 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2438:5
     |
2436 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2437 | pub struct LiftedLoadStructSsa {
2438 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2461:23
     |
2461 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2471:37
     |
2471 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2498:5
     |
2496 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2497 | pub struct LiftedLoadSsa {
2498 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2518:23
     |
2518 |         get_operation(&self.function, self.src)
     |         ------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:235:4
     |
235  | fn get_operation(function: &MediumLevelILFunction, idx: usize) -> MediumLevelILInstruction {
     |    ^^^^^^^^^^^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2525:37
     |
2525 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2549:5
     |
2547 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2548 | pub struct LiftedRet {
2549 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2566:26
     |
2566 |         OperandList::new(&self.function, self.src.1, self.src.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2570:37
     |
2570 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2589:5
     |
2587 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2588 | pub struct LiftedSeparateParamList {
2589 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2602:26
     |
2602 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2606:37
     |
2606 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2625:5
     |
2623 | #[derive(Clone, Debug, PartialEq)]
     |                        --------- in this derive macro expansion
2624 | pub struct LiftedSharedParamSlot {
2625 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2638:26
     |
2638 |         OperandList::new(&self.function, self.params.1, self.params.0).map_expr()
     |         ---------------- ^^^^^^^^^^^^^^ expected `&MediumLevelILFunction`, found `&Ref<MediumLevelILFunction>`
     |         |
     |         arguments to this function are incorrect
     |
     = note: expected reference `&mlil::function::MediumLevelILFunction`
                found reference `&rc::Ref<mlil::function::MediumLevelILFunction>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:42:8
     |
42   |     fn new(function: &MediumLevelILFunction, idx: usize, number: usize) -> Self {
     |        ^^^ --------------------------------

error[E0599]: the method `clone` exists for struct `Ref<MediumLevelILFunction>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2642:37
     |
2642 |             function: self.function.clone(),
     |                                     ^^^^^ method cannot be called on `Ref<MediumLevelILFunction>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\function.rs:19:1
     |
19   | pub struct MediumLevelILFunction {
     | -------------------------------- doesn't satisfy `mlil::function::MediumLevelILFunction: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `_: Clone`
     |
note: trait bound `mlil::function::MediumLevelILFunction: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2655:5
     |
2653 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2654 | pub struct Var {
2655 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2678:5
     |
2676 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2677 | pub struct Field {
2678 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2715:5
     |
2713 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2714 | pub struct VarSsa {
2715 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2742:5
     |
2740 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2741 | pub struct VarSsaField {
2742 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<mlil::function::MediumLevelILFunction>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\mlil\operation.rs:2779:5
     |
2777 | #[derive(Clone, Debug, Hash, PartialEq, Eq)]
     |                              --------- in this derive macro expansion
2778 | pub struct Trap {
2779 |     pub function: Ref<MediumLevelILFunction>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformByName` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:78:23
   |
78 |             let res = BNGetPlatformByName(raw_name.as_ref().as_ptr() as *mut _);
   |                       ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformList` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:91:27
   |
91 |             let handles = BNGetPlatformList(&mut count);
   |                           ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformListByArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:100:27
    |
100 |             let handles = BNGetPlatformListByArchitecture(arch.0, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformListByOS` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:111:27
    |
111 |             let handles = BNGetPlatformListByOS(raw_name.as_ref().as_ptr() as *mut _, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformListByOSAndArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:125:27
    |
125 |             let handles = BNGetPlatformListByOSAndArchitecture(
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformOSList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:138:24
    |
138 |             let list = BNGetPlatformOSList(&mut count);
    |                        ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePlatform` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:147:26
    |
147 |             let handle = BNCreatePlatform(arch.as_ref().0, name.as_ref().as_ptr() as *mut _);
    |                          ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:157:28
    |
157 |             let raw_name = BNGetPlatformName(self.handle);
    |                            ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:163:45
    |
163 |         unsafe { CoreArchitecture::from_raw(BNGetPlatformArchitecture(self.handle)) }
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRegisterPlatform` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:170:13
    |
170 |             BNRegisterPlatform(os.as_ref().as_ptr() as *mut _, self.handle);
    |             ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformDefaultCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:176:9
    |
176 |         BNGetPlatformDefaultCallingConvention,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRegisterPlatformDefaultCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:178:9
    |
178 |         BNRegisterPlatformDefaultCallingConvention
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformCdeclCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:183:9
    |
183 |         BNGetPlatformCdeclCallingConvention,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRegisterPlatformCdeclCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:185:9
    |
185 |         BNRegisterPlatformCdeclCallingConvention
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformStdcallCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:190:9
    |
190 |         BNGetPlatformStdcallCallingConvention,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRegisterPlatformStdcallCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:192:9
    |
192 |         BNRegisterPlatformStdcallCallingConvention
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformFastcallCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:197:9
    |
197 |         BNGetPlatformFastcallCallingConvention,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRegisterPlatformFastcallCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:199:9
    |
199 |         BNRegisterPlatformFastcallCallingConvention
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformSystemCallConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:204:9
    |
204 |         BNGetPlatformSystemCallConvention,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetPlatformSystemCallConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:206:9
    |
206 |         BNSetPlatformSystemCallConvention
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformCallingConventions` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:212:27
    |
212 |             let handles = BNGetPlatformCallingConventions(self.handle, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformTypes` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:221:27
    |
221 |             let handles = BNGetPlatformTypes(self.handle, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformVariables` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:230:27
    |
230 |             let handles = BNGetPlatformVariables(self.handle, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetPlatformFunctions` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:239:27
    |
239 |             let handles = BNGetPlatformFunctions(self.handle, &mut count);
    |                           ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNParseTypesFromSource` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:302:27
    |
302 |             let success = BNParseTypesFromSource(
    |                           ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `name` on type `&_`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:320:44
    |
320 |                 let name = QualifiedName(i.name);
    |                                            ^^^^ unknown field

error[E0609]: no field `name` on type `&_`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:327:44
    |
327 |                 let name = QualifiedName(i.name);
    |                                            ^^^^ unknown field

error[E0609]: no field `name` on type `&_`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:334:44
    |
334 |                 let name = QualifiedName(i.name);
    |                                            ^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewPlatformReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:356:21
    |
356 |             handle: BNNewPlatformReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreePlatform` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:361:9
    |
361 |         BNFreePlatform(handle.handle);
    |         ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreePlatformList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\platform.rs:372:9
    |
372 |         BNFreePlatformList(raw, count);
    |         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for struct `ManuallyDrop<Ref<Function>>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\references.rs:44:19
    |
44  |         self.func.as_ref()
    |                   ^^^^^^ method cannot be called on `ManuallyDrop<Ref<Function>>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\function.rs:113:1
    |
113 | pub struct Function {
    | ------------------- doesn't satisfy `function::Function: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- doesn't satisfy `_: AsRef<Function>`
    |
note: trait bound `function::Function: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
    |
65  | impl<T: RefCountable> AsRef<T> for Ref<T> {
    |      ^                --------     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
            candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:49:56
   |
49 |             RelocationType::ELFGlobalRelocationType => BNRelocationType::ELFGlobalRelocationType,
   |                                                        ^^^^^^^^^^^^^^^^
   |                                                        |
   |                                                        use of undeclared type `BNRelocationType`
   |                                                        help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:50:54
   |
50 |             RelocationType::ELFCopyRelocationType => BNRelocationType::ELFCopyRelocationType,
   |                                                      ^^^^^^^^^^^^^^^^
   |                                                      |
   |                                                      use of undeclared type `BNRelocationType`
   |                                                      help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:52:17
   |
52 |                 BNRelocationType::ELFJumpSlotRelocationType
   |                 ^^^^^^^^^^^^^^^^
   |                 |
   |                 use of undeclared type `BNRelocationType`
   |                 help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:54:55
   |
54 |             RelocationType::StandardRelocationType => BNRelocationType::StandardRelocationType,
   |                                                       ^^^^^^^^^^^^^^^^
   |                                                       |
   |                                                       use of undeclared type `BNRelocationType`
   |                                                       help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:55:50
   |
55 |             RelocationType::IgnoredRelocation => BNRelocationType::IgnoredRelocation,
   |                                                  ^^^^^^^^^^^^^^^^
   |                                                  |
   |                                                  use of undeclared type `BNRelocationType`
   |                                                  help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:56:52
   |
56 |             RelocationType::UnhandledRelocation => BNRelocationType::UnhandledRelocation,
   |                                                    ^^^^^^^^^^^^^^^^
   |                                                    |
   |                                                    use of undeclared type `BNRelocationType`
   |                                                    help: an enum with a similar name exists: `RelocationType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationGetInfo` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:189:44
    |
189 |         RelocationInfo::from_raw(unsafe { &BNRelocationGetInfo(self.0) })
    |                                            ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationGetArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:193:28
    |
193 |         let raw = unsafe { BNRelocationGetArchitecture(self.0) };
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationGetTarget` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:202:18
    |
202 |         unsafe { BNRelocationGetTarget(self.0) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationGetReloc` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:206:18
    |
206 |         unsafe { BNRelocationGetReloc(self.0) }
    |                  ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationGetSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:210:28
    |
210 |         let raw = unsafe { BNRelocationGetSymbol(self.0) };
    |                            ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeRelocationList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:226:9
    |
226 |         BNFreeRelocationList(raw, count);
    |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationHandlerDefaultApplyRelocation` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:281:13
    |
281 |             BNRelocationHandlerDefaultApplyRelocation(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationHandlerGetRelocationInfo` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:324:13
    |
324 |             BNRelocationHandlerGetRelocationInfo(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationHandlerApplyRelocation` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:346:13
    |
346 |             BNRelocationHandlerApplyRelocation(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRelocationHandlerGetOperandForExternalRelocation` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:365:13
    |
365 |             BNRelocationHandlerGetOperandForExternalRelocation(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewRelocationHandlerReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:392:23
    |
392 |         Ref::new(Self(BNNewRelocationHandlerReference(handle.0)))
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeRelocationHandler` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:396:9
    |
296 | pub struct CoreRelocationHandler(*mut BNRelocationHandler);
    | ----------------------------------------------------------- similarly named tuple struct `CoreRelocationHandler` defined here
...
396 |         BNFreeRelocationHandler(handle.0);
    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: a tuple struct with a similar name exists: `CoreRelocationHandler`

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateRelocationHandler` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:516:31
    |
296 | pub struct CoreRelocationHandler(*mut BNRelocationHandler);
    | ----------------------------------------------------------- similarly named tuple struct `CoreRelocationHandler` defined here
...
516 |     let handle_raw = unsafe { BNCreateRelocationHandler(&mut custom_handler) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^ help: a tuple struct with a similar name exists: `CoreRelocationHandler`

error[E0425]: cannot find function, tuple struct or tuple variant `BNArchitectureRegisterRelocationHandler` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:528:9
    |
528 |         BNArchitectureRegisterRelocationHandler(
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewViewReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:434:48
    |
434 |         let bv = unsafe { BinaryView::from_raw(BNNewViewReference(bv)) };
    |                                                ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for struct `Ref<BinaryView>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:442:51
     |
442  |             custom_handler.get_relocation_info(bv.as_ref(), arch.as_ref(), info.as_mut_slice());
     |                                                   ^^^^^^ method cannot be called on `Ref<BinaryView>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1289:1
     |
1289 | pub struct BinaryView {
     | --------------------- doesn't satisfy `BinaryView: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `as_ref` not found for this struct because it doesn't satisfy `rc::Ref<BinaryView>: AsRef<BinaryView>`
     |
note: trait bound `BinaryView: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
     |
65   | impl<T: RefCountable> AsRef<T> for Ref<T> {
     |      ^                --------     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
             candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
     |
65   | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
     |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewViewReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:461:48
    |
461 |         let bv = unsafe { BinaryView::from_raw(BNNewViewReference(bv)) };
    |                                                ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `as_ref` exists for struct `Ref<BinaryView>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:465:44
     |
465  |         custom_handler.apply_relocation(bv.as_ref(), arch.as_ref(), &reloc, dest)
     |                                            ^^^^^^ method cannot be called on `Ref<BinaryView>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1289:1
     |
1289 | pub struct BinaryView {
     | --------------------- doesn't satisfy `BinaryView: Sized`
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `as_ref` not found for this struct because it doesn't satisfy `rc::Ref<BinaryView>: AsRef<BinaryView>`
     |
note: trait bound `BinaryView: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
     |
65   | impl<T: RefCountable> AsRef<T> for Ref<T> {
     |      ^                --------     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
             candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
     |
65   | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
     |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetLowLevelILOwnerFunction` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:483:29
    |
483 |         let func = unsafe { BNGetLowLevelILOwnerFunction(il) };
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetFunctionArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:488:29
    |
488 |         let arch = unsafe { BNGetFunctionArchitecture(func) };
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeFunction` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:489:18
    |
489 |         unsafe { BNFreeFunction(func) };
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetName` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:83:37
   |
83 |         unsafe { BnString::from_raw(BNSectionGetName(self.handle)) }
   |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetType` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:87:37
   |
87 |         unsafe { BnString::from_raw(BNSectionGetType(self.handle)) }
   |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetStart` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:91:18
   |
91 |         unsafe { BNSectionGetStart(self.handle) }
   |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetEnd` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:95:18
   |
95 |         unsafe { BNSectionGetEnd(self.handle) }
   |                  ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetLength` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:99:18
   |
99 |         unsafe { BNSectionGetLength(self.handle) as usize }
   |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetLength` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:103:18
    |
103 |         unsafe { BNSectionGetLength(self.handle) as usize == 0 }
    |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetSemantics` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:111:18
    |
111 |         unsafe { BNSectionGetSemantics(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetLinkedSection` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:115:37
    |
115 |         unsafe { BnString::from_raw(BNSectionGetLinkedSection(self.handle)) }
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetInfoSection` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:119:37
    |
119 |         unsafe { BnString::from_raw(BNSectionGetInfoSection(self.handle)) }
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetInfoData` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:123:18
    |
123 |         unsafe { BNSectionGetInfoData(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetAlign` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:127:18
    |
127 |         unsafe { BNSectionGetAlign(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionGetEntrySize` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:131:18
    |
131 |         unsafe { BNSectionGetEntrySize(self.handle) as usize }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSectionIsAutoDefined` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:135:18
    |
135 |         unsafe { BNSectionIsAutoDefined(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewSectionReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:162:21
    |
162 |             handle: BNNewSectionReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSection` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:167:9
    |
167 |         BNFreeSection(handle.handle);
    |         ^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSectionList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:178:9
    |
178 |         BNFreeSectionList(raw, count);
    |         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddAutoSection` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:278:17
    |
278 |                 BNAddAutoSection(
    |                 ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddUserSection` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\section.rs:292:17
    |
292 |                 BNAddUserSection(
    |                 ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddAutoSegment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:100:17
    |
100 |                 BNAddAutoSegment(view.handle, ea_start, ea_len, b_start, b_len, self.flags);
    |                 ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddUserSegment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:102:17
    |
102 |                 BNAddUserSegment(view.handle, ea_start, ea_len, b_start, b_len, self.flags);
    |                 ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentGetStart` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:128:30
    |
128 |         let start = unsafe { BNSegmentGetStart(self.handle) };
    |                              ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentGetEnd` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:129:28
    |
129 |         let end = unsafe { BNSegmentGetEnd(self.handle) };
    |                            ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentGetDataOffset` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:134:30
    |
134 |         let start = unsafe { BNSegmentGetDataOffset(self.handle) };
    |                              ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentGetDataEnd` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:135:28
    |
135 |         let end = unsafe { BNSegmentGetDataEnd(self.handle) };
    |                            ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentGetFlags` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:145:18
    |
145 |         unsafe { BNSegmentGetFlags(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSegmentIsAutoDefined` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:177:18
    |
177 |         unsafe { BNSegmentIsAutoDefined(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewSegmentReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:192:21
    |
192 |             handle: BNNewSegmentReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSegment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:197:9
    |
197 |         BNFreeSegment(handle.handle);
    |         ^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSegmentList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\segment.rs:208:9
    |
208 |         BNFreeSegmentList(raw, count);
    |         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateSettings` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:46:26
   |
46 |             let handle = BNCreateSettings(instance_id.as_ref().as_ptr() as *mut _);
   |                          ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetResourceId` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:56:18
   |
56 |         unsafe { BNSettingsSetResourceId(self.handle, resource_id.as_ref().as_ptr() as *mut _) };
   |                  ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSerializeSchema` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:60:37
   |
60 |         unsafe { BnString::from_raw(BNSettingsSerializeSchema(self.handle)) }
   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0433]: failed to resolve: use of undeclared type `BNSettingsScope`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:69:17
   |
69 |                 BNSettingsScope::SettingsAutoScope,
   |                 ^^^^^^^^^^^^^^^ use of undeclared type `BNSettingsScope`

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsDeserializeSchema` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:66:13
   |
66 |             BNSettingsDeserializeSchema(
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsContains` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:78:18
   |
78 |         unsafe { BNSettingsContains(self.handle, key.as_ref().as_ptr() as *mut _) }
   |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetBool` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:97:13
   |
97 |             BNSettingsGetBool(
   |             ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetDouble` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:122:13
    |
122 |             BNSettingsGetDouble(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetUInt64` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:147:13
    |
147 |             BNSettingsGetUInt64(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetString` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:172:32
    |
172 |             BnString::from_raw(BNSettingsGetString(
    |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetStringList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:199:17
    |
199 |                 BNSettingsGetStringList(
    |                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsGetJson` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:228:32
    |
228 |             BnString::from_raw(BNSettingsGetJson(
    |                                ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetBool` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:254:13
    |
254 |             BNSettingsSetBool(
    |             ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetDouble` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:281:13
    |
281 |             BNSettingsSetDouble(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetUInt64` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:308:13
    |
308 |             BNSettingsSetUInt64(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetString` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:336:13
    |
336 |             BNSettingsSetString(
    |             ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetStringList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:372:13
    |
372 |             BNSettingsSetStringList(
    |             ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsSetJson` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:404:13
    |
404 |             BNSettingsSetJson(
    |             ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsRegisterGroup` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:423:13
    |
423 |             BNSettingsRegisterGroup(
    |             ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSettingsRegisterSetting` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:440:13
    |
440 |             BNSettingsRegisterSetting(
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewSettingsReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:462:21
    |
462 |             handle: BNNewSettingsReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSettings` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\settings.rs:467:9
    |
467 |         BNFreeSettings(handle.handle);
    |         ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:164:31
    |
164 |                     let res = BNCreateSymbol(
    |                               ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:176:31
    |
176 |                     let res = BNCreateSymbol(
    |                               ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:189:27
    |
189 |                 let res = BNCreateSymbol(
    |                           ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:201:27
    |
201 |                 let res = BNCreateSymbol(
    |                           ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:241:18
    |
241 |         unsafe { BNGetSymbolType(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolBinding` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:245:18
    |
245 |         unsafe { BNGetSymbolBinding(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolFullName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:250:24
    |
250 |             let name = BNGetSymbolFullName(self.handle);
    |                        ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolShortName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:257:24
    |
257 |             let name = BNGetSymbolShortName(self.handle);
    |                        ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolRawName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:264:24
    |
264 |             let name = BNGetSymbolRawName(self.handle);
    |                        ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetSymbolAddress` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:270:18
    |
270 |         unsafe { BNGetSymbolAddress(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsSymbolAutoDefined` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:274:18
    |
274 |         unsafe { BNIsSymbolAutoDefined(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNImportedFunctionFromImportAddressSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:284:23
    |
284 |             let res = BNImportedFunctionFromImportAddressSymbol(sym.handle, addr);
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewSymbolReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:317:21
    |
317 |             handle: BNNewSymbolReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSymbol` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:322:9
    |
322 |         BNFreeSymbol(handle.handle);
    |         ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeSymbolList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\symbol.rs:333:9
    |
333 |         BNFreeSymbolList(raw, count);
    |         ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateTag` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:37:33
   |
37 |         unsafe { Self::from_raw(BNCreateTag(t.handle, data.as_ref().as_ptr() as *mut _)) }
   |                                 ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagGetId` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:41:37
   |
41 |         unsafe { BnString::from_raw(BNTagGetId(self.handle)) }
   |                                     ^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagGetData` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:45:37
   |
45 |         unsafe { BnString::from_raw(BNTagGetData(self.handle)) }
   |                                     ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagGetType` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:49:36
   |
49 |         unsafe { TagType::from_raw(BNTagGetType(self.handle)) }
   |                                    ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagSetData` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:55:13
   |
55 |             BNTagSetData(self.handle, data.as_ref().as_ptr() as *mut _);
   |             ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewTagReference` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:63:21
   |
63 |             handle: BNNewTagReference(handle.handle),
   |                     ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTag` in this scope
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:68:9
   |
68 |         BNFreeTag(handle.handle);
   |         ^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateTagType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:101:48
    |
101 |         let tag_type = unsafe { Self::from_raw(BNCreateTagType(view.handle)) };
    |                                                ^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: no method named `set_name` found for struct `rc::Ref` in the current scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:102:18
    |
102 |         tag_type.set_name(name);
    |                  ^^^^^^^^ method not found in `Ref<TagType>`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `set_name` not found for this struct

error[E0599]: no method named `set_icon` found for struct `rc::Ref` in the current scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:103:18
    |
103 |         tag_type.set_icon(icon);
    |                  ^^^^^^^^ method not found in `Ref<TagType>`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `set_icon` not found for this struct

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetId` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:108:37
    |
108 |         unsafe { BnString::from_raw(BNTagTypeGetId(self.handle)) }
    |                                     ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetIcon` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:112:37
    |
112 |         unsafe { BnString::from_raw(BNTagTypeGetIcon(self.handle)) }
    |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeSetName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:118:13
    |
118 |             BNTagTypeSetName(self.handle, icon.as_ref().as_ptr() as *mut _);
    |             ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:123:37
    |
123 |         unsafe { BnString::from_raw(BNTagTypeGetName(self.handle)) }
    |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeSetName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:129:13
    |
129 |             BNTagTypeSetName(self.handle, name.as_ref().as_ptr() as *mut _);
    |             ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetVisible` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:134:18
    |
134 |         unsafe { BNTagTypeGetVisible(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeSetVisible` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:138:18
    |
138 |         unsafe { BNTagTypeSetVisible(self.handle, visible) }
    |                  ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:142:18
    |
142 |         unsafe { BNTagTypeGetType(self.handle) }
    |                  ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeSetName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:148:13
    |
148 |             BNTagTypeSetName(self.handle, t.as_ref().as_ptr() as *mut _);
    |             ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTagTypeGetView` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:153:39
    |
153 |         unsafe { BinaryView::from_raw(BNTagTypeGetView(self.handle)) }
    |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewTagTypeReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:160:21
    |
160 |             handle: BNNewTagTypeReference(handle.handle),
    |                     ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTagType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\tags.rs:165:9
    |
165 |         BNFreeTagType(handle.handle);
    |         ^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetCallingConventionArchitecture` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:244:48
    |
244 |                     CoreArchitecture::from_raw(BNGetCallingConventionArchitecture(
    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<Type>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:266:34
    |
266 |             type_: conf.contents.handle,
    |                                  ^^^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateTypeBuilderFromType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:318:33
    |
318 |         unsafe { Self::from_raw(BNCreateTypeBuilderFromType(t.handle)) }
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFinalizeTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:328:37
    |
328 |         unsafe { Type::ref_from_raw(BNFinalizeTypeBuilder(self.handle)) }
    |                                     ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetFunctionTypeBuilderCanReturn` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:335:18
    |
335 |         unsafe { BNSetFunctionTypeBuilderCanReturn(self.handle, &mut bool_with_confidence) };
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetTypeBuilderPure` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:341:18
    |
341 |         unsafe { BNSetTypeBuilderPure(self.handle, &mut bool_with_confidence) };
    |                  ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTypeBuilderSetConst` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:347:18
    |
347 |         unsafe { BNTypeBuilderSetConst(self.handle, &mut bool_with_confidence) };
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTypeBuilderSetVolatile` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:353:18
    |
353 |         unsafe { BNTypeBuilderSetVolatile(self.handle, &mut bool_with_confidence) };
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderClass` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:360:18
    |
360 |         unsafe { BNGetTypeBuilderClass(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderWidth` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:364:18
    |
364 |         unsafe { BNGetTypeBuilderWidth(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderAlignment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:368:18
    |
368 |         unsafe { BNGetTypeBuilderAlignment(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeBuilderSigned` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:372:18
    |
372 |         unsafe { BNIsTypeBuilderSigned(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeBuilderConst` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:376:18
    |
376 |         unsafe { BNIsTypeBuilderConst(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeBuilderVolatile` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:380:18
    |
380 |         unsafe { BNIsTypeBuilderVolatile(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeBuilderFloatingPoint` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:384:18
    |
384 |         unsafe { BNIsTypeBuilderFloatingPoint(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:388:35
    |
388 |         let raw_target = unsafe { BNGetTypeBuilderChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:397:35
    |
397 |         let raw_target = unsafe { BNGetTypeBuilderChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:406:35
    |
406 |         let raw_target = unsafe { BNGetTypeBuilderChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:415:46
    |
415 |         let convention_confidence = unsafe { BNGetTypeBuilderCallingConvention(self.handle) };
    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderParameters` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:426:34
    |
426 |             let parameters_raw = BNGetTypeBuilderParameters(self.handle, &mut count);
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeParameterList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:437:17
    |
437 |                 BNFreeTypeParameterList(parameters_raw, count);
    |                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTypeBuilderHasVariableArguments` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:445:18
    |
445 |         unsafe { BNTypeBuilderHasVariableArguments(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFunctionTypeBuilderCanReturn` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:449:18
    |
449 |         unsafe { BNFunctionTypeBuilderCanReturn(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeBuilderPure` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:453:18
    |
453 |         unsafe { BNIsTypeBuilderPure(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderStructure` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:457:31
    |
457 |         let result = unsafe { BNGetTypeBuilderStructure(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderEnumeration` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:466:31
    |
466 |         let result = unsafe { BNGetTypeBuilderEnumeration(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderNamedTypeReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:475:31
    |
475 |         let result = unsafe { BNGetTypeBuilderNamedTypeReference(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderElementCount` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:484:18
    |
484 |         unsafe { BNGetTypeBuilderElementCount(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderOffset` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:488:18
    |
488 |         unsafe { BNGetTypeBuilderOffset(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderStackAdjustment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:492:18
    |
492 |         unsafe { BNGetTypeBuilderStackAdjustment(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateVoidTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:499:33
    |
499 |         unsafe { Self::from_raw(BNCreateVoidTypeBuilder()) }
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateBoolTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:503:33
    |
503 |         unsafe { Self::from_raw(BNCreateBoolTypeBuilder()) }
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateIntegerTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:514:28
    |
514 |             Self::from_raw(BNCreateIntegerTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateIntegerTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:528:28
    |
528 |             Self::from_raw(BNCreateIntegerTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFloatTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:538:28
    |
538 |             Self::from_raw(BNCreateFloatTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFloatTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:550:28
    |
550 |             Self::from_raw(BNCreateFloatTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateArrayTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:558:33
    |
558 |         unsafe { Self::from_raw(BNCreateArrayTypeBuilder(&t.into().into(), count)) }
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateEnumerationTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:571:28
    |
571 |             Self::from_raw(BNCreateEnumerationTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateStructureTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:581:33
    |
581 |         unsafe { Self::from_raw(BNCreateStructureTypeBuilder(structure_type.handle)) }
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedTypeReferenceBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:588:28
    |
588 |             Self::from_raw(BNCreateNamedTypeReferenceBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedTypeReferenceBuilderFromTypeAndId` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:602:28
    |
602 |             Self::from_raw(BNCreateNamedTypeReferenceBuilderFromTypeAndId(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:617:28
    |
617 |             Self::from_raw(BNCreatePointerTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:632:28
    |
632 |             Self::from_raw(BNCreatePointerTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerTypeBuilderOfWidth` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:653:28
    |
653 |             Self::from_raw(BNCreatePointerTypeBuilderOfWidth(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:673:28
    |
673 |             Self::from_raw(BNCreatePointerTypeBuilder(
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeBuilderString` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:687:32
    |
687 |             BnString::from_raw(BNGetTypeBuilderString(self.handle, ptr::null_mut()))
    |                                ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeBuilder` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:694:18
    |
694 |         unsafe { BNFreeTypeBuilder(self.handle) };
    |                  ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeClass` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:731:18
    |
731 |         unsafe { BNGetTypeClass(self.handle) }
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeWidth` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:735:18
    |
735 |         unsafe { BNGetTypeWidth(self.handle) }
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeAlignment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:739:18
    |
739 |         unsafe { BNGetTypeAlignment(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeSigned` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:743:18
    |
743 |         unsafe { BNIsTypeSigned(self.handle).into() }
    |                  ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeConst` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:747:18
    |
747 |         unsafe { BNIsTypeConst(self.handle).into() }
    |                  ^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeVolatile` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:751:18
    |
751 |         unsafe { BNIsTypeVolatile(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypeFloatingPoint` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:755:18
    |
755 |         unsafe { BNIsTypeFloatingPoint(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:759:35
    |
759 |         let raw_target = unsafe { BNGetChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:768:35
    |
768 |         let raw_target = unsafe { BNGetChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetChildType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:777:35
    |
777 |         let raw_target = unsafe { BNGetChildType(self.handle) };
    |                                   ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeCallingConvention` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:786:46
    |
786 |         let convention_confidence = unsafe { BNGetTypeCallingConvention(self.handle) };
    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeParameters` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:798:17
    |
798 |                 BNGetTypeParameters(self.handle, &mut count);
    |                 ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeParameterList` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:809:17
    |
809 |                 BNFreeTypeParameterList(parameters_raw, count);
    |                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTypeHasVariableArguments` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:817:18
    |
817 |         unsafe { BNTypeHasVariableArguments(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFunctionTypeCanReturn` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:821:18
    |
821 |         unsafe { BNFunctionTypeCanReturn(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsTypePure` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:825:18
    |
825 |         unsafe { BNIsTypePure(self.handle).into() }
    |                  ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeStructure` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:829:31
    |
829 |         let result = unsafe { BNGetTypeStructure(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeEnumeration` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:838:31
    |
838 |         let result = unsafe { BNGetTypeEnumeration(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeNamedTypeReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:847:31
    |
847 |         let result = unsafe { BNGetTypeNamedTypeReference(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeElementCount` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:856:18
    |
856 |         unsafe { BNGetTypeElementCount(self.handle) }
    |                  ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeOffset` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:860:18
    |
860 |         unsafe { BNGetTypeOffset(self.handle) }
    |                  ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeStackAdjustment` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:864:18
    |
864 |         unsafe { BNGetTypeStackAdjustment(self.handle).into() }
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetRegisteredTypeName` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:868:31
    |
868 |         let result = unsafe { BNGetRegisteredTypeName(self.handle) };
    |                               ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateVoidType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:880:37
    |
880 |         unsafe { Self::ref_from_raw(BNCreateVoidType()) }
    |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateBoolType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:884:37
    |
884 |         unsafe { Self::ref_from_raw(BNCreateBoolType()) }
    |                                     ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateWideCharType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:893:32
    |
893 |             Self::ref_from_raw(BNCreateWideCharType(
    |                                ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateIntegerType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:903:32
    |
903 |             Self::ref_from_raw(BNCreateIntegerType(
    |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateIntegerType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:917:32
    |
917 |             Self::ref_from_raw(BNCreateIntegerType(
    |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFloatType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:927:32
    |
927 |             Self::ref_from_raw(BNCreateFloatType(
    |                                ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFloatType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:938:37
    |
938 |         unsafe { Self::ref_from_raw(BNCreateFloatType(width, alt_name.as_ref().as_ptr() as _)) }
    |                                     ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateArrayType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:942:37
    |
942 |         unsafe { Self::ref_from_raw(BNCreateArrayType(&t.into().into(), count)) }
    |                                     ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateEnumerationType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:956:32
    |
956 |             Self::ref_from_raw(BNCreateEnumerationType(
    |                                ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateStructureType` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:966:37
    |
966 |         unsafe { Self::ref_from_raw(BNCreateStructureType(structure.handle)) }
    |                                     ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedTypeReference` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:973:32
    |
973 |             Self::ref_from_raw(BNCreateNamedTypeReference(
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedTypeReferenceFromTypeAndId` in this scope
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:987:32
    |
987 |             Self::ref_from_raw(BNCreateNamedTypeReferenceFromTypeAndId(
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<Type>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1023:45
     |
1023 |                 type_: parameter.t.contents.handle,
     |                                             ^^^^^^ unknown field

error[E0433]: failed to resolve: use of undeclared type `BNNameType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1052:17
     |
1052 |                 BNNameType::NoNameType,
     |                 ^^^^^^^^^^ use of undeclared type `BNNameType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFunctionType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1040:51
     |
1040 |             Self::ref_from_raw(BNNewTypeReference(BNCreateFunctionType(
     |                                                   ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewTypeReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1040:32
     |
1040 |             Self::ref_from_raw(BNNewTypeReference(BNCreateFunctionType(
     |                                ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<Type>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1095:45
     |
1095 |                 type_: parameter.t.contents.handle,
     |                                             ^^^^^^ unknown field

error[E0433]: failed to resolve: use of undeclared type `BNNameType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1126:17
     |
1126 |                 BNNameType::NoNameType,
     |                 ^^^^^^^^^^ use of undeclared type `BNNameType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateFunctionType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1114:32
     |
1114 |             Self::ref_from_raw(BNCreateFunctionType(
     |                                ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1136:32
     |
1136 |             Self::ref_from_raw(BNCreatePointerType(
     |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1153:32
     |
1153 |             Self::ref_from_raw(BNCreatePointerType(
     |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerTypeOfWidth` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1173:32
     |
1173 |             Self::ref_from_raw(BNCreatePointerTypeOfWidth(
     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreatePointerType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1193:32
     |
1193 |             Self::ref_from_raw(BNCreatePointerType(
     |                                ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGenerateAutoDemangledTypeId` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1205:34
     |
1205 |         unsafe { BnStr::from_raw(BNGenerateAutoDemangledTypeId(&mut name.0)) }
     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0433]: failed to resolve: use of undeclared type `BNTokenEscapingType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1215:17
     |
1215 |                 BNTokenEscapingType::NoTokenEscapingType,
     |                 ^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNTokenEscapingType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeString` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1212:32
     |
1212 |             BnString::from_raw(BNGetTypeString(
     |                                ^^^^^^^^^^^^^^^ not found in this scope

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1223:42
     |
1223 |         Mutex::new(BinaryView::from_data(&FileMetadata::new(), &[]).ok());
     |                    --------------------- ^^^^^^^^^^^^^^^^^^^^ expected `&FileMetadata`, found `&Ref<FileMetadata>`
     |                    |
     |                    arguments to this function are incorrect
     |
     = note: expected reference `&FileMetadata`
                found reference `&rc::Ref<FileMetadata>`
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1328:12
     |
1328 |     pub fn from_data(meta: &FileMetadata, data: &[u8]) -> Result<Ref<Self>> {
     |            ^^^^^^^^^ -------------------

error[E0609]: no field `handle` on type `&rc::Ref<BinaryView>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1231:72
     |
1231 |                 let container = unsafe { BNGetAnalysisTypeContainer(bv.handle) };
     |                                                                        ^^^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetAnalysisTypeContainer` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1231:42
     |
1231 |                 let container = unsafe { BNGetAnalysisTypeContainer(bv.handle) };
     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0433]: failed to resolve: use of undeclared type `BNTokenEscapingType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1239:25
     |
1239 |                         BNTokenEscapingType::NoTokenEscapingType,
     |                         ^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNTokenEscapingType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeLines` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1233:21
     |
1233 |                     BNGetTypeLines(
     |                     ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeContainer` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1244:21
     |
1244 |                     BNFreeTypeContainer(container);
     |                     ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeDefinitionLineList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1270:21
     |
1270 |                     BNFreeTypeDefinitionLineList(lines, count);
     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNTypesEqual` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1281:18
     |
1281 |         unsafe { BNTypesEqual(self.handle, other.handle) }
     |                  ^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewTypeReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1298:28
     |
1298 |         Self::ref_from_raw(BNNewTypeReference(handle.handle))
     |                            ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1302:9
     |
1302 |         BNFreeType(handle.handle);
     |         ^^^^^^^^^^ not found in this scope

error[E0433]: failed to resolve: use of undeclared type `BNVariableSourceType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1337:41
     |
1337 |             if member.location.type_ == BNVariableSourceType::RegisterVariableSourceType {
     |                                         ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNVariableSourceType`

error[E0433]: failed to resolve: use of undeclared type `BNVariableSourceType`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1339:48
     |
1339 |             } else if member.location.type_ == BNVariableSourceType::StackVariableSourceType {
     |                                                ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNVariableSourceType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewTypeReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1350:45
     |
1350 |                 unsafe { Type::ref_from_raw(BNNewTypeReference(member.type_)) },
     |                                             ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeVariableNameAndTypeList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1450:9
     |
1450 |         BNFreeVariableNameAndTypeList(raw, count)
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateEnumerationBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1504:30
     |
1504 |             handle: unsafe { BNCreateEnumerationBuilder() },
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFinalizeEnumerationBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1513:44
     |
1513 |         unsafe { Enumeration::ref_from_raw(BNFinalizeEnumerationBuilder(self.handle)) }
     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddEnumerationBuilderMember` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1519:13
     |
1519 |             BNAddEnumerationBuilderMember(self.handle, name.as_ref().as_ptr() as _);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddEnumerationBuilderMemberWithValue` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1527:13
     |
1527 |             BNAddEnumerationBuilderMemberWithValue(self.handle, name.as_ref().as_ptr() as _, value);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNReplaceEnumerationBuilderMember` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1535:13
     |
1535 |             BNReplaceEnumerationBuilderMember(self.handle, id, name.as_ref().as_ptr() as _, value);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNRemoveEnumerationBuilderMember` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1542:13
     |
1542 |             BNRemoveEnumerationBuilderMember(self.handle, id);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetEnumerationBuilderMembers` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1551:31
     |
1551 |             let members_raw = BNGetEnumerationBuilderMembers(self.handle, &mut count);
     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeEnumerationMemberList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1558:13
     |
1558 |             BNFreeEnumerationMemberList(members_raw, count);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateEnumerationBuilderFromEnumeration` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1574:28
     |
1574 |             Self::from_raw(BNCreateEnumerationBuilderFromEnumeration(
     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeEnumerationBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1583:18
     |
1583 |         unsafe { BNFreeEnumerationBuilder(self.handle) };
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetEnumerationMembers` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1608:31
     |
1608 |             let members_raw = BNGetEnumerationMembers(self.handle, &mut count);
     |                               ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeEnumerationMemberList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1615:13
     |
1615 |             BNFreeEnumerationMemberList(members_raw, count);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewEnumerationReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1624:28
     |
1624 |         Self::ref_from_raw(BNNewEnumerationReference(handle.handle))
     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeEnumeration` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1628:9
     |
1628 |         BNFreeEnumeration(handle.handle);
     |         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateStructureBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1676:30
     |
1676 |             handle: unsafe { BNCreateStructureBuilder() },
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFinalizeStructureBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1687:42
     |
1687 |         unsafe { Structure::ref_from_raw(BNFinalizeStructureBuilder(self.handle)) }
     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderWidth` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1694:13
     |
1694 |             BNSetStructureBuilderWidth(self.handle, width);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderAlignment` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1702:13
     |
1702 |             BNSetStructureBuilderAlignment(self.handle, alignment);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderPacked` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1710:13
     |
1710 |             BNSetStructureBuilderPacked(self.handle, packed);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1717:18
     |
1717 |         unsafe { BNSetStructureBuilderType(self.handle, t) };
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderPointerOffset` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1722:18
     |
1722 |         unsafe { BNSetStructureBuilderPointerOffset(self.handle, offset) };
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetStructureBuilderPropagatesDataVariableReferences` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1727:18
     |
1727 |         unsafe { BNSetStructureBuilderPropagatesDataVariableReferences(self.handle, does) };
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0609]: no field `handle` on type `rc::Ref<NamedTypeReference>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1735:32
     |
1735 |                 type_: base.ty.handle,
     |                                ^^^^^^ unknown field

error[E0425]: cannot find function, tuple struct or tuple variant `BNSetBaseStructuresForStructureBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1742:13
     |
1742 |             BNSetBaseStructuresForStructureBuilder(
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddStructureBuilderMember` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1761:13
     |
1761 |             BNAddStructureBuilderMember(
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `clone` exists for struct `Conf<Ref<Type>>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1774:28
     |
59   | pub struct Conf<T> {
     | ------------------ method `clone` not found for this struct because it doesn't satisfy `Conf<rc::Ref<Type>>: Clone`
...
1774 |         let ty = member.ty.clone();
     |                            ^^^^^ method cannot be called on `Conf<Ref<Type>>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- doesn't satisfy `rc::Ref<Type>: Clone`
     |
note: trait bound `rc::Ref<Type>: Clone` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:208:9
     |
208  | impl<T: Clone> Clone for Conf<T> {
     |         ^^^^^  -----     -------
     |         |
     |         unsatisfied trait bound introduced here
help: consider annotating `rc::Ref<Type>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0425]: cannot find function, tuple struct or tuple variant `BNAddStructureBuilderMemberAtOffset` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1797:13
     |
1797 |             BNAddStructureBuilderMemberAtOffset(
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureBuilderWidth` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1824:18
     |
1824 |         unsafe { BNGetStructureBuilderWidth(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureBuilderAlignment` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1828:18
     |
1828 |         unsafe { BNGetStructureBuilderAlignment(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNIsStructureBuilderPacked` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1832:18
     |
1832 |         unsafe { BNIsStructureBuilderPacked(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureBuilderType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1836:18
     |
1836 |         unsafe { BNGetStructureBuilderType(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureBuilderPointerOffset` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1840:18
     |
1840 |         unsafe { BNGetStructureBuilderPointerOffset(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNStructureBuilderPropagatesDataVariableReferences` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1844:18
     |
1844 |         unsafe { BNStructureBuilderPropagatesDataVariableReferences(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetBaseStructuresForStructureBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1849:30
     |
1849 |         let bases = unsafe { BNGetBaseStructuresForStructureBuilder(self.handle, &mut count) };
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeBaseStructureList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1861:17
     |
1861 |                 BNFreeBaseStructureList(bases, count);
     |                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateStructureBuilderFromStructure` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1873:33
     |
1873 |         unsafe { Self::from_raw(BNCreateStructureBuilderFromStructure(structure.handle)) }
     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0277]: `Vec<StructureMember>` is not an iterator
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1880:18
     |
1880 |         for m in members {
     |                  ^^^^^^^ `Vec<StructureMember>` is not an iterator; try calling `.into_iter()` or `.iter()`
     |
     = help: the trait `IntoIterator` is not implemented for `Vec<StructureMember>`
     = help: the following other types implement trait `IntoIterator`:
               &'a Vec<T, A>
               &'a mut Vec<T, A>
               Vec<T, A>

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeStructureBuilder` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1895:18
     |
1895 |         unsafe { BNFreeStructureBuilder(self.handle) };
     |                  ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureWidth` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1929:18
     |
1929 |         unsafe { BNGetStructureWidth(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1933:18
     |
1933 |         unsafe { BNGetStructureType(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetStructureMembers` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1940:17
     |
1940 |                 BNGetStructureMembers(self.handle, &mut count);
     |                 ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: `Map<Range<usize>, {closure@types.rs:1947:22}>` is not an iterator
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1948:18
     |
1946 |               let result = (0..count)
     |  __________________________-
1947 | |                 .map(|i| StructureMember::from_raw(members[i]))
1948 | |                 .collect();
     | |                 -^^^^^^^ `Map<Range<usize>, {closure@types.rs:1947:22}>` is not an iterator
     | |_________________|
     |
     |
     = note: the full type name has been written to 'D:\other\source\themida-spotter-bn-main\themida-spotter-bn-main\target\release\deps\binaryninja-34525ac1953452bd.long-type-359488307828425712.txt'
     = note: consider using `--verbose` to print the full type name to the console
     = note: the full name for the type has been written to 'D:\other\source\themida-spotter-bn-main\themida-spotter-bn-main\target\release\deps\binaryninja-34525ac1953452bd.long-type-359488307828425712.txt'
     = note: consider using `--verbose` to print the full type name to the console
     = note: the following trait bounds were not satisfied:
             `std::iter::Map<std::ops::Range<usize>, {closure@C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1947:22: 1947:25}>: Iterator`
             which is required by `&mut std::iter::Map<std::ops::Range<usize>, {closure@C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1947:22: 1947:25}>: Iterator`

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeStructureMemberList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1950:13
     |
1950 |             BNFreeStructureMemberList(members_raw, count);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetBaseStructuresForStructure` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1958:30
     |
1958 |         let bases = unsafe { BNGetBaseStructuresForStructure(self.handle, &mut count) };
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeBaseStructureList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1970:17
     |
1970 |                 BNFreeBaseStructureList(bases, count);
     |                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0277]: `Vec<StructureMember>` is not an iterator
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1984:27
     |
1984 |             for member in members {
     |                           ^^^^^^^ `Vec<StructureMember>` is not an iterator; try calling `.into_iter()` or `.iter()`
     |
     = help: the trait `IntoIterator` is not implemented for `Vec<StructureMember>`
     = help: the following other types implement trait `IntoIterator`:
               &'a Vec<T, A>
               &'a mut Vec<T, A>
               Vec<T, A>

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewStructureReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1994:33
     |
1994 |         Ref::new(Self::from_raw(BNNewStructureReference(handle.handle)))
     |                                 ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeStructure` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:1998:9
     |
1998 |         BNFreeStructure(handle.handle);
     |         ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2132:25
     |
2132 |                 handle: BNCreateNamedType(type_class, ptr::null() as *const _, &mut name.0),
     |                         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNCreateNamedType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2151:25
     |
2151 |                 handle: BNCreateNamedType(type_class, type_id.as_ref().as_ptr() as _, &mut name.0),
     |                         ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeReferenceName` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2157:51
     |
2157 |         let named_ref: BNQualifiedName = unsafe { BNGetTypeReferenceName(self.handle) };
     |                                                   ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeReferenceId` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2162:37
     |
2162 |         unsafe { BnString::from_raw(BNGetTypeReferenceId(self.handle)) }
     |                                     ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetTypeReferenceClass` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2166:18
     |
2166 |         unsafe { BNGetTypeReferenceClass(self.handle) }
     |                  ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `get_type_by_id` exists for reference `&BinaryView`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2172:29
     |
2172 |         if let Some(t) = bv.get_type_by_id(self.id()) {
     |                             ^^^^^^^^^^^^^^
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1289:1
     |
1289 | pub struct BinaryView {
     | --------------------- doesn't satisfy `BinaryView: BinaryViewExt` or `BinaryView: Sized`
     |
note: the following trait bounds were not satisfied:
      `&BinaryView: BinaryViewBase`
      `BinaryView: Sized`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:6
     |
1286 | impl<T: BinaryViewBase> BinaryViewExt for T {}
     |      ^  ^^^^^^^^^^^^^^  -------------     -
     |      |  |
     |      |  unsatisfied trait bound introduced here
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
note: `BinaryViewExt` defines an item `get_type_by_id`, perhaps you need to implement it
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:161:1
     |
161  | pub trait BinaryViewExt: BinaryViewBase {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:8
     |
1286 | impl<T: ?Sized + BinaryViewBase> BinaryViewExt for T {}
     |         ++++++++
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:8
     |
1286 | impl<T: ?Sized + BinaryViewBase> BinaryViewExt for T {}
     |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNNewNamedTypeReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2206:28
     |
2206 |         Self::ref_from_raw(BNNewNamedTypeReference(handle.handle))
     |                            ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeNamedTypeReference` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2210:9
     |
2210 |         BNFreeNamedTypeReference(handle.handle)
     |         ^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAllocStringList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2269:28
     |
2269 |             name: unsafe { BNAllocStringList(list.as_mut_ptr(), 1) },
     |                            ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNAllocStringList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2289:28
     |
2289 |             name: unsafe { BNAllocStringList(list.as_mut_ptr(), list.len()) },
     |                            ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeQualifiedName` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2334:13
     |
2224 | pub struct QualifiedName(pub(crate) BNQualifiedName);
     | ----------------------------------------------------- similarly named tuple struct `QualifiedName` defined here
...
2334 |             BNFreeQualifiedName(&mut self.0);
     |             ^^^^^^^^^^^^^^^^^^^ help: a tuple struct with a similar name exists: `QualifiedName`

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeNameList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2345:9
     |
2345 |         BNFreeTypeNameList(raw, count);
     |         ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeQualifiedNameAndType` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2376:13
     |
2361 | pub struct QualifiedNameAndType(pub(crate) BNQualifiedNameAndType);
     | ------------------------------------------------------------------- similarly named tuple struct `QualifiedNameAndType` defined here
...
2376 |             BNFreeQualifiedNameAndType(&mut self.0);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a tuple struct with a similar name exists: `QualifiedNameAndType`

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeAndNameList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2387:9
     |
2387 |         BNFreeTypeAndNameList(raw, count);
     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeQualifiedNameTypeAndId` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2422:13
     |
2403 | pub struct QualifiedNameTypeAndId(pub(crate) BNQualifiedNameTypeAndId);
     | ----------------------------------------------------------------------- similarly named tuple struct `QualifiedNameTypeAndId` defined here
...
2422 |             BNFreeQualifiedNameTypeAndId(&mut self.0);
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a tuple struct with a similar name exists: `QualifiedNameTypeAndId`

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeTypeIdList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2433:9
     |
2433 |         BNFreeTypeIdList(raw, count);
     |         ^^^^^^^^^^^^^^^^ not found in this scope

error[E0308]: mismatched types
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2467:26
     |
2467 |             t: Conf::new(t.clone(), confidence),
     |                --------- ^^^^^^^^^ expected `Ref<Type>`, found `&Ref<Type>`
     |                |
     |                arguments to this function are incorrect
     |
     = note: expected struct `rc::Ref<_>`
             found reference `&rc::Ref<_>`
note: `rc::Ref<Type>` does not implement `Clone`, so `&rc::Ref<Type>` was cloned instead
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2467:26
     |
2467 |             t: Conf::new(t.clone(), confidence),
     |                          ^
     = help: `Clone` is not implemented because the trait bound `{type error}: Sized` is not satisfied
note: associated function defined here
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:72:12
     |
72   |     pub fn new(contents: T, confidence: u8) -> Self {
     |            ^^^ -----------
help: consider annotating `rc::Ref<Type>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0599]: the method `clone` exists for struct `Conf<Ref<Type>>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2472:24
     |
59   | pub struct Conf<T> {
     | ------------------ method `clone` not found for this struct because it doesn't satisfy `Conf<rc::Ref<Type>>: Clone`
...
2472 |         let t = self.t.clone();
     |                        ^^^^^ method cannot be called on `Conf<Ref<Type>>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- doesn't satisfy `rc::Ref<Type>: Clone`
     |
note: trait bound `rc::Ref<Type>: Clone` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:208:9
     |
208  | impl<T: Clone> Clone for Conf<T> {
     |         ^^^^^  -----     -------
     |         |
     |         unsatisfied trait bound introduced here
help: consider annotating `rc::Ref<Type>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0599]: the method `clone` exists for struct `Conf<Ref<Type>>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2483:16
     |
59   | pub struct Conf<T> {
     | ------------------ method `clone` not found for this struct because it doesn't satisfy `Conf<rc::Ref<Type>>: Clone`
...
2483 |         self.t.clone()
     |                ^^^^^ method cannot be called on `Conf<Ref<Type>>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- doesn't satisfy `rc::Ref<Type>: Clone`
     |
note: trait bound `rc::Ref<Type>: Clone` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:208:9
     |
208  | impl<T: Clone> Clone for Conf<T> {
     |         ^^^^^  -----     -------
     |         |
     |         unsatisfied trait bound introduced here
help: consider annotating `rc::Ref<Type>` with `#[derive(Clone)]`
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   + #[derive(Clone)]
47   | pub struct Ref<T: RefCountable> {
     |

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeNameAndTypeList` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2494:9
     |
2494 |         BNFreeNameAndTypeList(raw, count);
     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `clone` exists for struct `Ref<Type>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2527:35
     |
701  | pub struct Type {
     | --------------- doesn't satisfy `Type: Sized`
...
2527 |         Conf::new(self.t.contents.clone(), self.t.confidence)
     |                                   ^^^^^ method cannot be called on `Ref<Type>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `rc::Ref<Type>: Clone`
     |
note: trait bound `Type: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0599]: the method `symbol_by_address` exists for reference `&BinaryView`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2531:12
     |
2531 |         bv.symbol_by_address(self.address).ok()
     |            ^^^^^^^^^^^^^^^^^ method cannot be called on `&BinaryView` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1289:1
     |
1289 | pub struct BinaryView {
     | --------------------- doesn't satisfy `BinaryView: BinaryViewExt` or `BinaryView: Sized`
     |
note: the following trait bounds were not satisfied:
      `&BinaryView: BinaryViewBase`
      `BinaryView: Sized`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:6
     |
1286 | impl<T: BinaryViewBase> BinaryViewExt for T {}
     |      ^  ^^^^^^^^^^^^^^  -------------     -
     |      |  |
     |      |  unsatisfied trait bound introduced here
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
note: `BinaryViewExt` defines an item `symbol_by_address`, perhaps you need to implement it
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:161:1
     |
161  | pub trait BinaryViewExt: BinaryViewBase {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:8
     |
1286 | impl<T: ?Sized + BinaryViewBase> BinaryViewExt for T {}
     |         ++++++++
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\binaryview.rs:1286:8
     |
1286 | impl<T: ?Sized + BinaryViewBase> BinaryViewExt for T {}
     |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNFreeDataVariables` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2541:9
     |
2541 |         BNFreeDataVariables(raw, count);
     |         ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0599]: the method `clone` exists for struct `Ref<Type>`, but its trait bounds were not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2585:35
     |
701  | pub struct Type {
     | --------------- doesn't satisfy `Type: Sized`
...
2585 |         Conf::new(self.t.contents.clone(), self.t.confidence)
     |                                   ^^^^^ method cannot be called on `Ref<Type>` due to unsatisfied trait bounds
     |
    ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
     |
46   | pub struct Ref<T: RefCountable> {
     | ------------------------------- method `clone` not found for this struct because it doesn't satisfy `rc::Ref<Type>: Clone`
     |
note: trait bound `Type: Sized` was not satisfied
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:6
     |
99   | impl<T: RefCountable> Clone for Ref<T> {
     |      ^                -----     ------
     |      |
     |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
    --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
     = help: items from traits can only be used if the trait is implemented and in scope
     = note: the following trait defines an item `clone`, perhaps you need to implement it:
             candidate #1: `Clone`
help: consider relaxing the type parameter's implicit `Sized` bound
    -->  C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:99:8
     |
99   | impl<T: ?Sized + RefCountable> Clone for Ref<T> {
     |         ++++++++

error[E0425]: cannot find function, tuple struct or tuple variant `BNGetArchitectureIntrinsicName` in this scope
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2604:33
     |
2604 |         let name_ptr = unsafe { BNGetArchitectureIntrinsicName(self.arch.0, self.index) };
     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0369]: binary operation `==` cannot be applied to type `rc::Ref<function::Function>`
    --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\types.rs:2734:5
     |
2732 | #[derive(Clone, Debug, PartialEq, Hash)]
     |                        --------- in this derive macro expansion
2733 | pub struct ConstantData {
2734 |     function: Ref<Function>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0609]: no field `handle` on type `rc::Ref<metadata::Metadata>`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\lib.rs:208:22
    |
208 |             metadata.handle,
    |                      ^^^^^^ unknown field

error[E0599]: the method `as_ref` exists for struct `Ref<Metadata>`, but its trait bounds were not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\lib.rs:245:32
    |
245 |             options_or_default.as_ref().handle,
    |                                ^^^^^^ method cannot be called on `Ref<Metadata>` due to unsatisfied trait bounds
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\metadata.rs:12:1
    |
12  | pub struct Metadata {
    | ------------------- doesn't satisfy `metadata::Metadata: Sized`
    |
   ::: C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:46:1
    |
46  | pub struct Ref<T: RefCountable> {
    | ------------------------------- method `as_ref` not found for this struct because it doesn't satisfy `_: AsRef<Metadata>`
    |
note: trait bound `metadata::Metadata: Sized` was not satisfied
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:6
    |
65  | impl<T: RefCountable> AsRef<T> for Ref<T> {
    |      ^                --------     ------
    |      |
    |      unsatisfied trait bound introduced here
note: the trait `Sized` must be implemented
   --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\marker.rs:145:1
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `as_ref`, perhaps you need to implement it:
            candidate #1: `AsRef`
help: consider relaxing the type parameter's implicit `Sized` bound
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\rc.rs:65:8
    |
65  | impl<T: ?Sized + RefCountable> AsRef<T> for Ref<T> {
    |         ++++++++

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:500:23
    |
500 |                     | BNFormInputFieldType::DirectoryNameFormField => {
    |                       ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:499:23
    |
499 |                     | BNFormInputFieldType::SaveFileNameFormField
    |                       ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:39:13
   |
39 |             BNRelocationType::StandardRelocationType => RelocationType::StandardRelocationType,
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:34:13
   |
34 |             BNRelocationType::ELFGlobalRelocationType => RelocationType::ELFGlobalRelocationType,
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:512:21
    |
512 |                     BNFormInputFieldType::ChoiceFormField => {
    |                     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:41:13
   |
41 |             BNRelocationType::UnhandledRelocation => RelocationType::UnhandledRelocation,
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:506:21
    |
506 |                     BNFormInputFieldType::IntegerFormField => {
    |                     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:498:23
    |
498 |                     | BNFormInputFieldType::OpenFileNameFormField
    |                       ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:496:21
    |
496 |                     BNFormInputFieldType::TextLineFormField
    |                     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:497:23
    |
497 |                     | BNFormInputFieldType::MultilineTextFormField
    |                       ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:36:13
   |
36 |             BNRelocationType::ELFJumpSlotRelocationType => {
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:493:21
    |
493 |                     BNFormInputFieldType::LabelFormField
    |                     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:509:21
    |
509 |                     BNFormInputFieldType::AddressFormField => {
    |                     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNFormInputFieldType`
   --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\interaction.rs:494:23
    |
494 |                     | BNFormInputFieldType::SeparatorFormField => FormResponses::None,
    |                       ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `BNFormInputFieldType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:40:13
   |
40 |             BNRelocationType::IgnoredRelocation => RelocationType::IgnoredRelocation,
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

error[E0433]: failed to resolve: use of undeclared type `BNRelocationType`
  --> C:\Users\Stingered\.cargo\git\checkouts\binaryninja-api-3c86176688a74ccb\b7c8e9b\rust\src\relocation.rs:35:13
   |
35 |             BNRelocationType::ELFCopyRelocationType => RelocationType::ELFCopyRelocationType,
   |             ^^^^^^^^^^^^^^^^
   |             |
   |             use of undeclared type `BNRelocationType`
   |             help: an enum with a similar name exists: `RelocationType`

Some errors have detailed explanations: E0277, E0308, E0369, E0408, E0412, E0422, E0425, E0432, E0433...
For more information about an error, try `rustc --explain E0277`.
error: could not compile `binaryninja` (lib) due to 2022 previous errors 

 

Edited by Teddy Rogers
I have added a spoiler tag. These kinds of reports would be better attached as a .txt file and summerised in the post...
  • Like 2
Link to comment
Stuttered

Yes, I saw that and why I was looking for the missing files.  As I said, using CARGO is completely new to me.  I grabbed the files from the D/L site.  libclang.dll is there, but only "clang_rt.asan_dynamic-x86_64.dll" is part of the D/L (with corresponding. LIBs).  Do you think I could just rename to clang.dll (along with the .LIB)? It almost sounds too easy, but maybe worth a try?

  • Like 1
Link to comment
Stuttered
Posted (edited)

Seems this code is not in a working state, as of yet.  Link below:

themida-spotter-bn

 

 

Error.txt

Edited by Teddy Rogers
Adding these sized error reports in a post is rediculous. Please attach as a text file...
  • Like 1
Link to comment
  • 2 weeks later...
whoknows

Here's how @draww managed to compile it :

  1. install rustup-init
  2. get clang library 17.x or above [link]
  3. setup LIBCLANG_PATH environment variable to point "clang-17.x.x-windows-amd64-msvc17-msvcrt\bin" path
  4. on command prompt
git clone https://github.com/ergrelet/themida-spotter-bn && cd themida-spotter-bn
cargo update
cargo build --release

cargo update makes the difference here

  • Like 1
  • Haha 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...