January 25, 2024 [Issue 24355] New: Slice copy with static arrays incorrect of bounds checking | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24355 Issue ID: 24355 Summary: Slice copy with static arrays incorrect of bounds checking Product: D Version: D2 Hardware: x86_64 OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: ryuukk.dev@gmail.com ## Case 1: ``` void main() { char[32] id = 0; const(char)* str = "hello"; id = str[0 .. 6]; } ``` id is large enough for the string "hello", it should compile instead i get: `` Error: mismatched array lengths 32 and 6 for assignment `id[] = str[0..6] `` ## Case 2: ``` void main() { char[4] id; id = "hello asdad"; } ``` is not not large enough, both string and array length are known at compile time, this shouldn't compile error should be: `` Error: mismatched array lengths 4 and 1 for assignment `id[] = "hello asdad" `` -- |
Copyright © 1999-2021 by the D Language Foundation