You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Martin Tzvetanov Grigorov (Jira)" <ji...@apache.org> on 2021/09/14 12:32:00 UTC

[jira] [Comment Edited] (AVRO-3196) [Build] Clippy breaks with minimum and stable versions

    [ https://issues.apache.org/jira/browse/AVRO-3196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17414830#comment-17414830 ] 

Martin Tzvetanov Grigorov edited comment on AVRO-3196 at 9/14/21, 12:31 PM:
----------------------------------------------------------------------------

This is fixed some of those with AVRO-3200!


was (Author: mgrigorov):
This is fixed with AVRO-3200!

Sorry, I've missed this ticket!

> [Build] Clippy breaks with minimum and stable versions
> ------------------------------------------------------
>
>                 Key: AVRO-3196
>                 URL: https://issues.apache.org/jira/browse/AVRO-3196
>             Project: Apache Avro
>          Issue Type: New Feature
>            Reporter: Ryan Skraba
>            Priority: Major
>
> Our rust lint works correctly with 1.53, but it looks like we're testing with 1.48.0 (MSRV) and stable, which is currently 1.54.0.  Both of these are currently reporting errors.
> Using docker, this succeeds:
> {code:java}
> docker run -it --rm -v $(pwd):/opt/avro  -w /opt/avro/lang/rust \
>     -u $(id -u):$(id -g) \
>     -v /tmp/avro-cache/cargo:/opt/avro-cache -e CARGO_HOME=/opt/avro-cache \
>     rust:1.53-slim bash -c 'rustup component add clippy &&
>         cargo clippy --all-targets --all-features -- -Dclippy::all' {code}
> Building with rust:1.48-slim, we get this failure:
> {code:java}
>     Checking avro-rs v0.13.0 (/opt/avro/lang/rust)
> error: unknown clippy lint: clippy::nonstandard_macro_braces
>   --> src/error.rs:21:10
>    |
> 21 | #[derive(thiserror::Error, Debug)]
>    |          ^^^^^^^^^^^^^^^^
>    |
>    = note: `-D clippy::unknown-clippy-lints` implied by `-D clippy::all`
>    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unknown_clippy_lints
>    = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)error: aborting due to previous errorerror: could not compile `avro-rs` {code}
> Building with rust:1.54-slim, we get these failures:
> {code:java}
> info: downloading component 'clippy'
> info: installing component 'clippy'
>     Checking avro-rs v0.13.0 (/opt/avro/lang/rust)
> error: this expression borrows a reference (`&std::vec::Vec<(std::string::String, types::Value)>`) that is immediately dereferenced by the compiler
>    --> src/de.rs:456:83
>     |
> 456 |             Value::Record(ref fields) => visitor.visit_enum(EnumDeserializer::new(&fields)),
>     |                                                                                   ^^^^^^^ help: change this to: `fields`
>     |
>     = note: `-D clippy::needless-borrow` implied by `-D clippy::all`
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&std::string::String`) that is immediately dereferenced by the compiler
>    --> src/de.rs:458:92
>     |
> 458 |             Value::Enum(_index, ref field) => visitor.visit_enum(EnumUnitDeserializer::new(&field)),
>     |                                                                                            ^^^^^^ help: change this to: `field`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&types::Value`) that is immediately dereferenced by the compiler
>    --> src/de.rs:486:63
>     |
> 486 |             Some(item) => seed.deserialize(&Deserializer::new(&item)).map(Some),
>     |                                                               ^^^^^ help: change this to: `item`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this pattern creates a reference to a reference
>    --> src/de.rs:500:18
>     |
> 500 |             Some(ref key) => seed
>     |                  ^^^^^^^
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
> help: try this
>     |
> 500 |             Some(key) => seed
> 501 |                 .deserialize(StringDeserializer {
> 502 |                     input: key.clone(),
>     |error: this pattern creates a reference to a reference
>    --> src/de.rs:514:18
>     |
> 514 |             Some(ref value) => seed.deserialize(&Deserializer::new(value)),
>     |                  ^^^^^^^^^ help: try this: `value`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&types::Value`) that is immediately dereferenced by the compiler
>   --> src/encode.rs:31:16
>    |
> 31 |     encode_ref(&value, schema, buffer)
>    |                ^^^^^^ help: change this to: `value`
>    |
>    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&types::Value`) that is immediately dereferenced by the compiler
>    --> src/encode.rs:156:12
>     |
> 156 |     encode(&value, schema, &mut buffer);
>     |            ^^^^^^ help: change this to: `value`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this pattern creates a reference to a reference
>    --> src/reader.rs:299:14
>     |
> 299 |         Some(ref schema) => value.resolve(schema),
>     |              ^^^^^^^^^^ help: try this: `schema`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&types::Value`) that is immediately dereferenced by the compiler
>    --> src/writer.rs:281:41
>     |
> 281 |         self.append_bytes(encode_to_vec(&value, schema).as_ref())
>     |                                         ^^^^^^ help: change this to: `value`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: this expression borrows a reference (`&serde_json::Map<std::string::String, serde_json::Value>`) that is immediately dereferenced by the compiler
>    --> src/schema.rs:467:44
>     |
> 467 |                 let fullname = Name::parse(&inner)?.fullname(None);
>     |                                            ^^^^^^ help: change this to: `inner`
>     |
>     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowerror: aborting due to 10 previous errorserror: could not compile `avro-rs` {code}
> Should we be targeting one specific version of clippy only?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)