File tree Expand file tree Collapse file tree 2 files changed +89
-1
lines changed Expand file tree Collapse file tree 2 files changed +89
-1
lines changed Original file line number Diff line number Diff line change @@ -398,3 +398,41 @@ fn foo() {
398
398
let my_var =
399
399
Mutex :: new ( RpcClientType :: connect ( server_iddd) . chain_err ( || "Unable to create RPC client" ) ?) ;
400
400
}
401
+
402
+ // #2704
403
+ // Method call with prefix and suffix.
404
+ fn issue2704 ( ) {
405
+ // We should not combine the callee with a multi-lined method call.
406
+ let requires = requires. set ( & requires0
407
+ . concat ( & requires1)
408
+ . concat ( & requires2)
409
+ . distinct_total ( ) ) ;
410
+ let requires = requires. set ( box requires0
411
+ . concat ( & requires1)
412
+ . concat ( & requires2)
413
+ . distinct_total ( ) ) ;
414
+ let requires = requires. set ( requires0
415
+ . concat ( & requires1)
416
+ . concat ( & requires2)
417
+ . distinct_total ( ) as u32 ) ;
418
+ let requires = requires. set ( requires0
419
+ . concat ( & requires1)
420
+ . concat ( & requires2)
421
+ . distinct_total ( ) ?) ;
422
+ let requires = requires. set ( !requires0
423
+ . concat ( & requires1)
424
+ . concat ( & requires2)
425
+ . distinct_total ( ) ) ;
426
+ // We should combine a small callee with an argument.
427
+ bar ( vec ! [ 22 ]
428
+ . into_iter ( )
429
+ . map ( |x| x * 2 )
430
+ . filter ( |_| true )
431
+ . collect ( ) ) ;
432
+ // But we should not combine a long callee with an argument.
433
+ barrrr ( vec ! [ 22 ]
434
+ . into_iter ( )
435
+ . map ( |x| x * 2 )
436
+ . filter ( |_| true )
437
+ . collect ( ) ) ;
438
+ }
Original file line number Diff line number Diff line change @@ -424,6 +424,56 @@ fn dots() {
424
424
// A function call with a large single argument.
425
425
fn foo ( ) {
426
426
let my_var = Mutex :: new (
427
- RpcClientType :: connect ( server_iddd) . chain_err ( || "Unable to create RPC client" ) ?
427
+ RpcClientType :: connect ( server_iddd) . chain_err ( || "Unable to create RPC client" ) ?,
428
+ ) ;
429
+ }
430
+
431
+ // #2704
432
+ // Method call with prefix and suffix.
433
+ fn issue2704 ( ) {
434
+ // We should not combine the callee with a multi-lined method call.
435
+ let requires = requires. set (
436
+ & requires0
437
+ . concat ( & requires1)
438
+ . concat ( & requires2)
439
+ . distinct_total ( ) ,
440
+ ) ;
441
+ let requires = requires. set (
442
+ box requires0
443
+ . concat ( & requires1)
444
+ . concat ( & requires2)
445
+ . distinct_total ( ) ,
446
+ ) ;
447
+ let requires = requires. set (
448
+ requires0
449
+ . concat ( & requires1)
450
+ . concat ( & requires2)
451
+ . distinct_total ( ) as u32 ,
452
+ ) ;
453
+ let requires = requires. set (
454
+ requires0
455
+ . concat ( & requires1)
456
+ . concat ( & requires2)
457
+ . distinct_total ( ) ?,
458
+ ) ;
459
+ let requires = requires. set (
460
+ !requires0
461
+ . concat ( & requires1)
462
+ . concat ( & requires2)
463
+ . distinct_total ( ) ,
464
+ ) ;
465
+ // We should combine a small callee with an argument.
466
+ bar ( vec ! [ 22 ]
467
+ . into_iter ( )
468
+ . map ( |x| x * 2 )
469
+ . filter ( |_| true )
470
+ . collect ( ) ) ;
471
+ // But we should not combine a long callee with an argument.
472
+ barrrr (
473
+ vec ! [ 22 ]
474
+ . into_iter ( )
475
+ . map ( |x| x * 2 )
476
+ . filter ( |_| true )
477
+ . collect ( ) ,
428
478
) ;
429
479
}
You can’t perform that action at this time.
0 commit comments