digitalmars.D.bugs - [Issue 4893] New: Function pointer assignments ignore constness
- d-bugmail puremagic.com (43/43) Sep 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4893
- d-bugmail puremagic.com (8/8) Sep 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4893
- d-bugmail puremagic.com (11/11) Oct 19 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4893
http://d.puremagic.com/issues/show_bug.cgi?id=4893
Summary: Function pointer assignments ignore constness
Product: D
Version: unspecified
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: jmdavisProg gmx.com
PDT ---
Take this program:
struct S
{
public:
this(int[] function(const int[])func)
{
_func = func;
}
property int[] function(const int[]) func()
{
return func;
}
private:
int[] function(const int[]) _func;
}
int[] add1(int[] num)
{
return num ~ 1;
}
void main()
{
auto s = S(&add1);
}
It shouldn't compile, but it does. add1() does not take a const int[] and
therefore could theoretically modify its arguments (though it doesn't here),
violating the type of the function pointer. Using in and immutable instead of
const has the same problem. They compile when they shouldn't.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4893 PDT --- Oh, there's an error in my example - func return func instead of _func, resulting infinite recursion and therefore a segfault. I could have removed that function for the bug report anyway. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4893
Sobirari Muhomori <dfj1esp02 sneakemail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |DUPLICATE
11:03:16 PDT ---
*** This issue has been marked as a duplicate of issue 3797 ***
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 19 2010









d-bugmail puremagic.com 