Jump to content
View in the app

A better way to browse. Learn more.

Tuts 4 You

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

Posted

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...

libclang is part of the LLVM package. You can find that, and precompiled binaries/libs for it, here: https://releases.llvm.org/download.html and more specifically their GitHub release page here: https://github.com/llvm/llvm-project/releases

Also, as the error you posted states, you are missing the 'LIBCLANG_PATH' environment variable so it knows where to locate the needed files/libs. 

  • Author

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?

  • Author

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...

  • 2 weeks later...

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

Create an account or sign in to comment

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.