Thread overview
[Issue 2416] New: Slice of typedef'ed array should preserve the typedef'ed type
Oct 13, 2008
d-bugmail
Oct 14, 2008
d-bugmail
Oct 25, 2008
d-bugmail
Mar 11, 2009
d-bugmail
October 13, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2416

           Summary: Slice of typedef'ed array should preserve the typedef'ed
                    type
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: andrei@metalanguage.com


typedef const(char)[] A;
A stripl(A s)
{
    uint i;
    return s[i .. $];
}

This should work. A slice of a typedef'ed array should not spoil the typedef.


-- 

October 14, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2416





------- Comment #1 from terranium@yandex.ru  2008-10-14 03:34 -------
typedef as subtype of const(char)[] just "inherits" methods of its supertype
including opSlice :)
which is defined as
const(char)[] opSlice(size_t, size_t)


-- 

October 25, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2416


smjg@iname.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |smjg@iname.com
           Keywords|                            |rejects-valid




------- Comment #2 from smjg@iname.com  2008-10-25 07:13 -------
That's true of operator overloads defined by the programmer.  This, OTOH, is a built-in operation on a built-in type form.  Therefore the code is valid, just like

typedef int Value;
Value a, b, c;
...
a = b + c;


-- 

March 11, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2416


bugzilla@digitalmars.com changed:

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




------- Comment #3 from bugzilla@digitalmars.com  2009-03-11 14:52 -------
Fixed dmd 1.041 and 2.026


--