Rust codegen creates incorrectly escaped parameter names
#1 222 ouverte le 11 oct. 2018
Métriques du dépôt
- Stars
- (26 243 stars)
- Métriques de merge PR
- (Merge moyen 9j 1h) (123 PRs mergées en 30 j)
Description
Description
Generating Rust APIs for Kubernetes or any other API using parameters names which match keywords generates invalid rust since the escaped parameters names are invalid.
The swagger file contains "continue" as a parameter. This gets escaped by the codegen to “_continue”. Unfortunately this fails to compile when used in a format macro:
error: invalid format string: invalid argument name `_continue`
--> kubernetes/src/client/mod.rs:21864:99
|
21864 | let query__continue = param__continue.map_or_else(String::new, |query| format!("continue={_continue}&", _continue=query.to_string()));
| ^^^^^^^^^ invalid argument name in format string
|
= note: argument names cannot start with an underscore
OpenAPI declaration file content or url
https://raw.githubusercontent.com/kubernetes/kubernetes/release-1.11/api/openapi-spec/swagger.json https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/swagger-spec/v1.json
Suggest a fix/enhancement
Could position, rather than parameter names, be used in the format string?