digitalmars.D.bugs - [Issue 3221] New: Array extension methods require parentheses
- d-bugmail puremagic.com (31/31) Aug 01 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3221
- d-bugmail puremagic.com (8/24) Aug 01 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3221
- d-bugmail puremagic.com (12/12) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3221
- d-bugmail puremagic.com (6/6) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3221
- d-bugmail puremagic.com (14/14) Feb 01 2012 http://d.puremagic.com/issues/show_bug.cgi?id=3221
- d-bugmail puremagic.com (11/11) Feb 02 2012 http://d.puremagic.com/issues/show_bug.cgi?id=3221
http://d.puremagic.com/issues/show_bug.cgi?id=3221
Summary: Array extension methods require parentheses
Product: D
Version: 2.032
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: johnch_atms hotmail.com
Free functions can be used as methods of an array if the first argument in the
function definition is an array. For example:
int indexOf(T)(T[] array, T value) {...}
int[] ints = getInts();
int i = ints.indexOf(2);
However, when the array argument is called without parameters, the expression
fails to compile, as this example shows.
string[] split(string s, string sep) { ... }
class Person {
string name_;
string name() { return name_; }
}
auto person = getPerson();
string[] firstAndLast = person.name.split(" ");
The above line will only compile if it is changed to:
string[] firstAndList = person.name().split(" ");
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 01 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3221
Free functions can be used as methods of an array if the first argument in the
function definition is an array. For example:
int indexOf(T)(T[] array, T value) {...}
int[] ints = getInts();
int i = ints.indexOf(2);
However, when the array argument is called without parameters, the expression
fails to compile, as this example shows.
string[] split(string s, string sep) { ... }
class Person {
string name_;
string name() { return name_; }
}
auto person = getPerson();
string[] firstAndLast = person.name.split(" ");
The above line will only compile if it is changed to:
string[] firstAndList = person.name().split(" ");
Oops, I meant to say: However, when the array argument is called without
parentheses, the expression fails to compile...
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 01 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3221
Witold Baryluk <baryluk smp.if.uj.edu.pl> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |baryluk smp.if.uj.edu.pl
06:22:09 PST ---
One should possibly add property for such function, so it will be possible tu
use such function not only as method but also as getter. Unfortunetly it isn't
yet implemented.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3221 06:24:01 PST --- Similary to the bug3771 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3221
yebblies <yebblies gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
CC| |yebblies gmail.com
Version|2.032 |D1
Summary|Array extension methods |(D1 only) Can't use
|require parentheses |property syntax with ufcs
Works in D2 (2.058)
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 01 2012
http://d.puremagic.com/issues/show_bug.cgi?id=3221
yebblies <yebblies gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |DUPLICATE
*** This issue has been marked as a duplicate of issue 2883 ***
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 02 2012









d-bugmail puremagic.com 