Skip to content

clippy hangs #9433

Closed
Closed

Description

@matthiaskrgr

Summary

clippy seems to hang with this code:

// run-pass
// Example taken from RFC 1238 text

// https://github.com/rust-lang/rfcs/blob/master/text/1238-nonparametric-dropck.md
//     #examples-of-code-that-must-continue-to-work

use std::cell::Cell;

struct Concrete<'a>(#[allow(unused_tuple_struct_fields)] u32, Cell<Option<&'a Concrete<'a>>>);

fn main() {
    let mut data = Vec::new();
    data.push(Concrete(0, Cell::new(None)));
    data.push(Concrete(0, Cell::new(None)));

    data[0].1.set(Some(&data[1]));
    data[1].1.set(Some(&data[0]));
}

Version

clippy 0.1.65 (c07a8b4 2022-08-26)

Error output

No response

Activity

  1. added
    C-bugCategory: Clippy is not doing the correct thing
    I-ICEIssue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
    on Sep 7, 2022
  2. matthiaskrgr commented on Sep 7, 2022

    @matthiaskrgr
    MemberAuthor
      38,57%  librustc_driver-924e5f35a0df5cca.so  [.] <rustc_middle::hir::map::ParentHirIterator as core::iter::traits::iterator::Iterator>::next
       7,73%  librustc_driver-924e5f35a0df5cca.so  [.] <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::read_deps::<<rustc
       5,10%  clippy-driver                        [.] clippy_utils::get_parent_expr
       2,40%  clippy-driver                        [.] <clippy_utils::visitors::for_each_local_use_after_expr::V<<clippy_lints::vec_init_then_push::VecPushSearch
       1,06%  [kernel]                             [k] mangle_path
    
  3. matthiaskrgr commented on Sep 7, 2022

    @matthiaskrgr
    MemberAuthor

    reduced a bit:

    use std::cell::Cell;
    
    struct Concrete<'a>(Cell<Option<&'a Concrete<'a>>>);
    
    fn main() {
        let mut data = Vec::new();
        data.push(Concrete(Cell::new(None)));
        data[0].0.set(None);
    }

    when I inline the vec.push() via let data = vec![..], the hang goes away 🤔

  4. added a commit that references this issue on Sep 7, 2022
    da29f89
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: Clippy is not doing the correct thingI-ICEIssue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions