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` | = help: the trait `LowerReturn` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: required for `Arc` to implement `uniffi::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` | = 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` | = 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` | = 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 `Foo: FfiConverterArc` is not satisfied --> tests/ui/proc_macro_arc.rs:10:1 | 10 | #[uniffi::export] | ^^^^^^^^^^^^^^^^^ the trait `FfiConverterArc` is not implemented for `Foo` | = help: the trait `FfiConverter` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = 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:20:5 | 20 | #[uniffi::export] | ^^^^^^^^^^^^^^^^^ the trait `FfiConverterArc` is not implemented for `child::Foo` | = help: the trait `FfiConverter` is implemented for `Arc` = note: required for `Arc` to implement `FfiConverter` = note: this error originates in the attribute macro `uniffi::export` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0004]: non-exhaustive patterns: type `&child::Foo` is non-empty --> tests/ui/proc_macro_arc.rs:22:15 | 22 | match &*foo {} | ^^^^^ | note: `child::Foo` defined here --> tests/ui/proc_macro_arc.rs:18:10 | 18 | enum Foo {} | ^^^ = note: the matched value is of type `&child::Foo` = note: references are always considered inhabited help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown | 22 ~ match &*foo { 23 + _ => todo!(), 24 ~ } |