The problem is indeed a double definition. Within the library the same function is defined twice (window_window in this case).
More specifically it was defined within a C library as shown above, but also within the rust project as follows:
#[no_mangle]
unsafe extern "C" fn window_window(handle: *const ()) -> bool {
println!("THIS IS NOT GOOD");
/* snip */
}
The #[no_mangle]
attribute makes it so the name is preserved in the binary, hence there are two definitions.