rust/tests/run-make/pgo-indirect-call-promotion/main.rs

14 lines
475 B
Rust

extern crate interesting;
fn main() {
// function pointer case
let fns: Vec<_> =
std::iter::repeat(interesting::function_called_always as fn()).take(1000).collect();
interesting::call_a_bunch_of_functions(&fns[..]);
// Trait object case
let trait_objects = vec![0u32; 1000];
let trait_objects: Vec<_> = trait_objects.iter().map(|x| x as &dyn interesting::Foo).collect();
interesting::call_a_bunch_of_trait_methods(&trait_objects[..]);
}