swagger-codegen icon indicating copy to clipboard operation
swagger-codegen copied to clipboard

In rust code generation trait objects should contain an explicit `dyn`

Open PatrickDekker98 opened this issue 1 year ago • 1 comments

Q&A (please complete the following information)

  • OS: Fedora 39
  • Browser: Firefox
  • Version:
  • Method of installation: docker
  • Swagger-Editor version: [e.g. 3.10.0]
  • Swagger/OpenAPI version: [Swagger 2.0, ]

Content & configuration

I will not share our yaml, as it can contain confidential information I am not allowed to share.

Describe the bug you're encountering

I generated a rust client and it contains a lot of warnings, it shows like this:

warning: trait objects without an explicit `dyn` are deprecated
   --> src/apis/client.rs:197:31
    |
197 |   pub fn tools_api(&self) -> &::apis::ToolsApi{
    |                               ^^^^^^^^^^^^^^^^
    |
    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
help: use `dyn`
    |
197 |   pub fn tools_api(&self) -> &dyn (::apis::ToolsApi){
    |                               +++++                +

To reproduce...

Steps to reproduce the behavior:

  1. Make a yaml with a circular reference within its models
  2. Generate a rust client
  3. Try to build
  4. See compiler error

Expected behavior

I expect the rust client generator to generate working code.

Additional context or thoughts

PatrickDekker98 avatar Apr 04 '24 13:04 PatrickDekker98

Hi @PatrickDekker98,

Transfering this issue to swagger-codegen repo.

char0n avatar Apr 24 '24 19:04 char0n