Hm. Wouldn't that make behavior of Lists and Arrays different?
On 2017-07-04 05:29:20, comdog wrote:
> Accessing a List element beyond the end of the List returns Nil,
> although accessing an element before the beginning returns an out of
> bounds failure. I think there's two things that can be better here
> since we know the size of the List.
>
> my $list = < a b c >;
> put "I have a {$list.^name}";
>
> First, in the "before" case, we have more information than the error
> message lets on. The index should be from 0 to 2:
>
> {
> my $i = -1;
> $list[$i]; # Index out of range. Is: -1, should be in 0..^Inf
> }
>
> But this requires the change I think is more helpful. Since the List
> size won't change, we can have the same out-of-bounds error on
> accesses past the end. At the moment it's no warning:
>
> {
> my $i = $list.end + 1;
> $list[$i]; # No warning
> }
>
> This would then be the error for assigning into a position beyond the
> end. The existing error doesn't say what went wrong even though Perl 6
> has enough information to figure that out:
>
> {
> my $i = $list.end + 1;
> $list[$i] = 5; # Cannot modify an immutable Nil
> }[perl #131699] [LTA] Errors indexing past the end of a List
Aleks-Daniel Jakimenko-Aleksejev via RT Tue, 04 Jul 2017 07:06:26 -0700
- [perl #131699] [LTA] Errors indexi... brian d foy
- [perl #131699] [LTA] Errors i... Aleks-Daniel Jakimenko-Aleksejev via RT
- Re: [perl #131699] [LTA] ... Elizabeth Mattijsen
- Re: [perl #131699] [L... Elizabeth Mattijsen via RT
- Re: [perl #131699] [L... Elizabeth Mattijsen
- Re: [perl #131699... Elizabeth Mattijsen via RT
- [perl #131699] [LTA] ... Zoffix Znet via RT
- [perl #131699] [LTA] ... Zoffix Znet via RT
