@@ -401,63 +401,75 @@ object DynamicTuple {
401401 case sekf : Unit =>
402402 ()
403403 case self : Tuple1 [_] =>
404- Tuple1 (f(self._1))
404+ Tuple1 (f[ Object ] (self._1. asInstanceOf [ Object ] ))
405405 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 ] ))
407407 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 ] ))
409409 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 ] ))
411411 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 ] ))
413413 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 ] ))
415415 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 ] ))
417417 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 ] ))
419419 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 ] ))
421421 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 ] ))
423423 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 ] ))
425425 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 ] ))
427427 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 ] ))
429429 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 ] ))
431431 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 ] ))
433433 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 ] ))
435435 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 ] ))
437437 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 ] ))
439439 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 ] ))
441441 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 ] ))
443443 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 ] ))
445445 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 ] ))
447447 }
448448 res.asInstanceOf [Result ]
449449 }
450450
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 ]]
461473 }
462474
463475 def consIterator (head : Any , tail : Tuple ): Iterator [Any ] =
0 commit comments