Commit cd977ee
committed
Make sure type inference with
The new `::ops::Range` has separated implementations for each of the
numeric types, while the old `::iter::Range` has one for type `Int`.
However, we do not take output bindings into account when selecting
traits. So it confuses `typeck` and makes the new range does not work as
good as the old one when it comes to type inference.
This patch implements `Iterator` for the new range for one type `Int`.
This limitation could be lifted, however, if we ever reconsider the
output types' role in type inference.
Closes #21595
Closes #21649
Closes #21672a..b as good as range(a,b)
1 parent 474b324 commit cd977ee
2 files changed
+75
-69
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2796 | 2796 | | |
2797 | 2797 | | |
2798 | 2798 | | |
2799 | | - | |
| 2799 | + | |
2800 | 2800 | | |
2801 | 2801 | | |
2802 | | - | |
2803 | | - | |
2804 | | - | |
| 2802 | + | |
2805 | 2803 | | |
2806 | | - | |
2807 | | - | |
2808 | | - | |
2809 | | - | |
2810 | | - | |
2811 | | - | |
2812 | | - | |
2813 | | - | |
2814 | | - | |
2815 | | - | |
2816 | | - | |
2817 | | - | |
| 2804 | + | |
2818 | 2805 | | |
2819 | | - | |
2820 | | - | |
| 2806 | + | |
2821 | 2807 | | |
2822 | 2808 | | |
2823 | | - | |
2824 | | - | |
2825 | | - | |
2826 | 2809 | | |
2827 | 2810 | | |
2828 | 2811 | | |
2829 | | - | |
2830 | | - | |
2831 | | - | |
2832 | | - | |
2833 | | - | |
2834 | | - | |
2835 | | - | |
2836 | | - | |
2837 | | - | |
2838 | | - | |
2839 | | - | |
2840 | | - | |
2841 | | - | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
2842 | 2815 | | |
2843 | | - | |
2844 | | - | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
2845 | 2824 | | |
2846 | | - | |
2847 | | - | |
2848 | | - | |
2849 | | - | |
2850 | | - | |
2851 | | - | |
2852 | | - | |
2853 | | - | |
2854 | | - | |
2855 | | - | |
2856 | | - | |
2857 | | - | |
2858 | | - | |
| 2825 | + | |
2859 | 2826 | | |
2860 | | - | |
2861 | | - | |
2862 | | - | |
| 2827 | + | |
| 2828 | + | |
| 2829 | + | |
| 2830 | + | |
| 2831 | + | |
| 2832 | + | |
| 2833 | + | |
2863 | 2834 | | |
2864 | | - | |
2865 | | - | |
2866 | | - | |
| 2835 | + | |
| 2836 | + | |
| 2837 | + | |
2867 | 2838 | | |
2868 | | - | |
2869 | | - | |
2870 | | - | |
2871 | | - | |
2872 | | - | |
2873 | | - | |
2874 | | - | |
| 2839 | + | |
| 2840 | + | |
| 2841 | + | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
| 2845 | + | |
| 2846 | + | |
| 2847 | + | |
2875 | 2848 | | |
2876 | | - | |
| 2849 | + | |
2877 | 2850 | | |
2878 | 2851 | | |
2879 | | - | |
2880 | | - | |
2881 | | - | |
2882 | | - | |
2883 | | - | |
| 2852 | + | |
| 2853 | + | |
| 2854 | + | |
2884 | 2855 | | |
2885 | | - | |
| 2856 | + | |
| 2857 | + | |
| 2858 | + | |
| 2859 | + | |
| 2860 | + | |
| 2861 | + | |
| 2862 | + | |
| 2863 | + | |
2886 | 2864 | | |
2887 | 2865 | | |
2888 | 2866 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
0 commit comments