@@ -401,63 +401,75 @@ object DynamicTuple {
401
401
case sekf : Unit =>
402
402
()
403
403
case self : Tuple1 [_] =>
404
- Tuple1 (f(self._1))
404
+ Tuple1 (f[ Object ] (self._1. asInstanceOf [ Object ] ))
405
405
case self : Tuple2 [_, _] =>
406
- Tuple2 (f(self._1), f(self._2))
406
+ Tuple2 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ))
407
407
case self : Tuple3 [_, _, _] =>
408
- Tuple3 (f(self._1), f(self._2), f(self._3))
408
+ Tuple3 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ))
409
409
case self : Tuple4 [_, _, _, _] =>
410
- Tuple4 (f(self._1), f(self._2), f(self._3), f(self._4))
410
+ Tuple4 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ))
411
411
case self : Tuple5 [_, _, _, _, _] =>
412
- Tuple5 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5))
412
+ Tuple5 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ))
413
413
case self : Tuple6 [_, _, _, _, _, _] =>
414
- Tuple6 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6))
414
+ Tuple6 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ))
415
415
case self : Tuple7 [_, _, _, _, _, _, _] =>
416
- Tuple7 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7))
416
+ Tuple7 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ))
417
417
case self : Tuple8 [_, _, _, _, _, _, _, _] =>
418
- Tuple8 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8))
418
+ Tuple8 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ))
419
419
case self : Tuple9 [_, _, _, _, _, _, _, _, _] =>
420
- Tuple9 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9))
420
+ Tuple9 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ))
421
421
case self : Tuple10 [_, _, _, _, _, _, _, _, _, _] =>
422
- Tuple10 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10))
422
+ Tuple10 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ))
423
423
case self : Tuple11 [_, _, _, _, _, _, _, _, _, _, _] =>
424
- Tuple11 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11))
424
+ Tuple11 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ))
425
425
case self : Tuple12 [_, _, _, _, _, _, _, _, _, _, _, _] =>
426
- Tuple12 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12))
426
+ Tuple12 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ))
427
427
case self : Tuple13 [_, _, _, _, _, _, _, _, _, _, _, _, _] =>
428
- Tuple13 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13))
428
+ Tuple13 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ))
429
429
case self : Tuple14 [_, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
430
- Tuple14 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14))
430
+ Tuple14 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ))
431
431
case self : Tuple15 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
432
- Tuple15 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15))
432
+ Tuple15 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ))
433
433
case self : Tuple16 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
434
- Tuple16 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16))
434
+ Tuple16 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ))
435
435
case self : Tuple17 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
436
- Tuple17 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17))
436
+ Tuple17 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ))
437
437
case self : Tuple18 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
438
- Tuple18 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17), f(self._18))
438
+ Tuple18 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ), f[ Object ] (self._18. asInstanceOf [ Object ] ))
439
439
case self : Tuple19 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
440
- Tuple19 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17), f(self._18), f(self._19))
440
+ Tuple19 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ), f[ Object ] (self._18. asInstanceOf [ Object ] ), f[ Object ] (self._19. asInstanceOf [ Object ] ))
441
441
case self : Tuple20 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
442
- Tuple20 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17), f(self._18), f(self._19), f(self._20))
442
+ Tuple20 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ), f[ Object ] (self._18. asInstanceOf [ Object ] ), f[ Object ] (self._19. asInstanceOf [ Object ] ), f[ Object ] (self._20. asInstanceOf [ Object ] ))
443
443
case self : Tuple21 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
444
- Tuple21 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17), f(self._18), f(self._19), f(self._20), f(self._21))
444
+ Tuple21 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ), f[ Object ] (self._18. asInstanceOf [ Object ] ), f[ Object ] (self._19. asInstanceOf [ Object ] ), f[ Object ] (self._20. asInstanceOf [ Object ] ), f[ Object ] (self._21. asInstanceOf [ Object ] ))
445
445
case self : Tuple22 [_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
446
- Tuple22 (f(self._1), f(self._2), f(self._3), f(self._4), f(self._5), f(self._6), f(self._7), f(self._8), f(self._9), f(self._10), f(self._11), f(self._12), f(self._13), f(self._14), f(self._15), f(self._16), f(self._17), f(self._18), f(self._19), f(self._20), f(self._21), f(self._22))
446
+ Tuple22 (f[ Object ] (self._1. asInstanceOf [ Object ] ), f[ Object ] (self._2. asInstanceOf [ Object ] ), f[ Object ] (self._3. asInstanceOf [ Object ] ), f[ Object ] (self._4. asInstanceOf [ Object ] ), f[ Object ] (self._5. asInstanceOf [ Object ] ), f[ Object ] (self._6. asInstanceOf [ Object ] ), f[ Object ] (self._7. asInstanceOf [ Object ] ), f[ Object ] (self._8. asInstanceOf [ Object ] ), f[ Object ] (self._9. asInstanceOf [ Object ] ), f[ Object ] (self._10. asInstanceOf [ Object ] ), f[ Object ] (self._11. asInstanceOf [ Object ] ), f[ Object ] (self._12. asInstanceOf [ Object ] ), f[ Object ] (self._13. asInstanceOf [ Object ] ), f[ Object ] (self._14. asInstanceOf [ Object ] ), f[ Object ] (self._15. asInstanceOf [ Object ] ), f[ Object ] (self._16. asInstanceOf [ Object ] ), f[ Object ] (self._17. asInstanceOf [ Object ] ), f[ Object ] (self._18. asInstanceOf [ Object ] ), f[ Object ] (self._19. asInstanceOf [ Object ] ), f[ Object ] (self._20. asInstanceOf [ Object ] ), f[ Object ] (self._21. asInstanceOf [ Object ] ), f[ Object ] (self._22. asInstanceOf [ Object ] ))
447
447
}
448
448
res.asInstanceOf [Result ]
449
449
}
450
450
451
- def dynamicMap [This <: Tuple , F [_]](self : This , f : [t] => t => F [t]): Map [This , F ] = {
452
- type Result = Map [This , F ]
453
- (self : Any ) match {
454
- case xxl : TupleXXL =>
455
- TupleXXL .fromIArray(
456
- xxl.elems.asInstanceOf [Array [Object ]].map(f[Object ]).asInstanceOf [IArray [Object ]]
457
- ).asInstanceOf [Result ]
458
- case _ =>
459
- specialCaseMap(self, f)
460
- }
451
+ // def dynamicMap[This <: Tuple, F[_]](self: This, f: [t] => t => F[t]): Map[This, F] = {
452
+ // type Result = Map[This, F]
453
+ // (self: Any) match {
454
+ // case xxl: TupleXXL =>
455
+ // TupleXXL.fromIArray(
456
+ // xxl.elems.asInstanceOf[Array[Object]].map(f[Object]).asInstanceOf[IArray[Object]]
457
+ // ).asInstanceOf[Result]
458
+ // case _ =>
459
+ // specialCaseMap(self, f)
460
+ // }
461
+ // }
462
+
463
+ // def dynamicMap[This <: Tuple, F[_]](self: This, f: [t] => t => F[t]): Map[This, F] = {
464
+ // type Result = Map[This, F]
465
+ // dynamicFromIArray[Result](dynamicToIArray(self).asInstanceOf[Array[Object]].map(f[Object]).asInstanceOf[IArray[Object]])
466
+ // }
467
+
468
+ def dynamicMap [This <: Tuple , F [_]](self : This , f : [t] => t => F [t]): Map [This , F ] = (self : Any ) match {
469
+ case self : Unit => ().asInstanceOf [Map [This , F ]]
470
+ case _ =>
471
+ Tuple .fromArray(self.asInstanceOf [Product ].productIterator.map(f(_)).toArray) // TODO use toIArray of Object to avoid double/triple array copy
472
+ .asInstanceOf [Map [This , F ]]
461
473
}
462
474
463
475
def consIterator (head : Any , tail : Tuple ): Iterator [Any ] =
0 commit comments