digitalmars.D.bugs - [Issue 12436] New: Opaque struct parameter type should not be allowed
- d-bugmail puremagic.com (25/25) Mar 21 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12436
- d-bugmail puremagic.com (19/19) Mar 21 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12436
- d-bugmail puremagic.com (14/14) Mar 21 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12436
- d-bugmail puremagic.com (7/15) Mar 21 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12436
https://d.puremagic.com/issues/show_bug.cgi?id=12436 Summary: Opaque struct parameter type should not be allowed Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: accepts-invalid Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 15:21:38 PDT --- ----- struct Opaque; Opaque ret_func(); // ok: error void void_func(Opaque); // no error! ----- $ dmd test.d test.d(3): Error: cannot return opaque struct Opaque by value The void_func is not triggering errors, but it should. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 21 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12436 15:38:16 PDT --- There are various other cases not caught yet, even for return types which are partially checked now. Examples: ----- struct S; S ret_f1(); // ok: fails S[] ret_f2(); // should fail S[1] ret_f4(); // should fail S[]* ret_f3(); // should fail void call_f1(S); // should fail void call_f1(S[]); // should fail void call_f1(S[1]); // should fail void call_f1(S[]*); // should fail void main() { } ----- -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 21 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12436 Steven Schveighoffer <schveiguy yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |schveiguy yahoo.com 15:48:15 PDT --- I would point out that references to opaque structs should compile. In your examples: S[] S[]* Should compile, even if S is opaque, as these are just references to S. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 21 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12436 17:09:08 PDT ---I would point out that references to opaque structs should compile. In your examples: S[] S[]* Should compile, even if S is opaque, as these are just references to S.Yeah, my mistake. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 21 2014