Thread overview
[Issue 6446] New: Problem with iota(long)
Aug 07, 2011
Jonathan M Davis
Apr 26, 2012
SomeDude
August 07, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6446

           Summary: Problem with iota(long)
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody@puremagic.com
        ReportedBy: bearophile_hugs@eml.cc


--- Comment #0 from bearophile_hugs@eml.cc 2011-08-06 19:47:58 PDT ---
I think this is a bug of iota() (or a problem in core.memory.GC.malloc):


import std.range: iota;
import std.array: array;
void main() {
    auto a = array(iota(1L));
}



DMD gives:

...\std\array.d(243): Error: function core.memory.GC.malloc (uint sz, uint ba =
cast(uint)0) is not callable using argument types (ulong,BlkAttr)
...\std\array.d(243): Error: cannot implicitly convert expression (_param_0 *
8LU) of type ulong to uint
...\std\array.d(231): Error: cannot implicitly convert expression (_param_0) of
type ulong to uint
...\std\array.d(194): Error: template instance
std.array.arrayAllocImpl!(false,long[],ulong) error instantiating
...\std\array.d(42):        instantiated from here:
uninitializedArray!(long[],ulong)
test.d(4):        instantiated from here: array!(Result)
...\std\array.d(42): Error: template instance
std.array.uninitializedArray!(long[],ulong) error instantiating
test.d(4):        instantiated from here: array!(Result)
test.d(4): Error: template instance std.array.array!(Result) error
instantiating

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 07, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6446


Jonathan M Davis <jmdavisProg@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg@gmx.com


--- Comment #1 from Jonathan M Davis <jmdavisProg@gmx.com> 2011-08-06 19:56:13 PDT ---
It compiles just fine with the latest master. I believe that that iota was taking a size_t before, which then didn't work with long on 32-bit systems. It was fixed in

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

I think that there was a bugzilla entry that went with it, but it's not in the changelog, so I don't know what it was.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 07, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6446



--- Comment #2 from bearophile_hugs@eml.cc 2011-08-07 05:08:24 PDT ---
I have just compiled the latest DMD, druntime and Phobos, and I see some errors still. Maybe it's my fault, I don't know.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 26, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6446


SomeDude <lovelydear@mailmetrash.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lovelydear@mailmetrash.com


--- Comment #3 from SomeDude <lovelydear@mailmetrash.com> 2012-04-26 11:30:07 PDT ---
This still doesn't compile on 2.059 Win32

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