JetBrains / 100-exercises-to-learn-rust
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
Learn more...
Duplication Overall
system38% (2,689 lines)
dependency graphs: 2D graph | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
rs53% (1,495 lines)
yaml37% (1,194 lines)
Duplication per Component (primary)
Threads55% (797 lines)
TicketManagement48% (556 lines)
TicketV241% (501 lines)
TicketV134% (267 lines)
Traits31% (237 lines)
ABasicCalculator30% (135 lines)
Futures16% (102 lines)
helpers24% (76 lines)
Introduction6% (12 lines)
GoingFurther31% (6 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G Threads Threads TicketManagement TicketManagement Threads--TicketManagement 699 TicketV2 TicketV2 Threads--TicketV2 324 Traits Traits Threads--Traits 294 TicketV1 TicketV1 Threads--TicketV1 252 TicketManagement--Traits 374 TicketManagement--TicketV2 364 TicketManagement--TicketV1 276 TicketV2--Traits 374 helpers helpers TicketV2--helpers 92 TicketV1--Traits 368 TicketV1--TicketV2 346 ABasicCalculator ABasicCalculator ABasicCalculator--TicketManagement 276 ABasicCalculator--TicketV2 246 ABasicCalculator--TicketV1 228 ABasicCalculator--Threads 228 ABasicCalculator--Traits 216 Futures Futures ABasicCalculator--Futures 162 Introduction Introduction ABasicCalculator--Introduction 72 GoingFurther GoingFurther ABasicCalculator--GoingFurther 66 Futures--TicketV2 274 Futures--TicketManagement 274 Futures--Threads 259 Futures--Traits 252 Futures--TicketV1 186 Futures--Introduction 60 Futures--GoingFurther 54 Introduction--TicketManagement 108 Introduction--TicketV2 102 Introduction--Traits 96 Introduction--Threads 96 Introduction--TicketV1 84 GoingFurther--TicketManagement 102 GoingFurther--TicketV2 96 GoingFurther--Traits 90 GoingFurther--Threads 90 GoingFurther--TicketV1 78

Download: SVG DOT (open online Graphviz editor)

Open 2D force graph... Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 5,680 duplicates...
Size#FoldersFilesLinesCode
42 x 2 TicketManagement/IndexMutTrait/Task/src
TicketManagement/IndexTrait/Task/src
4:63 (76%)
4:63 (85%)
view
31 x 2 TicketV2/ErrorEnums/Task/src
TicketV2/ErrorTrait/Task/src
40:81 (58%)
55:96 (50%)
view
30 x 2 TicketManagement/BTreeMap/Task/src
TicketManagement/HashMap/Task/src
44:94 (47%)
42:92 (51%)
view
27 x 2 TicketManagement/IndexTrait/Task/src
TicketManagement/TwoStates/Task/src
4:40 (55%)
9:45 (67%)
view
27 x 2 TicketManagement/IndexMutTrait/Task/src
TicketManagement/TwoStates/Task/src
4:40 (49%)
9:45 (67%)
view
26 x 2 Threads/AckPattern/Task/src
Threads/Client/Task/src
1:35 (100%)
1:35 (100%)
view
26 x 2 Threads/Client/Task/src
Threads/Patching/Task/src
1:35 (100%)
1:35 (92%)
view
26 x 2 Threads/BoundedChannels/Task/src
Threads/Client/Task/src
1:35 (100%)
1:35 (100%)
view
26 x 2 Threads/AckPattern/Task/src
Threads/BoundedChannels/Task/src
1:35 (100%)
1:35 (100%)
view
26 x 2 Threads/AckPattern/Task/src
Threads/Patching/Task/src
1:35 (100%)
1:35 (92%)
view
26 x 2 Threads/BoundedChannels/Task/src
Threads/Patching/Task/src
1:35 (100%)
1:35 (92%)
view
25 x 2 Threads/RwLock/Task/src
Threads/WithoutChannels/Task/src
5:39 (89%)
6:38 (89%)
view
24 x 2 Threads/AckPattern/Task/src
Threads/Channels/Task/src
1:31 (92%)
1:31 (100%)
view
24 x 2 Threads/BoundedChannels/Task/src
Threads/Channels/Task/src
1:31 (92%)
1:31 (100%)
view
24 x 2 TicketV2/Nullability/Task/src
TicketV2/VariantsWithData/Task/src
3:35 (85%)
5:37 (85%)
view
24 x 2 Threads/Channels/Task/src
Threads/Client/Task/src
1:31 (100%)
1:31 (92%)
view
24 x 2 Threads/Channels/Task/src
Threads/Patching/Task/src
1:31 (100%)
1:31 (85%)
view
23 x 2 TicketV2/Outro/Task/src
helpers/ticket_fields/src
14:46 (82%)
6:38 (47%)
view
23 x 2 TicketV2/Outro/Task/src
helpers/ticket_fields/src
14:46 (82%)
4:36 (46%)
view
22 x 2 Threads/MutexSendAndArc/Task/src
Threads/RwLock/Task/src
31:58 (35%)
30:57 (35%)
view
21 x 2 TicketV1/Encapsulation/Task/src
TicketV1/Visibility/Task/src
1:29 (77%)
3:31 (100%)
view
20 x 2 TicketV1/Ownership/Task/src
Traits/StringSlices/Task/src
6:33 (76%)
3:30 (76%)
view
20 x 2 TicketManagement/Combinators/Task/src
TicketManagement/Lifetimes/Task/src
3:32 (80%)
1:31 (74%)
view
20 x 2 TicketV1/Encapsulation/Task/src
Traits/StringSlices/Task/src
2:29 (74%)
3:30 (76%)
view
20 x 2 TicketV1/Encapsulation/Task/src
TicketV1/Ownership/Task/src
2:29 (74%)
6:33 (76%)
view
20 x 2 Threads/Patching/Task/src
TicketManagement/BTreeMap/Task/src
13:39 (71%)
40:66 (31%)
view
20 x 2 TicketManagement/ImplTrait/Task/src
TicketManagement/Lifetimes/Task/src
3:32 (83%)
1:31 (74%)
view
20 x 2 TicketV1/Ownership/Task/src
TicketV1/Visibility/Task/src
6:33 (76%)
4:31 (95%)
view
20 x 2 TicketV1/Visibility/Task/src
Traits/StringSlices/Task/src
4:31 (95%)
3:30 (76%)
view
20 x 2 TicketManagement/Combinators/Task/src
TicketManagement/ImplTrait/Task/src
3:32 (80%)
3:32 (83%)
view
19 x 2 Threads/BoundedChannels/Task/src
Threads/Client/Task/src
56:80 (31%)
54:78 (32%)
view
19 x 2 TicketManagement/BTreeMap/Task/src
TicketManagement/HashMap/Task/src
17:42 (30%)
15:40 (32%)
view
19 x 2 Threads/MutexSendAndArc/Task/src
Threads/RwLock/Task/src
60:84 (30%)
59:83 (30%)
view
18 x 2 Threads/Client/Task/src
TicketManagement/BTreeMap/Task/src
13:35 (69%)
40:62 (28%)
view
18 x 2 TicketManagement/ImplTraitPt2/Task/src
TicketManagement/Lifetimes/Task/src
4:28 (90%)
1:26 (66%)
view
18 x 2 Threads/BoundedChannels/Task/src
TicketManagement/BTreeMap/Task/src
13:35 (69%)
40:62 (28%)
view
18 x 2 Threads/AckPattern/Task/src
TicketManagement/BTreeMap/Task/src
13:35 (69%)
40:62 (28%)
view
18 x 2 TicketManagement/ImplTrait/Task/src
TicketManagement/ImplTraitPt2/Task/src
3:27 (75%)
4:28 (90%)
view
18 x 2 Threads/MutexSendAndArc/Task/src
Threads/Patching/Task/src
35:58 (29%)
43:66 (20%)
view
18 x 2 Threads/Patching/Task/src
Threads/RwLock/Task/src
43:66 (20%)
34:57 (29%)
view
18 x 2 TicketManagement/Combinators/Task/src
TicketManagement/ImplTraitPt2/Task/src
3:27 (72%)
4:28 (90%)
view
17 x 2 Threads/MutexSendAndArc/Task/src
Threads/RwLock/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/AckPattern/Task/src
Threads/BoundedChannels/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/MutexSendAndArc/Task/src
Threads/RwLock/Task/src
7:27 (27%)
6:26 (27%)
view
17 x 2 Threads/AckPattern/Task/src
Threads/Channels/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/BoundedChannels/Task/src
Threads/Client/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/BoundedChannels/Task/src
Threads/RwLock/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/RwLock/Task/src
Threads/WithoutChannels/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 Threads/Client/Task/src
Threads/MutexSendAndArc/Task/src
1:22 (100%)
1:22 (100%)
view
17 x 2 TicketManagement/Iter/Task/src
TicketManagement/Iterators/Task/src
20:45 (60%)
23:48 (51%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
22 x 2 Threads/BoundedChannels/Task/src
Threads/Client/Task/src
59:84 
57:82 
view
15 x 2 helpers/mdbook-exercise-linker/src
helpers/mdbook-link-shortener/src
33:53 
46:66 
view
9 x 2 TicketV2/Outro/Task/src
TicketV2/ErrorSource/Task/src
14:24 
11:21 
view
7 x 2 helpers/ticket_fields/src
TicketV2/Outro/Task/src
30:38 
40:48 
view
7 x 2 helpers/ticket_fields/src
TicketV2/Outro/Task/src
32:40 
40:48 
view