Skip to content

build failure with latest nightly #2919

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
matthiaskrgr opened this issue Jul 16, 2018 · 4 comments · Fixed by #2920
Closed

build failure with latest nightly #2919

matthiaskrgr opened this issue Jul 16, 2018 · 4 comments · Fixed by #2920

Comments

@matthiaskrgr
Copy link
Member

rustc 1.29.0-nightly (31f1bc7 2018-07-15)

   Compiling cargo_metadata v0.5.8
   Compiling clippy_lints v0.0.212 (file:///tmp/rust-clippy/clippy_lints)
error[E0369]: binary operation `==` cannot be applied to type `&rustc::hir::PathSegment`ints
   --> clippy_lints/src/utils/hir_utils.rs:121:36
    |
121 |                 !self.ignore_fn && l_path == r_path && self.eq_exprs(l_args, r_args)
    |                                    ^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `&rustc::hir::PathSegment`
error[E0599]: no method named `hash` found for type `rustc::hir::BlockCheckMode` in the current scope
   --> clippy_lints/src/utils/hir_utils.rs:339:17
    |
339 |         b.rules.hash(&mut self.s);
    |                 ^^^^
error[E0599]: no method named `hash` found for type `rustc::hir::CaptureClause` in the current scope
   --> clippy_lints/src/utils/hir_utils.rs:422:21
    |
422 |                 cap.hash(&mut self.s);
    |                     ^^^^
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::VisibilityKind`
   --> clippy_lints/src/utils/internal_lints.rs:123:49
    |
123 |             } else if is_lint_array_type(ty) && item.vis.node == VisibilityKind::Inherited && item.name == "ARRAY" {
    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::VisibilityKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::VisibilityKind`
  --> clippy_lints/src/enum_glob_use.rs:47:12
   |
47 |         if item.vis.node == VisibilityKind::Public {
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::VisibilityKind`
error[E0369]: binary operation `==` cannot be applied to type `syntax::ast::VisibilityKind`
   --> clippy_lints/src/enum_variants.rs:265:24
    |
265 |                     if item.vis.node == VisibilityKind::Public {
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `syntax::ast::VisibilityKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PatKind`
  --> clippy_lints/src/if_let_redundant_pattern_matching.rs:51:87
   |
51 |                     PatKind::TupleStruct(ref path, ref pats, _) if pats.len() == 1 && pats[0].node == PatKind::Wild => {
   |                                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PatKind`
error[E0599]: no method named `ty_to_def_id` found for type `&&rustc::ty::TyS<'_>` in the current scope
   --> clippy_lints/src/len_zero.rs:262:34
    |
262 |             .associated_items(ty.ty_to_def_id().expect("trait impl not found"))
    |                                  ^^^^^^^^^^^^
error[E0599]: no method named `ty_to_def_id` found for type `&&rustc::ty::TyS<'_>` in the current scope
   --> clippy_lints/src/len_zero.rs:264:35
    |
264 |         ty::TyProjection(_) => ty.ty_to_def_id()
    |                                   ^^^^^^^^^^^^
error[E0369]: binary operation `==` cannot be applied to type `&rustc::hir::Expr`
    --> clippy_lints/src/loops.rs:1958:12
     |
1958 |         if expr == self.end_expr {
     |            ^^^^^^^^^^^^^^^^^^^^^
     |
     = note: an implementation of `std::cmp::PartialEq` might be missing for `&rustc::hir::Expr`
error[E0369]: binary operation `==` cannot be applied to type `[rustc::hir::PathSegment]`
   --> clippy_lints/src/map_clone.rs:111:34
    |
111 |             !path.is_global() && path.segments[..] == arg_segment
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `[rustc::hir::PathSegment]`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PatKind`
   --> clippy_lints/src/matches.rs:224:8
    |
224 |     if arms[1].pats[0].node == PatKind::Wild {
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PatKind`
error[E0369]: binary operation `!=` cannot be applied to type `rustc::hir::PatKind`
   --> clippy_lints/src/matches.rs:268:39
    |
268 |             if inner.iter().any(|pat| pat.node != PatKind::Wild) {
    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PatKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PatKind`
   --> clippy_lints/src/matches.rs:367:47
    |
367 |                     if inner.iter().any(|pat| pat.node == PatKind::Wild);
    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PatKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::VisibilityKind`
   --> clippy_lints/src/methods.rs:843:43
    |
843 |                             let lint = if item.vis.node == hir::VisibilityKind::Public {
    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::VisibilityKind`
error[E0369]: binary operation `==` cannot be applied to type `&rustc::hir::Ty`
    --> clippy_lints/src/methods.rs:2050:55
     |
2050 |         let is_actually_self = |ty| is_self_ty(ty) || ty == self_ty;
     |                                                       ^^^^^^^^^^^^^
     |
     = note: an implementation of `std::cmp::PartialEq` might be missing for `&rustc::hir::Ty`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::Ty_`
    --> clippy_lints/src/methods.rs:2179:54
     |
2179 |             (OutType::Unit, &hir::Return(ref ty)) if ty.node == hir::TyTup(vec![].into()) => true,
     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::Ty_`
error[E0369]: binary operation `!=` cannot be applied to type `rustc::hir::Ty_`
    --> clippy_lints/src/methods.rs:2181:53
     |
2181 |             (OutType::Any, &hir::Return(ref ty)) if ty.node != hir::TyTup(vec![].into()) => true,
     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::Ty_`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PatKind`
   --> clippy_lints/src/misc.rs:421:16
    |
421 |             if right.node == PatKind::Wild {
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PatKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::Expr`
   --> clippy_lints/src/misc.rs:545:69
    |
545 |             ExprAssign(_, ref rhs) | ExprAssignOp(_, _, ref rhs) => **rhs == *expr,
    |                                                                     ^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::Expr`
error[E0369]: binary operation `==` cannot be applied to type `syntax::ast::PatKind`
   --> clippy_lints/src/misc_early.rs:216:20
    |
216 |                 if field.node.pat.node == PatKind::Wild {
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `syntax::ast::PatKind`
error[E0369]: binary operation `!=` cannot be applied to type `syntax::ast::PatKind`
   --> clippy_lints/src/misc_early.rs:234:24
    |
234 |                     if field.node.pat.node != PatKind::Wild {
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `syntax::ast::PatKind`
error[E0369]: binary operation `==` cannot be applied to type `syntax::ast::PatKind`
   --> clippy_lints/src/misc_early.rs:241:24
    |
241 |                     if field.node.pat.node == PatKind::Wild {
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `syntax::ast::PatKind`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PathSegment`
  --> clippy_lints/src/overflow_check_conditional.rs:40:16
   |
40 |             if path1.segments[0] == path3.segments[0] || path2.segments[0] == path3.segments[0];
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PathSegment`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PathSegment`
  --> clippy_lints/src/overflow_check_conditional.rs:40:58
   |
40 |             if path1.segments[0] == path3.segments[0] || path2.segments[0] == path3.segments[0];
   |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PathSegment`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PathSegment`
  --> clippy_lints/src/overflow_check_conditional.rs:65:16
   |
65 |             if path1.segments[0] == path3.segments[0] || path2.segments[0] == path3.segments[0];
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PathSegment`
error[E0369]: binary operation `==` cannot be applied to type `rustc::hir::PathSegment`
  --> clippy_lints/src/overflow_check_conditional.rs:65:58
   |
65 |             if path1.segments[0] == path3.segments[0] || path2.segments[0] == path3.segments[0];
   |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: an implementation of `std::cmp::PartialEq` might be missing for `rustc::hir::PathSegment`
error[E0369]: binary operation `==` cannot be applied to type `syntax::ptr::P<[rustc::hir::PathSegment]>`
   --> clippy_lints/src/ranges.rs:121:24
    |
121 |                     if iter_path.segments == len_path.segments;
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: an implementation of `std::cmp::PartialEq` might be missing for `syntax::ptr::P<[rustc::hir::PathSegment]>`
error: aborting due to 28 previous errors
Some errors occurred: E0369, E0599.
For more information about an error, try `rustc --explain E0369`.
error: Could not compile `clippy_lints`.
To learn more, run the command again with --verbose.
@ghost
Copy link

ghost commented Jul 16, 2018

Caused by rust-lang/rust#51829. Looks like Oli already has a fix.

@oli-obk oli-obk mentioned this issue Jul 16, 2018
@mati865
Copy link
Contributor

mati865 commented Jul 16, 2018

Master branch fails to build on latest nightly so how is it possible clippy-preview still works?

$ rustc -V
rustc 1.29.0-nightly (31f1bc7b4 2018-07-15)
$ ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo-clippy
[warnings, errors, everything you would expect from working clippy]

@oli-obk
Copy link
Contributor

oli-obk commented Jul 16, 2018

Because there are only nightlies if clippy works ;) And we have a rustup branch that works and rustc points to that

@mati865
Copy link
Contributor

mati865 commented Jul 16, 2018

I know about nightly blocking and I wondering why it wasn't blocked and then found clippy-preview still works.

Totally forgot rust points to rustup branch instead of master right now 🤦‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants