error[E0277]: the trait bound `Foo: FfiConverterArc` is not satisfied --> tests/ui/proc_macro_arc.rs:10:1 | 10 | #[uniffi::export] | ^^^^^^^^^^^^^^^^^ the trait `FfiConverterArc` is not implemented for `Foo`, which is required by `Arc: LowerReturn` | = help: the trait `LowerReturn` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: required for `Arc` to implement `Lower` = note: required for `Arc` to implement `LowerReturn` = note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `Foo: FfiConverterArc` is not satisfied --> tests/ui/proc_macro_arc.rs:11:18 | 11 | fn make_foo() -> Arc { | ^^^^^^^^ the trait `FfiConverterArc` is not implemented for `Foo`, which is required by `Arc: uniffi::TypeId` | = help: the trait `uniffi::TypeId` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: required for `Arc` to implement `uniffi::TypeId` error[E0277]: the trait bound `child::Foo: FfiConverterArc` is not satisfied --> tests/ui/proc_macro_arc.rs:20:5 | 20 | #[uniffi::export] | ^^^^^^^^^^^^^^^^^ the trait `FfiConverterArc` is not implemented for `child::Foo`, which is required by `Arc: Lift` | = help: the trait `Lift` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: required for `Arc` to implement `Lift` = note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: the trait bound `child::Foo: FfiConverterArc` is not satisfied --> tests/ui/proc_macro_arc.rs:21:22 | 21 | fn take_foo(foo: Arc) { | ^^^^^^^^ the trait `FfiConverterArc` is not implemented for `child::Foo`, which is required by `Arc: uniffi::TypeId` | = help: the trait `uniffi::TypeId` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: required for `Arc` to implement `uniffi::TypeId`