http://d.puremagic.com/issues/show_bug.cgi?id=3971
Stewart Gordon <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #16 from Stewart Gordon <[email protected]> 2010-12-06 03:22:53 PST --- (In reply to comment #0) > a[] = b[]; static dynamic > static OK1 OK1 > dynamic OK1 OK1 > > a = b[]; static dynamic > static Err Err > dynamic Err Err > > a[] = b; static dynamic > static Err Err > dynamic Err Err > > a = b; static dynamic > static Err2 Err > dynamic Err OK2 I'm not sure I like this. What, exactly, would be the semantic difference between the rvalue b and the rvalue b[]? Currently, they are the same, and changing this might be confusing. > int i; a=i; static dynamic > Err Err > > int i; > a[] = i; static dynamic > OK3 OK3 This is how D behaves currently. > Key: > Err = Syntax error > OK1 = Copies all items from an array to the oter. > OK2 = Copies just the stuct of the dynamic array, array body not copied. > OK3 = Copies the value to all the items of the array. > Err2 = Syntax error, becase there is no reference to copy, better to keep > tidy the language. Making it a _syntax_ error cannot be done, because D's grammar is context-free by design. > > You can see that this too is disallowed: > int a, b; > a = b; ??? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
