error[E0277]: the trait bound `Object: Search` is not satisfied --> tests/ui/unimplemented_interface.rs:20:58 | 20 | let _published = PublishedObject::new(Object).expose(&search).unwrap(); | ------ ^^^^^^^ unsatisfied trait bound | | | required by a bound introduced by this call | help: the trait `Search` is not implemented for `Object` --> tests/ui/unimplemented_interface.rs:9:1 | 9 | struct Object; | ^^^^^^^^^^^^^ help: this trait has no implementations, consider adding one --> tests/ui/unimplemented_interface.rs:5:1 | 5 | pub trait Search { | ^^^^^^^^^^^^^^^^ note: required for `SearchDefinition` to implement `InterfaceImplementation` --> tests/ui/unimplemented_interface.rs:4:1 | 4 | #[interface] | ^^^^^^^^^^^^ 5 | pub trait Search { | ^^^^^^ note: required by a bound in `PublishedObject::::expose` --> src/lib.rs | | pub fn expose(mut self, interface: &RegisteredInterface) -> Result | ------ required by a bound in this associated function | where | D: InterfaceImplementation, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `PublishedObject::::expose` = note: this error originates in the attribute macro `interface` (in Nightly builds, run with -Z macro-backtrace for more info)