Will this compile, and why?trait Animal { fn name(&self) -> String; fn legs() -> u32; // no self } fn describe(a: &dyn Animal) -> String { a.name() }