www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7397] New: [Regression] std.path.buildPath can't be used with string[]

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397

           Summary: [Regression] std.path.buildPath can't be used with
                    string[]
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: dawg dawgfoto.de



void buildPath(C)(const(C)[][] paths...)
{
}

void foo()
{
    string[] ary = ["a", "b"];
    buildPath(ary);
}

----

Introduced by fix to dmd issue 4251:
http://d.puremagic.com/issues/show_bug.cgi?id=4251
https://github.com/D-Programming-Language/dmd/commit/d3cd1bf6db3689fb16c8f97572ae8bbf92ec9df7

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 29 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |INVALID



17:10:35 PST ---
The compiler's new behavior is correct, it avoids the infamous "array slicing"
problem - in this case, it avoids const data being incorrectly typed as
immutable.

To fix the example:

  void buildPath(C)(const(C)[][] paths...)

becomes:

  void buildPath(C)(const(C[])[] paths...)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 29 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |




 The compiler's new behavior is correct, it avoids the infamous "array slicing"
 problem - in this case, it avoids const data being incorrectly typed as
 immutable.
 
 To fix the example:
 
   void buildPath(C)(const(C)[][] paths...)
 
 becomes:
 
   void buildPath(C)(const(C[])[] paths...)
Walter's fix is right, but we should apply the fix to Phobos. So this issue is still opened, because it is a Phobos issue, not dmd's. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 29 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch, rejects-valid



https://github.com/D-Programming-Language/phobos/pull/412

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 30 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397




buildNormalizedPath() and join() have same issue.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 31 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397




Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/c07fe7c8bac50f2e2a26952691aa66b5fee4ac7e
Issue 7397 - [Regression] std.path.buildPath can't be used with string[]

https://github.com/D-Programming-Language/phobos/commit/8b4628117428ec2b1113308872f2bcf30dac228b


Issue 7397 - [Regression] std.path.buildPath can't be used with string[]

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 06 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7397


Kenji Hara <k.hara.pg gmail.com> changed:

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





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