https://issues.dlang.org/show_bug.cgi?id=12923

Timothee Cour <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Timothee Cour <[email protected]> ---
(In reply to Timothee Cour from comment #0)
> import std.utf;
> void main(){
>   char[3]a=[167, 133, 175];
>   validate(a);
>   //passes
> 
>   auto k=stride(a,0);
>   /+
>   std.utf.UTFException@std/utf.d(199): Invalid UTF-8 sequence (at index 0)
>   pure @safe uint std.utf.stride!(char[3]).stride(ref char[3], ulong) + 141
>   +/
> }
> 
> This happens even after applying the fix
> https://github.com/D-Programming-Language/phobos/pull/2038

Additionally, another error is thrown on any of those:
foreach (i, dchar c; a){} //src/rt/util/utf.d:290 Invalid UTF-8 sequence
foreach_reverse (i, dchar c; a){} //src/rt/aApplyR.d:511 Invalid UTF-8 sequence

so perhaps std.utf.validate accepts some invalid UTF sequences

--

Reply via email to