digitalmars.D.bugs - [Issue 955] New: Passing arguments into functions - in, out, inout, const, and contracts
- d-bugmail puremagic.com (34/34) Feb 12 2007 http://d.puremagic.com/issues/show_bug.cgi?id=955
- d-bugmail puremagic.com (5/5) Feb 12 2007 http://d.puremagic.com/issues/show_bug.cgi?id=955
- d-bugmail puremagic.com (10/10) Jan 21 2012 http://d.puremagic.com/issues/show_bug.cgi?id=955
- d-bugmail puremagic.com (10/10) Jan 21 2012 http://d.puremagic.com/issues/show_bug.cgi?id=955
http://d.puremagic.com/issues/show_bug.cgi?id=955 Summary: Passing arguments into functions - in, out, inout, const, and contracts Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: www.digitalmars.com AssignedTo: bugzilla digitalmars.com ReportedBy: jason.james.house gmail.com The description of in/out/inout/lazy leaves much to be desired. There's a thread on the mailing list titled "Passing arguments into functions - in, out, inout, const, and contracts" that has a number of people attempting to give more complete descriptions. It seems like parameters fall into two categories Type 1: fundamental types, structs, fixed size arrays Type 2: variable size arrays, objects in: Type 1 - Passed by value. changes to object have no external effect Type 2 - Passed by reference. function can't change the reference but can change the object out: Type 1 - Passed by reference, initialized by default initializer Type 2 - Passed by reference, initialized by default initializer inout: Type 1 - Passed by reference, can change the reference(?) Type 2 - Passed by reference, can change the reference To me, the clarification of "in" parameters need clarification. For type 2, I'd expect the equivalant of a C++ "const T&" but that isn't the case and should really be spelled out. --
Feb 12 2007
http://d.puremagic.com/issues/show_bug.cgi?id=955 ------- Comment #1 from wbaxter gmail.com 2007-02-12 22:01 ------- Fixed size arrays are also Type 2, passed by reference. int func(int[2] xy) { xy[0] = 1; } // modifies caller's xy[0] --
Feb 12 2007
http://d.puremagic.com/issues/show_bug.cgi?id=955 --- Comment #2 from github-bugzilla puremagic.com 2012-01-21 17:17:28 PST --- Commit pushed to https://github.com/D-Programming-Language/d-programming-language.org https://github.com/D-Programming-Language/d-programming-language.org/commit/59e9decffc8f6fd3439492c406279ddf327b9b1b fix Issue 955 - Passing arguments into functions - in, out, inout, const, and contracts -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 21 2012
http://d.puremagic.com/issues/show_bug.cgi?id=955 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 21 2012