-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit 7aade8f
Replace runtime.Rich* implicits on primitives by direct extension methods.
It has always been weird that the public API of primitive types,
enriched by `Predef` depends on the `Rich*` classes, which are
in the not-really-public `runtime` package.
Moreover, the design of those classes was overabstracted, with
consequences on performance (unnecessary boxing) and quality of
the API (including methods that do not make sense on some types).
To mitigate that, the individual `Rich*` classes redefined some
(but not all) of the methods, defeating the abstraction.
We solve both issues with a simple solution: define all those
methods as simple `extension` methods. We do this directly in the
companion objects of the primitive types.1 parent eb1bb73 commit 7aade8f
File tree
18 files changed
+737
-35
lines changed- library/src/scala
- runtime
18 files changed
+737
-35
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
138 | 138 |
| |
139 | 139 |
| |
140 | 140 |
| |
141 | + | ||
142 | + | ||
143 | + | ||
144 | + | ||
145 | + | ||
146 | + | ||
147 | + | ||
148 | + | ||
149 | + | ||
150 | + | ||
151 | + | ||
141 | 152 |
| |
142 | - | ||
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
18 | 18 |
| |
19 | 19 |
| |
20 | 20 |
| |
21 | + | ||
22 | + | ||
21 | 23 |
| |
22 | 24 |
| |
23 | 25 |
| |
| |||
485 | 487 |
| |
486 | 488 |
| |
487 | 489 |
| |
488 | - | ||
489 | 490 |
| |
491 | + | ||
492 | + | ||
493 | + | ||
494 | + | ||
495 | + | ||
496 | + | ||
497 | + | ||
498 | + | ||
499 | + | ||
500 | + | ||
501 | + | ||
502 | + | ||
503 | + | ||
504 | + | ||
505 | + | ||
506 | + | ||
507 | + | ||
508 | + | ||
509 | + | ||
510 | + | ||
511 | + | ||
512 | + | ||
513 | + | ||
514 | + | ||
515 | + | ||
516 | + | ||
517 | + | ||
518 | + | ||
519 | + | ||
520 | + | ||
521 | + | ||
522 | + | ||
523 | + | ||
524 | + | ||
525 | + | ||
526 | + | ||
527 | + | ||
528 | + | ||
529 | + | ||
530 | + | ||
531 | + | ||
532 | + | ||
533 | + | ||
534 | + | ||
535 | + | ||
536 | + | ||
537 | + | ||
538 | + | ||
539 | + | ||
540 | + | ||
541 | + | ||
542 | + | ||
543 | + | ||
544 | + | ||
545 | + | ||
546 | + | ||
547 | + | ||
548 | + | ||
549 | + | ||
550 | + | ||
551 | + | ||
552 | + | ||
553 | + | ||
554 | + | ||
555 | + | ||
556 | + | ||
557 | + | ||
558 | + | ||
559 | + | ||
560 | + | ||
561 | + | ||
562 | + | ||
563 | + | ||
564 | + | ||
565 | + | ||
566 | + | ||
567 | + | ||
568 | + | ||
569 | + | ||
570 | + | ||
571 | + | ||
572 | + | ||
573 | + | ||
574 | + | ||
575 | + |
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
18 | 18 |
| |
19 | 19 |
| |
20 | 20 |
| |
21 | + | ||
22 | + | ||
21 | 23 |
| |
22 | 24 |
| |
23 | 25 |
| |
| |||
484 | 486 |
| |
485 | 487 |
| |
486 | 488 |
| |
487 | - | ||
488 | 489 |
| |
490 | + | ||
491 | + | ||
492 | + | ||
493 | + | ||
494 | + | ||
495 | + | ||
496 | + | ||
497 | + | ||
498 | + | ||
499 | + | ||
500 | + | ||
501 | + | ||
502 | + | ||
503 | + | ||
504 | + | ||
505 | + | ||
506 | + | ||
507 | + | ||
508 | + | ||
509 | + | ||
510 | + | ||
511 | + | ||
512 | + | ||
513 | + | ||
514 | + | ||
515 | + | ||
516 | + | ||
517 | + | ||
518 | + | ||
519 | + | ||
520 | + | ||
521 | + | ||
522 | + | ||
523 | + | ||
524 | + | ||
525 | + | ||
526 | + | ||
527 | + | ||
528 | + | ||
529 | + | ||
530 | + | ||
531 | + | ||
532 | + | ||
533 | + | ||
534 | + | ||
535 | + | ||
536 | + | ||
537 | + | ||
538 | + | ||
539 | + | ||
540 | + | ||
541 | + | ||
542 | + | ||
543 | + | ||
544 | + | ||
545 | + | ||
546 | + | ||
547 | + | ||
548 | + | ||
549 | + | ||
550 | + | ||
551 | + | ||
552 | + | ||
553 | + | ||
554 | + | ||
555 | + | ||
556 | + | ||
557 | + | ||
558 | + | ||
559 | + | ||
560 | + | ||
561 | + | ||
562 | + | ||
563 | + | ||
564 | + | ||
565 | + | ||
566 | + | ||
567 | + | ||
568 | + | ||
569 | + | ||
570 | + | ||
571 | + | ||
572 | + | ||
573 | + | ||
574 | + | ||
575 | + | ||
576 | + | ||
577 | + | ||
578 | + | ||
579 | + | ||
580 | + | ||
581 | + | ||
582 | + | ||
583 | + | ||
584 | + | ||
585 | + | ||
586 | + | ||
587 | + | ||
588 | + | ||
589 | + | ||
590 | + | ||
591 | + | ||
592 | + | ||
593 | + | ||
594 | + | ||
595 | + | ||
596 | + | ||
597 | + | ||
598 | + | ||
599 | + | ||
600 | + | ||
601 | + | ||
602 | + | ||
603 | + | ||
604 | + | ||
605 | + | ||
606 | + | ||
607 | + |
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
18 | 18 |
| |
19 | 19 |
| |
20 | 20 |
| |
21 | + | ||
22 | + | ||
21 | 23 |
| |
22 | 24 |
| |
23 | 25 |
| |
| |||
253 | 255 |
| |
254 | 256 |
| |
255 | 257 |
| |
256 | - | ||
257 | 258 |
| |
259 | + | ||
260 | + | ||
261 | + | ||
262 | + | ||
263 | + | ||
264 | + | ||
265 | + | ||
266 | + | ||
267 | + | ||
268 | + | ||
269 | + | ||
270 | + | ||
271 | + | ||
272 | + | ||
273 | + | ||
274 | + | ||
275 | + | ||
276 | + | ||
277 | + | ||
278 | + | ||
279 | + | ||
280 | + | ||
281 | + | ||
282 | + | ||
283 | + | ||
284 | + | ||
285 | + | ||
286 | + | ||
287 | + | ||
288 | + | ||
289 | + | ||
290 | + | ||
291 | + | ||
292 | + | ||
293 | + | ||
294 | + | ||
295 | + | ||
296 | + | ||
297 | + | ||
298 | + | ||
299 | + | ||
300 | + | ||
301 | + | ||
302 | + | ||
303 | + | ||
304 | + | ||
305 | + | ||
306 | + | ||
307 | + | ||
308 | + | ||
309 | + | ||
310 | + | ||
311 | + | ||
312 | + | ||
313 | + | ||
314 | + | ||
315 | + | ||
316 | + | ||
317 | + | ||
318 | + | ||
319 | + | ||
320 | + | ||
321 | + | ||
322 | + | ||
323 | + | ||
324 | + | ||
325 | + | ||
326 | + | ||
327 | + | ||
328 | + | ||
329 | + | ||
330 | + | ||
331 | + | ||
332 | + | ||
333 | + | ||
334 | + | ||
335 | + | ||
336 | + | ||
337 | + | ||
338 | + | ||
339 | + | ||
340 | + | ||
341 | + | ||
342 | + | ||
343 | + | ||
344 | + | ||
345 | + | ||
346 | + | ||
347 | + | ||
348 | + | ||
349 | + | ||
350 | + | ||
351 | + | ||
352 | + | ||
353 | + | ||
354 | + | ||
355 | + | ||
356 | + | ||
357 | + |
0 commit comments