Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
October 31, 2010 [Issue 5143] New: Static array of function literals | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=5143 Summary: Static array of function literals Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: bearophile_hugs@eml.cc --- Comment #0 from bearophile_hugs@eml.cc 2010-10-31 06:15:06 PDT --- This code works correctly with DMD 2.050: void f1(int a) {} static void function(int a)[] foo = [&f1]; void main() {} But this doesn't compile: static void function(int a)[] foo = [function(int a) {}]; void main() {} The error message: test.d(1): Error: non-constant expression __funcliteral1 I think this second version of the code too is correct. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 31, 2010 [Issue 5143] Static array of function literals | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=5143 Adrian Matoga <epi@atari8.info> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |epi@atari8.info --- Comment #1 from Adrian Matoga <epi@atari8.info> 2010-10-31 07:33:54 PDT --- upvoted! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 31, 2010 [Issue 5143] Static array of function literals | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=5143 Denis Derman <denis.spir@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |denis.spir@gmail.com --- Comment #2 from Denis Derman <denis.spir@gmail.com> 2010-10-31 13:07:38 PDT --- The bug report states an issue about func arrays, but: // ok void f () {} ; static void function() foo = &f ; // not ok static void function() foo = function void() {}; --> Error: non-constant expression __funcliteral1 It seems to me the issue is that one cannot initialise a function variable with the expression of a function. (Array or not.) What does the compiler expect there? What does the error mean? As we have function literals, they should, I guess, be usable where other literals are accepted. Note: auto foo = function void() {}; throws the same error. Denis -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 31, 2010 [Issue 5143] Static array of function literals | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=5143 Denis Derman <denis.spir@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |http://d.puremagic.com/issu | |es/show_bug.cgi?id=2634 --- Comment #3 from Denis Derman <denis.spir@gmail.com> 2010-10-31 13:18:01 PDT --- (In reply to comment #2) This is already filed as bug 2634 "Function literals are non-constant". http://d.puremagic.com/issues/show_bug.cgi?id=2634. Denis -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 31, 2010 [Issue 5143] Static array of function literals | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=5143 bearophile_hugs@eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE --- Comment #4 from bearophile_hugs@eml.cc 2010-10-31 13:47:12 PDT --- *** This issue has been marked as a duplicate of issue 2634 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation