← Back to index
|
Original Bugzilla link
Bug 14393 – 'is' operator gives inconsistent results at runtime and compile-time for array duplication
Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2015-04-02T12:08:45Z
Last change time
2024-12-13T18:41:50Z
Keywords
CTFE
Assigned to
No Owner
Creator
dransic
Moved to GitHub: dmd#17702 →
Comments
Comment #0
by dransic — 2015-04-02T12:08:45Z
enum int[] a = [1, 2]; enum int[int] aa = [1: 2, 3: 4]; // Mimics builtin dup semantics for dynamic arrays int[] mydup(int[] src) { int[] dst; dst.length = src.length; foreach (i, n; dst) src[i] = n; return dst; } // Mimics builtin dup semantics for associative arrays int[int] mydup(int[int] src) { int[int] dst; foreach (k, v; src) dst[k] = v; return dst; } void main() { assert(a !is a.dup); // OK assert(a !is a.mydup); // OK assert(aa !is aa.dup); // OK assert(aa !is aa.mydup); // OK static assert(a !is a.dup); // Assert error static assert(a !is a.mydup); // OK static assert(aa !is aa.dup); // Assert error static assert(aa !is aa.mydup); // Assert error }
Comment #1
by robert.schadek — 2024-12-13T18:41:50Z
THIS ISSUE HAS BEEN MOVED TO GITHUB
https://github.com/dlang/dmd/issues/17702
DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB