digitalmars.D.bugs - [Issue 8819] New: void static array should have init built-in propert
- d-bugmail puremagic.com (26/26) Oct 14 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (10/10) Nov 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (11/11) Dec 03 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (30/32) Dec 03 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (9/9) Dec 04 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (11/11) Mar 06 2013 http://d.puremagic.com/issues/show_bug.cgi?id=8819
- d-bugmail puremagic.com (9/9) Mar 06 2013 http://d.puremagic.com/issues/show_bug.cgi?id=8819
http://d.puremagic.com/issues/show_bug.cgi?id=8819 Summary: void static array should have init built-in propert Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: k.hara.pg gmail.com --- Comment #0 from Kenji Hara <k.hara.pg gmail.com> 2012-10-14 09:04:24 PDT --- Following code doesn't work with current dmd (2.060). void main() { alias void[1] T; auto vsa = T.init; } output: test.d(4): Error: void does not have a default initializer I think this is unnecessary restriction and almost a bug. An element of void[1] should have '0' as a default initializer. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 14 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8819 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #1 from Kenji Hara <k.hara.pg gmail.com> 2012-11-24 19:09:42 PST --- https://github.com/D-Programming-Language/dmd/pull/1324 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8819 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com --- Comment #2 from Walter Bright <bugzilla digitalmars.com> 2012-12-03 18:07:49 PST --- I'm not convinced this is a good idea. void[] is supposed to be untyped data, and a 0 initializer is specific to some types, and not for others. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 03 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8819 --- Comment #3 from Kenji Hara <k.hara.pg gmail.com> 2012-12-03 19:32:30 PST --- (In reply to comment #2)I'm not convinced this is a good idea. void[] is supposed to be untyped data, and a 0 initializer is specific to some types, and not for others.In almost cases, void[] and void[n] are used to represent *bare* memory. Then, 0-initialized bare memory is enough acceptable concept to me. --- The enhancement only I argue is just to add init property. That means, default construction of void[n] should be kept invalid. void main() { void[1] vsa1 = (void[1]).init; // allowed by this enhancement void[1] vsa2; // default construction should still be error } I think void[n] should behave as like a struct has ` disable this();`. All structs have built-in `.init`. Therefore void[n] should also have `.init`. --- From a view of meta-programming, I think that all types which has run-time representation should have .init property. It is consistent and much useful. Example: template isSomeCheck(T) { enum isSomeCheck = is(typeof({ T t = T.init; // Can ignore T's constructing way. func(t); // check whether func accepts an lvalue object typed T func(T.init); // check whether func accepts an rvalue object typed T } } After taking this enhancement, only one type which doesn't have init property is void. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 03 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8819 --- Comment #4 from Kenji Hara <k.hara.pg gmail.com> 2012-12-04 16:55:24 PST --- In discussion here: https://github.com/D-Programming-Language/phobos/pull/842#issuecomment-9420485 Andrei asks why `defaultInit` is necessary, the answer is the lack of void[1].init. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 04 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8819 --- Comment #5 from github-bugzilla puremagic.com 2013-03-06 00:21:18 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/a4275e7847f553a3a2c038883612af7b68117ce3 fix Issue 8819 - void static array should have init built-in property https://github.com/D-Programming-Language/dmd/commit/c437fad3e8bc874ca8f1dcb0e77e8eb6488b5cf1 Merge pull request #1324 from 9rnsr/fix8819 Issue 8819 - void static array should have init built-in property -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 06 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8819 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 06 2013