bughelp wanted
描述
Thanks for your work on this useful library! Right now I'm using cxx::bridge to provide Elixir bindings for PyTorch via Rustler (https://github.com/andfoy/extorch). I'm trying to use a rust::Slice with std::shared_ptr<CrossTensor>, where CrossTensor is a C++ opaque type as follows:
/// Index a tensor using a list of tensors.
fn index(
tensor: &SharedPtr<CrossTensor>,
indices: &[&SharedPtr<CrossTensor>]
) -> Result<SharedPtr<CrossTensor>>;
Where index has the following signature:
std::shared_ptr<CrossTensor> index(
const std::shared_ptr<CrossTensor> &tensor,
rust::Slice<const std::shared_ptr<CrossTensor>&> indices);
When I try to compile the library, it seems that the code generator is producing a bridge signature with duplicate const keywords, which causes compilation errors:
::rust::repr::PtrLen cxxbridge1$index(const ::std::shared_ptr<::CrossTensor> &tensor, ::rust::Slice<const const ::std::shared_ptr<::CrossTensor> &> indices, ::std::shared_ptr<::CrossTensor> *return$) noexcept
I don't know if the &[&SharedPtr<CrossTensor>] declaration is malformed or if I should not use a slice in this case. I would appreciate any help with this issue.