Skip to content
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

Infinite loop in clippy::only_used_in_recursion #8689

Closed
emgre opened this issue Apr 11, 2022 · 5 comments · Fixed by #8691
Closed

Infinite loop in clippy::only_used_in_recursion #8689

emgre opened this issue Apr 11, 2022 · 5 comments · Fixed by #8691
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@emgre
Copy link

emgre commented Apr 11, 2022

Summary

Since 1.61.0-beta.1, one of our crate gets stuck in an infinite loop. I was able to GDB into clippy and figure out that it gets stuck while running the clippy::only_used_in_recursion that was recently introduced. Unfortunately, I was not able to understand why it gets stuck.

Reproducer

Running cargo +beta clippy on the dnp3-schema crate gets stuck in an infinite loop in 1.61.0-beta.1 and up (including nightly)

Version

rustc 1.61.0-beta.2 (7c13df853 2022-04-09)
binary: rustc
commit-hash: 7c13df853721b60a03e7c0bb084d2eb1e27a9caa
commit-date: 2022-04-09
host: x86_64-unknown-linux-gnu
release: 1.61.0-beta.2
LLVM version: 14.0.0

Additional Labels

No response

@emgre emgre added the C-bug Category: Clippy is not doing the correct thing label Apr 11, 2022
@emgre
Copy link
Author

emgre commented Apr 11, 2022

One of the full backtrace that I got (it's not always at the exact same place) is the following:

#0  0x00005555557c9464 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#1  0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_
    ()
#2  0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#3  0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#4  0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#5  0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#6  0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#7  0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#8  0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#9  0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_once
BY_ ()
#10 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#11 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#12 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#13 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#14 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#15 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#16 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#17 0x00005555557e864c in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#18 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#19 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#20 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#21 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#22 0x00005555557e864c in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#23 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#24 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#25 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#26 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#27 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#28 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#29 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#30 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#31 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#32 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#33 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#34 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#35 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#36 0x00005555557e864c in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#37 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#38 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#39 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#40 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#41 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#42 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#43 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#44 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#45 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#46 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#47 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#48 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#49 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#50 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#51 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#52 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#53 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#54 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#55 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#56 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#57 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#58 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#59 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#60 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#61 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#62 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#63 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#64 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#65 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#66 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#67 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#68 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#69 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#70 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#71 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#72 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#73 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#74 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#75 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#76 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#77 0x00005555557e864c in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#78 0x00005555555db41d in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3P_15SideEffectVisit17visit_method_call0EE9from_iterB3R_ ()
#79 0x00005555557e8b5e in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#80 0x00005555555dbacd in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir4ExprEBK_NCNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisitNtNtBZ_10intravisit7Visitor10visit_expr0EE9from_iterB3Q_ ()
#81 0x00005555557e8dd4 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#82 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#83 0x00005555557c9280 in _RNvXs2_NtNtNtCs8CNcLfFXC26_4core3ops8function5implsQNCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtBW_15SideEffectVisit11visit_match0INtB7_6FnOnceTRNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEE9call_onceBY_ ()
#84 0x00005555555e0e45 in _RNvXs1_NtNtNtCs8CNcLfFXC26_4core4iter8adapters7flattenINtB5_7FlatMapINtNtNtBb_5slice4iter4IterNtNtCsbztdGeAeFYj_9rustc_hir3hir3ArmEINtNtCs9X9oq5NmLKB_5alloc3vec3VecTNtNtB1y_6hir_id5HirIdbEENCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB39_15SideEffectVisit11visit_match0ENtNtNtB9_6traits8iterator8Iterator4nextB3b_ ()
#85 0x00005555555daf5a in _RNvXNtNtCs9X9oq5NmLKB_5alloc3vec14spec_from_iterINtB4_3VecTNtNtCsbztdGeAeFYj_9rustc_hir6hir_id5HirIdbEEINtB2_12SpecFromIterBU_INtNtNtNtCs8CNcLfFXC26_4core4iter8adapters7flatten7FlatMapINtNtNtB29_5slice4iter4IterNtNtBZ_3hir3ArmEBK_NCNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB3O_15SideEffectVisit11visit_match0EE9from_iterB3Q_ ()
#86 0x00005555557e86b8 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#87 0x00005555557e9ad6 in _RNvMs0_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB5_15SideEffectVisit14visit_pat_expr.llvm.5196816745189792351 ()
#88 0x00005555557e8832 in _RNvXs_NtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB4_15SideEffectVisitNtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor10visit_expr ()
#89 0x00005555557e6dc7 in _RNvXNtCs4K9QIQHZBam_12clippy_lints22only_used_in_recursionNtB2_19OnlyUsedInRecursionNtNtCs8GfBDP8XcLX_10rustc_lint6passes12LateLintPass8check_fn ()
#90 0x00007ffff54b25e8 in _RNvXs1_NtCs8GfBDP8XcLX_10rustc_lint4lateNtB5_19LateLintPassObjectsNtNtB7_6passes12LateLintPass8check_fn () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#91 0x00007ffff47d258b in _RNvXs_NtCs8GfBDP8XcLX_10rustc_lint4lateINtB4_18LateContextAndPassNtB4_19LateLintPassObjectsENtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor8visit_fnCsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#92 0x00007ffff47d5b1d in _RINvNtCsbztdGeAeFYj_9rustc_hir10intravisit9walk_itemINtNtCs8GfBDP8XcLX_10rustc_lint4late18LateContextAndPassNtBR_19LateLintPassObjectsEECsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#93 0x00007ffff47d3094 in _RNvYINtNtCs8GfBDP8XcLX_10rustc_lint4late18LateContextAndPassNtB5_19LateLintPassObjectsENtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor17visit_nested_itemCsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#94 0x00007ffff47d5267 in _RINvNtCsbztdGeAeFYj_9rustc_hir10intravisit8walk_modINtNtCs8GfBDP8XcLX_10rustc_lint4late18LateContextAndPassNtBQ_19LateLintPassObjectsEECsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#95 0x00007ffff47d270c in _RNvXs_NtCs8GfBDP8XcLX_10rustc_lint4lateINtB4_18LateContextAndPassNtB4_19LateLintPassObjectsENtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor9visit_modCsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#96 0x00007ffff47d3094 in _RNvYINtNtCs8GfBDP8XcLX_10rustc_lint4late18LateContextAndPassNtB5_19LateLintPassObjectsENtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor17visit_nested_itemCsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#97 0x00007ffff47d5267 in _RINvNtCsbztdGeAeFYj_9rustc_hir10intravisit8walk_modINtNtCs8GfBDP8XcLX_10rustc_lint4late18LateContextAndPassNtBQ_19LateLintPassObjectsEECsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#98 0x00007ffff47d270c in _RNvXs_NtCs8GfBDP8XcLX_10rustc_lint4lateINtB4_18LateContextAndPassNtB4_19LateLintPassObjectsENtNtCsbztdGeAeFYj_9rustc_hir10intravisit7Visitor9visit_modCsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#99 0x00007ffff47d1a93 in _RINvNtCs8GfBDP8XcLX_10rustc_lint4late20late_lint_pass_crateNtB2_19LateLintPassObjectsECsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#100 0x00007ffff6624cae in _RINvNtCs8GfBDP8XcLX_10rustc_lint4late15late_lint_crateNtB4_27BuiltinCombinedLateLintPassECsecZosqS3a4H_15rustc_interface () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#101 0x00007ffff661294b in _RINvMNtCs7lqVoFom2oi_13rustc_session5utilsNtNtB5_7session7Session4timeuNCNCINvNtCs8GfBDP8XcLX_10rustc_lint4late11check_crateNtB1g_27BuiltinCombinedLateLintPassNCNCNCNCNCNvNtCsecZosqS3a4H_15rustc_interface6passes8analysiss3_00s0_000E00EB2L_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#102 0x00007ffff66134c0 in _RINvMNtCs7lqVoFom2oi_13rustc_session5utilsNtNtB5_7session7Session4timeuNCNCNCNCNvNtCsecZosqS3a4H_15rustc_interface6passes8analysiss3_00s0_00EB1j_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#103 0x00007ffff662e441 in _RNvXsl_NtNtCs8CNcLfFXC26_4core5panic11unwind_safeINtB5_16AssertUnwindSafeNCNCNvNtCsecZosqS3a4H_15rustc_interface6passes8analysiss3_00EINtNtNtB9_3ops8function6FnOnceuE9call_onceB1h_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#104 0x00007ffff6615ec8 in _RINvMNtCs7lqVoFom2oi_13rustc_session5utilsNtNtB5_7session7Session4timeuNCNvNtCsecZosqS3a4H_15rustc_interface6passes8analysiss3_0EB1d_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#105 0x00007ffff66095fc in _RNvNtCsecZosqS3a4H_15rustc_interface6passes8analysis () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#106 0x00007ffff6b8b735 in _RINvMs1_NtNtCs89TvXfZpysc_18rustc_query_system9dep_graph5graphINtB6_8DepGraphNtNtNtCsezorh48qQXP_12rustc_middle9dep_graph8dep_node7DepKindE9with_taskNtNtNtB1j_2ty7context6TyCtxtuINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedEECs5xaIGp7zMmK_16rustc_query_impl () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#107 0x00007ffff6acd742 in _RINvNtNtCs89TvXfZpysc_18rustc_query_system5query8plumbing17try_execute_queryNtNtCs5xaIGp7zMmK_16rustc_query_impl8plumbing9QueryCtxtINtNtB4_6caches12DefaultCacheuINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedEEEB1g_.llvm.7373855061286017037 () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#108 0x00007ffff6b1067e in _RINvNtNtCs89TvXfZpysc_18rustc_query_system5query8plumbing9get_queryNtNtCs5xaIGp7zMmK_16rustc_query_impl7queries8analysisNtNtB17_8plumbing9QueryCtxtEB17_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#109 0x00007ffff65cf2d1 in _RINvMs_NtCsecZosqS3a4H_15rustc_interface6passesNtB5_12QueryContext5enterNCNCNCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0s0_0s1_0INtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedEEB1g_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#110 0x00007ffff65e94a8 in _RINvMs2_NtCsecZosqS3a4H_15rustc_interface7queriesNtNtB8_9interface8Compiler5enterNCNCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0s0_0INtNtCs8CNcLfFXC26_4core6result6ResultINtNtB2f_6option6OptionNtB6_6LinkerENtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedEEB1n_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#111 0x00007ffff65cea8f in _RINvCsk8vaAFguhCJ_10rustc_span15with_source_mapINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedENCINvNtCsecZosqS3a4H_15rustc_interface9interface23create_compiler_and_runBJ_NCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0Es_0EB3q_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#112 0x00007ffff65fd524 in _RINvNtCsecZosqS3a4H_15rustc_interface9interface23create_compiler_and_runINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedENCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0EB2B_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#113 0x00007ffff65cd222 in _RINvMs_Cs8LTN9Qmu7u0_10scoped_tlsINtB5_9ScopedKeyNtCsk8vaAFguhCJ_10rustc_span14SessionGlobalsE3setNCINvNtCsecZosqS3a4H_15rustc_interface9interface12run_compilerINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedENCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0E0B2y_EB41_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#114 0x00007ffff65e2ddf in _RINvNtNtCsfEtPOGDzV8I_3std10sys_common9backtrace28___rust_begin_short_backtraceNCINvNtCsecZosqS3a4H_15rustc_interface4util31run_in_thread_pool_with_globalsNCINvNtB1m_9interface12run_compilerINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedENCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0E0B32_E0B32_EB4v_.llvm.11728789362102762162 () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#115 0x00007ffff65ce549 in _RNSNvYNCINvMNtCsfEtPOGDzV8I_3std6threadNtBa_7Builder16spawn_unchecked_NCINvNtCsecZosqS3a4H_15rustc_interface4util31run_in_thread_pool_with_globalsNCINvNtB1d_9interface12run_compilerINtNtCs8CNcLfFXC26_4core6result6ResultuNtCscmPoqipTq0x_12rustc_errors15ErrorGuaranteedENCNvCshVpzQoOnFv2_12rustc_driver12run_compilers_0E0B2T_E0B2T_Es_0INtNtNtB2Y_3ops8function6FnOnceuE9call_once6vtableB4m_ () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#116 0x00007ffff3f86c03 in <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once () at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861
#117 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once () at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861
#118 std::sys::unix::thread::Thread::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#119 0x00007ffff3e99609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#120 0x00007ffff3c6f163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

@xFrednet xFrednet added the I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️ label Apr 11, 2022
@jyn514
Copy link
Member

jyn514 commented Apr 11, 2022

Demangled:

#0  0x00005555557c9464 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#1  0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next
    ()
#2  0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#3  0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#4  0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#5  0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#6  0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#7  0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#8  0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#9  0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once
BY_ ()
#10 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#11 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#12 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#13 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#14 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#15 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#16 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#17 0x00005555557e864c in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#18 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#19 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#20 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#21 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#22 0x00005555557e864c in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#23 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#24 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#25 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#26 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#27 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#28 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#29 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#30 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#31 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#32 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#33 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#34 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#35 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#36 0x00005555557e864c in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#37 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#38 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#39 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#40 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#41 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#42 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#43 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#44 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#45 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#46 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#47 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#48 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#49 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#50 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#51 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#52 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#53 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#54 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#55 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#56 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#57 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#58 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#59 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#60 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#61 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#62 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#63 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#64 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#65 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#66 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#67 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#68 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#69 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#70 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#71 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#72 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#73 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#74 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#75 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#76 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#77 0x00005555557e864c in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#78 0x00005555555db41d in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_method_call::{closure#0}>>>::from_iter ()
#79 0x00005555557e8b5e in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#80 0x00005555555dbacd in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Expr>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}>>>::from_iter ()
#81 0x00005555557e8dd4 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#82 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#83 0x00005555557c9280 in <&mut <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0} as core::ops::function::FnOnce<(&rustc_hir::hir::Arm,)>>::call_once ()
#84 0x00005555555e0e45 in <core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}> as core::iter::traits::iterator::Iterator>::next ()
#85 0x00005555555daf5a in <alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_hir::hir_id::HirId, bool), core::iter::adapters::flatten::FlatMap<core::slice::iter::Iter<rustc_hir::hir::Arm>, alloc::vec::Vec<(rustc_hir::hir_id::HirId, bool)>, <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_match::{closure#0}>>>::from_iter ()
#86 0x00005555557e86b8 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#87 0x00005555557e9ad6 in <clippy_lints::only_used_in_recursion::SideEffectVisit>::visit_pat_expr ()
#88 0x00005555557e8832 in <clippy_lints::only_used_in_recursion::SideEffectVisit as rustc_hir::intravisit::Visitor>::visit_expr ()
#89 0x00005555557e6dc7 in <clippy_lints::only_used_in_recursion::OnlyUsedInRecursion as rustc_lint::passes::LateLintPass>::check_fn ()
#90 0x00007ffff54b25e8 in <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check_fn () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#91 0x00007ffff47d258b in <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_fn () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#92 0x00007ffff47d5b1d in rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#93 0x00007ffff47d3094 in <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#94 0x00007ffff47d5267 in rustc_hir::intravisit::walk_mod::<rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#95 0x00007ffff47d270c in <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_mod () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#96 0x00007ffff47d3094 in <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_nested_item () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#97 0x00007ffff47d5267 in rustc_hir::intravisit::walk_mod::<rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#98 0x00007ffff47d270c in <rustc_lint::late::LateContextAndPass<rustc_lint::late::LateLintPassObjects> as rustc_hir::intravisit::Visitor>::visit_mod () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#99 0x00007ffff47d1a93 in rustc_lint::late::late_lint_pass_crate::<rustc_lint::late::LateLintPassObjects> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#100 0x00007ffff6624cae in rustc_lint::late::late_lint_crate::<rustc_lint::BuiltinCombinedLateLintPass> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#101 0x00007ffff661294b in <rustc_session::session::Session>::time::<(), rustc_lint::late::check_crate<rustc_lint::BuiltinCombinedLateLintPass, rustc_interface::passes::analysis::{closure#5}::{closure#0}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#102 0x00007ffff66134c0 in <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}::{closure#0}::{closure#2}::{closure#0}> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#103 0x00007ffff662e441 in <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#5}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#104 0x00007ffff6615ec8 in <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#105 0x00007ffff66095fc in rustc_interface::passes::analysis () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#106 0x00007ffff6b8b735 in <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, (), core::result::Result<(), rustc_errors::ErrorGuaranteed>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#107 0x00007ffff6acd742 in rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), core::result::Result<(), rustc_errors::ErrorGuaranteed>>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#108 0x00007ffff6b1067e in rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#109 0x00007ffff65cf2d1 in <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#110 0x00007ffff65e94a8 in <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorGuaranteed>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#111 0x00007ffff65cea8f in rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#1}> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#112 0x00007ffff65fd524 in rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#113 0x00007ffff65cd222 in <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#114 0x00007ffff65e2ddf in std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>> () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#115 0x00007ffff65ce549 in <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} () from /home/emgre/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-9bb8e2557840af1d.so
#116 0x00007ffff3f86c03 in <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once () at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861
#117 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once () at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861
#118 std::sys::unix::thread::Thread::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#119 0x00007ffff3e99609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#120 0x00007ffff3c6f163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

@flip1995
Copy link
Member

I spotted out the expression that causes the infinite recursion: https://github.com/stepfunc/dnp3/blob/da807bc2bbf682ecb5ebf773c0a19cf5ff71b817/ffi/dnp3-schema/src/database.rs#L915-L964

I'm also not really sure if it is actually a infinite recursion or if it just takes a really long time.


About the lint itself:

I tried to read the code of the lint for over an hour now and couldn't really follow what it is doing. I was also able to remove large junks of code from the visitor and the tests kept passing. This signals to me that the logic the lint code is following isn't really tested.

The tests that are there could mostly also be linted with simpler linting code. Also there is a test, that with slight modifications produces a FP:

fn break_(a: usize, mut b: usize, mut c: usize) -> usize {
let c = loop {
b += 1;
c += 1;
if c == 10 {
break b;
}
};
if a == 0 { 1 } else { break_(a - 1, c, c) }
}

If you add a if c >= 10 { return 4; } at the top of the function, you still get the lint. But removing the b argument changes the semantics of the function (i.e. you won't be able to get the same behavior). Playground

I think we should just bail out if the parameter is used anywhere other than directly as its own function argument.

I also have the suspicion that even in cases where this lint doesn't get into an infinite loop it might be a significant perf regression for Clippy.

I think we will have to remove this lint from Clippy for now. I like this lint in general, but I think in the current state it is over engineered and not really maintainable.

cc @llogiq @buttercrab maybe you can provide more insights what's going on in this lint.

@buttercrab
Copy link
Contributor

Maybe I should rewrite the lint from the beginning.

@flip1995
Copy link
Member

Looking at it again: I think it is actually not an infinite loop, but the complexity of the linting code is in O(n!) for method chains and probably some other expressions. This is because it visits many expressions multiple times. I have a fix for this ready.

But I still think this lint either needs way more tests or it should be rewritten. Starting with simpler linting code and then try to improve the lint rather than trying to catch all convoluted cases from the get go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants