www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.ide
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript
electronics



digitalmars.D.bugs - [Issue 2066] New: toString(int) nto CTFE-compatible

↑ ↓ ← d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2066

           Summary: toString(int) nto CTFE-compatible
           Product: D
           Version: 2.014
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: major
          Priority: P2
         Component: Phobos
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: simen.kjaras gmail.com


import std.string;

pragma(msg, toString(42));

The above program fails to compile, with the error message "cannot evaluate
toString(42) at compile time"


-- 
May 04 2008
→ BCS <ao pathlink.com> writes:
Reply to d-bugmail puremagic.com,

 http://d.puremagic.com/issues/show_bug.cgi?id=2066
 
 Summary: toString(int) nto CTFE-compatible
 Product: D
 Version: 2.014
 Platform: PC
 OS/Version: Windows
 Status: NEW
 Severity: major
 Priority: P2
 Component: Phobos
 AssignedTo: bugzilla digitalmars.com
 ReportedBy: simen.kjaras gmail.com
 import std.string;
 
 pragma(msg, toString(42));
 
 The above program fails to compile, with the error message "cannot
 evaluate toString(42) at compile time"
 

in "static code" you can use "42.stringof" but, IIRC, that won't work in other CTFE functions.
May 04 2008
→ d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2066





------- Comment #2 from simen.kjaras gmail.com  2008-05-04 16:32 -------
(In reply to comment #1)
 Reply to d-bugmail puremagic.com,
 in "static code" you can use "42.stringof" but, IIRC, that won't work in 
 other CTFE functions.

Example: template foo(int line = __LINE__) { pragma(msg, line.stringof); // prints 'line'. pragma(msg, toString(line)); // should print a number of some kind. Currently does not. } That is pretty much why I need this. --
May 04 2008
→ "Janice Caron" <caron800 googlemail.com> writes:
On 04/05/2008, d-bugmail puremagic.com <d-bugmail puremagic.com> wrote:
  import std.string;

  pragma(msg, toString(42));

  The above program fails to compile, with the error message "cannot evaluate
  toString(42) at compile time"

You could try import std.metastrings; pragma(msg, ToString!(42));
May 04 2008