digitalmars.D.bugs - [Issue 9359] New: Can't concat ints: incompatible types for 'int' and 'int'
- d-bugmail puremagic.com (25/25) Jan 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9359
- d-bugmail puremagic.com (11/18) Jan 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9359
- d-bugmail puremagic.com (19/19) Jan 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9359
- d-bugmail puremagic.com (13/13) Jan 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9359
- d-bugmail puremagic.com (22/22) Jan 21 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9359
http://d.puremagic.com/issues/show_bug.cgi?id=9359 Summary: Can't concat ints: incompatible types for 'int' and 'int' Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Keywords: rejects-valid Severity: critical Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: cbkbbejeap mailinator.com 13:20:12 PST --- void main() { int a = 0; int[] b = a ~ a; } ======================== test.d(4): Error: incompatible types for ((a) ~ (a)): 'int' and 'int' -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9359 Nils <nilsbossung googlemail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nilsbossung googlemail.com ---void main() { int a = 0; int[] b = a ~ a; } ======================== test.d(4): Error: incompatible types for ((a) ~ (a)): 'int' and 'int'I can't see the bug. That's not supposed/specified to work, is it? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9359 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.cc Normally you do it like this: void main() { int a = 0; int[] b = [a, a]; } Or even: void main() { int a = 0; int[] b = (int[]).init ~ a ~ a; } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9359 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Version|unspecified |D2 Resolution| |INVALID 14:39:42 PST --- ints are not arrays, and can't be concatenated. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 20 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9359 16:17:43 PST --- They can be concatenated with arrays, thus producing another array. But thinking about it more, defining 'int~int' to result in 'int[]' would be inconsistent with the fact that 'int[]~int[]' results in 'int[]' instead of 'int[][]'. This does result in some annoying inconsistencies: int[] a = [1] ~ 1 ~ 1; // OK int[] a = 1 ~ [1] ~ 1; // OK int[] a = 1 ~ 1 ~ [1]; // Fail int[] a = [1] ~ [1]; // OK int[] a = 1 ~ [1]; // OK int[] a = [1] ~ 1; // OK int[] a = 1 ~ 1; // Fail But I guess I don't see a way around that without introducing the more error-prone inconsistency of: [[1]] ~ [[1]] --> int[][] [1] ~ [1] --> int[] 1 ~ 1 --> int[] -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 21 2013