Skip to content

[BUG][Rust] Invalid Rust code generated #12464

@frewsxcv

Description

@frewsxcv

https://api.inaturalist.org/v1/swagger.json

error[E0599]: the method `join` exists for struct `Vec<i32>`, but its trait bounds were not satisfied
    --> src/apis/identifications_api.rs:1260:105
     |
1260 |     let local_var_uri_str = format!("{}/identifications/{id}", local_var_configuration.base_path, id=id.join(",").as_ref());
     |                                                                                                         ^^^^ method cannot be called on `Vec<i32>` due to unsatisfied trait bounds
     |
     = note: the following trait bounds were not satisfied:
             `[i32]: Join<_>`

error[E0599]: the method `join` exists for struct `Vec<i32>`, but its trait bounds were not satisfied
    --> src/apis/observations_api.rs:2394:102
     |
2394 |     let local_var_uri_str = format!("{}/observations/{id}", local_var_configuration.base_path, id=id.join(",").as_ref());
     |                                                                                                      ^^^^ method cannot be called on `Vec<i32>` due to unsatisfied trait bounds
     |
     = note: the following trait bounds were not satisfied:
             `[i32]: Join<_>`

warning: variable does not need to be mutable
  --> src/apis/photos_api.rs:57:9
   |
57 |     let mut local_var_form = reqwest::multipart::Form::new();
   |         ----^^^^^^^^^^^^^^
   |         |
   |         help: remove this `mut`
   |
   = note: `#[warn(unused_mut)]` on by default

error[E0283]: type annotations needed
   --> src/apis/places_api.rs:126:106
    |
126 |     let local_var_uri_str = format!("{}/places/{id}", local_var_configuration.base_path, id=id.join(",").as_ref());
    |                                                                                             -------------^^^^^^--
    |                                                                                             |            |
    |                                                                                             |            cannot infer type for type parameter `T` declared on the trait `AsRef`
    |                                                                                             this method call resolves to `&T`
    |
    = note: multiple `impl`s satisfying `std::string::String: AsRef<_>` found in the following crates: `alloc`, `std`:
            - impl AsRef<OsStr> for std::string::String;
            - impl AsRef<Path> for std::string::String;
            - impl AsRef<[u8]> for std::string::String;
            - impl AsRef<str> for std::string::String;

error[E0283]: type annotations needed
   --> src/apis/projects_api.rs:520:108
    |
520 |     let local_var_uri_str = format!("{}/projects/{id}", local_var_configuration.base_path, id=id.join(",").as_ref());
    |                                                                                               -------------^^^^^^--
    |                                                                                               |            |
    |                                                                                               |            cannot infer type for type parameter `T` declared on the trait `AsRef`
    |                                                                                               this method call resolves to `&T`
    |
    = note: multiple `impl`s satisfying `std::string::String: AsRef<_>` found in the following crates: `alloc`, `std`:
            - impl AsRef<OsStr> for std::string::String;
            - impl AsRef<Path> for std::string::String;
            - impl AsRef<[u8]> for std::string::String;
            - impl AsRef<str> for std::string::String;

error[E0599]: the method `join` exists for struct `Vec<i32>`, but its trait bounds were not satisfied
   --> src/apis/taxa_api.rs:274:94
    |
274 |     let local_var_uri_str = format!("{}/taxa/{id}", local_var_configuration.base_path, id=id.join(",").as_ref());
    |                                                                                              ^^^^ method cannot be called on `Vec<i32>` due to unsatisfied trait bounds
    |
    = note: the following trait bounds were not satisfied:
            `[i32]: Join<_>`

The problem seems to be this line:

let local_var_uri_str = format!("{}{{{path}}}", local_var_configuration.base_path{{#pathParams}}, {{{baseName}}}={{#isString}}crate::apis::urlencode({{/isString}}{{{paramName}}}{{^required}}.unwrap(){{/required}}{{#required}}{{#isNullable}}.unwrap(){{/isNullable}}{{/required}}{{#isArray}}.join(",").as_ref(){{/isArray}}{{#isString}}){{/isString}}{{/pathParams}});

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions