// This test was failing on Linux for a while due to #110393 somehow making
// the unused functions not instrumented, but it seems to be fine now.

// Validates coverage now works with optimizations
// compile-flags: -C opt-level=3

#![allow(unused_assignments, unused_variables)]

// aux-build:used_crate.rs
extern crate used_crate;

fn main() {
    used_crate::used_function();
    let some_vec = vec![1, 2, 3, 4];
    used_crate::used_only_from_bin_crate_generic_function(&some_vec);
    used_crate::used_only_from_bin_crate_generic_function("used from bin uses_crate.rs");
    used_crate::used_from_bin_crate_and_lib_crate_generic_function(some_vec);
    used_crate::used_with_same_type_from_bin_crate_and_lib_crate_generic_function("interesting?");
}