Thread overview
[Issue 4796] New: std.array.appender changes broke dmd unit test runnable/untag.d
Sep 03, 2010
Brad Roberts
Sep 03, 2010
Don
Sep 03, 2010
Don
Sep 04, 2010
Brad Roberts
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4796

           Summary: std.array.appender changes broke dmd unit test
                    runnable/untag.d
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Phobos
        AssignedTo: nobody@puremagic.com
        ReportedBy: braddr@puremagic.com


--- Comment #0 from Brad Roberts <braddr@puremagic.com> 2010-09-03 03:04:22 PDT ---
To reproduce, from the dmd test dir:

make test_results/runnable/untag.d.out

The errors:
runnable/untag.d(105): Error: template std.array.appender(A : E[],E) does not
match any function template declaration
runnable/untag.d(105): Error: template std.array.appender(A : E[],E) cannot
deduce template function from argument types !()(string*)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4796


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug@yahoo.com.au


--- Comment #1 from Don <clugdbug@yahoo.com.au> 2010-09-03 04:00:31 PDT ---
It's because appender() no longer takes a pointer.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4796


Steven Schveighoffer <schveiguy@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schveiguy@yahoo.com
          Component|Phobos                      |DMD


--- Comment #2 from Steven Schveighoffer <schveiguy@yahoo.com> 2010-09-03 08:13:42 PDT ---
Don is correct, I changed the interface of appender to be safer (not use pointers to most likely stack variables).  Changing bug component to dmd, since this is a dmd test issue, not a phobos issue.

Here is a patch.  I tried to test it but I get the ominous "no object.d error" I have no patience to try and understand what your test harnesses are doing, so I'll let you figure out if this works or not:

Index: runnable/untag.d ===================================================================
--- runnable/untag.d    (revision 657)
+++ runnable/untag.d    (working copy)
@@ -101,9 +101,9 @@
                         "Could not find closing tag: "~txt);
             }
         } else {
-            string code;
-            findConsume(txt, ';', appender(&code));
-            switch (code) {
+            auto app = appender!string();
+            findConsume(txt, ';', app);
+            switch (app.data) {
             case "#160;": case "#32;": case "reg;": case "nbsp;":
                 writeChar(' ');
                 break;
@@ -120,7 +120,7 @@
                 writeChar('"');
                 break;
             default:
-                throw new Exception(text("Unknown code: &", code));
+                throw new Exception(text("Unknown code: &", app.data));
                 break;
             }
         }

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 03, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4796


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|DMD                         |dstress
         AssignedTo|nobody@puremagic.com        |thomas-dloop@kuehne.cn


--- Comment #3 from Don <clugdbug@yahoo.com.au> 2010-09-03 11:40:54 PDT ---
(In reply to comment #2)
> Changing bug component to dmd, since this is a dmd test issue, not a phobos issue.

It's not a dmd bug. Might as well use the dstress component for this! (Can we
rename that tag?)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 04, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4796


Brad Roberts <braddr@puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #4 from Brad Roberts <braddr@puremagic.com> 2010-09-03 22:22:44 PDT ---
Fix committed in dmd r658.

Quibbling about which component it should be assigned to is really petty. Change in phobos caused the dmd test suite to fail.  That's what was important.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------