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)