"void f1(std::optional"; "void f2(std::optional"; "void f4(std::optional x) const noexcept;"; "static void f5(std::optional x, std::optional y) noexcept;"; "void Foo_f6(struct CRustOptionCRustStrView x);"; "static void f6(std::optional x) noexcept;"; r#"template inline void FooWrapper::f6(std::optional x) noexcept { struct CRustOptionCRustStrView a0; if (!!x) { a0.val.data = CRustStrView{ (*x).data(), (*x).size() }; a0.is_some = 1; } else { a0.is_some = 0; } Foo_f6(std::move(a0)); }"#; "void f3(std::optional a0) noexcept;"; r#"template inline void FooWrapper::f3(std::optional a0) noexcept { struct CRustOptionu32 a00; if (!!a0) { a00.val.data = static_cast((*a0)); a00.is_some = 1; } else { a00.is_some = 0; } Foo_f3(this->self_, std::move(a00)); }"#; "void Foo_f3(FooOpaque * const self, struct CRustOptionu32 a0);"; "static void f7(const Boo * x) noexcept;"; r#"template inline void FooWrapper::f7(const Boo * x) noexcept { struct CRustClassOptBoo a0 = CRustClassOptBoo { (x != nullptr) ? static_cast(* x) : nullptr }; Foo_f7(std::move(a0)); }"#; "void Foo_f7(struct CRustClassOptBoo x);";