Thread overview
Conflicts
Jun 13, 2004
The Dr ... who?
Jun 14, 2004
J C Calvarese
Jun 14, 2004
Matthew
Jun 14, 2004
J C Calvarese
Jun 14, 2004
Matthew
June 13, 2004
Has anyone tried compiling a file that imports everything in Phobos? I think this should be one of the tests in Walter's test suites. I constantly get conflicts, and it's a real PITA


June 14, 2004
The Dr ... who? wrote:
> Has anyone tried compiling a file that imports everything in Phobos? I think this
> should be one of the tests in Walter's test suites. I constantly get conflicts,
> and it's a real PITA

I think it's a good idea. I guess you mean something like this:


import std.base64;
import std.compiler;
import std.conv;
import std.ctype;
import std.date;
import std.file;
import std.gc;
import std.intrinsic;
import std.math;
import std.md5;
import std.mmfile;
import object;
import std.outbuffer;
import std.path;
import std.process;
import std.random;
import std.regexp;
import std.socket;
import std.socketstream;
import std.stdint;
import std.stream;
import std.string;
import std.system;
import std.thread;
import std.uri;
import std.utf;

void main()
{

    /* std.compiler */

    printf("%.*s (vendor code: %d) %d.%d (D %d.%d)\n", name, vendor, version_major, version_minor, D_major, D_minor);



    /* std.conv */

    assert(toByte("1") == 1);
    assert(toUbyte("1") == 1);
    assert(toShort("1") == 1);
    assert(toUshort("1") == 1);
    assert(toInt("1") == 1);
    assert(toUint("1") == 1);
    assert(toLong("1") == 1);
    assert(toUlong("1") == 1);



    /* std.ctype */

    assert(isalnum('A'));
    assert(isalpha('b'));
    assert(iscntrl('\n'));
    assert(/+std.ctype.+/ isdigit('1')); /* std.stream */

    /*
    d:\dmd\bin\..\src\phobos\std\ctype.d(14):
    function isdigit conflicts with
    stream.isdigit at d:\dmd\bin\..\src\phobos\std\stream.d(2034)
    */


    assert(!isgraph(' '));
    assert(isprint(' '));
    assert(ispunct('.'));
    assert(isspace(' '));
    assert(isxdigit('E'));
    assert(isascii('&'));
    assert(/+std.ctype.+/ tolower('u'));

    /*
    d:\dmd\bin\..\src\phobos\std\ctype.d(24):
    function tolower conflicts with
    string.tolower at d:\dmd\bin\..\src\phobos\std\string.d(463)
    */

    assert(/+std.ctype.+/ toupper('T'));

    /*

    d:\dmd\bin\..\src\phobos\std\ctype.d(34):
    function toupper conflicts with
    string.toupper at d:\dmd\bin\..\src\phobos\std\string.d(502)

    */



    /*
    ...
    */



    /* object */

    Object o;



    /*
    ...
    */

}



-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
June 14, 2004
Yes, but with std.recls, std.c.windows.windows, std.c.linux.linux, etc. etc. *All* the phobos modules, in other words

"J C Calvarese" <jcc7@cox.net> wrote in message news:caj24v$1tke$1@digitaldaemon.com...
> The Dr ... who? wrote:
> > Has anyone tried compiling a file that imports everything in Phobos? I think
this
> > should be one of the tests in Walter's test suites. I constantly get
conflicts,
> > and it's a real PITA
>
> I think it's a good idea. I guess you mean something like this:
>
>
> import std.base64;
> import std.compiler;
> import std.conv;
> import std.ctype;
> import std.date;
> import std.file;
> import std.gc;
> import std.intrinsic;
> import std.math;
> import std.md5;
> import std.mmfile;
> import object;
> import std.outbuffer;
> import std.path;
> import std.process;
> import std.random;
> import std.regexp;
> import std.socket;
> import std.socketstream;
> import std.stdint;
> import std.stream;
> import std.string;
> import std.system;
> import std.thread;
> import std.uri;
> import std.utf;
>
> void main()
> {
>
>      /* std.compiler */
>
>      printf("%.*s (vendor code: %d) %d.%d (D %d.%d)\n", name, vendor,
> version_major, version_minor, D_major, D_minor);
>
>
>
>      /* std.conv */
>
>      assert(toByte("1") == 1);
>      assert(toUbyte("1") == 1);
>      assert(toShort("1") == 1);
>      assert(toUshort("1") == 1);
>      assert(toInt("1") == 1);
>      assert(toUint("1") == 1);
>      assert(toLong("1") == 1);
>      assert(toUlong("1") == 1);
>
>
>
>      /* std.ctype */
>
>      assert(isalnum('A'));
>      assert(isalpha('b'));
>      assert(iscntrl('\n'));
>      assert(/+std.ctype.+/ isdigit('1')); /* std.stream */
>
>      /*
>      d:\dmd\bin\..\src\phobos\std\ctype.d(14):
>      function isdigit conflicts with
>      stream.isdigit at d:\dmd\bin\..\src\phobos\std\stream.d(2034)
>      */
>
>
>      assert(!isgraph(' '));
>      assert(isprint(' '));
>      assert(ispunct('.'));
>      assert(isspace(' '));
>      assert(isxdigit('E'));
>      assert(isascii('&'));
>      assert(/+std.ctype.+/ tolower('u'));
>
>      /*
>      d:\dmd\bin\..\src\phobos\std\ctype.d(24):
>      function tolower conflicts with
>      string.tolower at d:\dmd\bin\..\src\phobos\std\string.d(463)
>      */
>
>      assert(/+std.ctype.+/ toupper('T'));
>
>      /*
>
>      d:\dmd\bin\..\src\phobos\std\ctype.d(34):
>      function toupper conflicts with
>      string.toupper at d:\dmd\bin\..\src\phobos\std\string.d(502)
>
>      */
>
>
>
>      /*
>      ...
>      */
>
>
>
>      /* object */
>
>      Object o;
>
>
>
>      /*
>      ...
>      */
>
> }
>
>
>
> -- 
> Justin (a/k/a jcc7)
> http://jcc_7.tripod.com/d/


June 14, 2004
Matthew wrote:
> Yes, but with std.recls, std.c.windows.windows, std.c.linux.linux, etc. etc.
> *All* the phobos modules, in other words

That was a sampler. If I waited until I wrote code that covered all of them, I wouldn't be able to post until next month. (And, yes, the gaps in the documentation wouldn't make it any easier to cover all of the modules.)

> 
> "J C Calvarese" <jcc7@cox.net> wrote in message
> news:caj24v$1tke$1@digitaldaemon.com...
> 
>>The Dr ... who? wrote:
>>
>>>Has anyone tried compiling a file that imports everything in Phobos? I think
> 
> this
> 
>>>should be one of the tests in Walter's test suites. I constantly get
> 
> conflicts,
> 
>>>and it's a real PITA
>>
>>I think it's a good idea. I guess you mean something like this:
>>
>>
>>import std.base64;
>>import std.compiler;
>>import std.conv;
>>import std.ctype;
>>import std.date;
>>import std.file;
>>import std.gc;
>>import std.intrinsic;
>>import std.math;
>>import std.md5;
>>import std.mmfile;
>>import object;
>>import std.outbuffer;
>>import std.path;
>>import std.process;
>>import std.random;
>>import std.regexp;
>>import std.socket;
>>import std.socketstream;
>>import std.stdint;
>>import std.stream;
>>import std.string;
>>import std.system;
>>import std.thread;
>>import std.uri;
>>import std.utf;
>>
>>void main()
>>{
>>
>>     /* std.compiler */
>>
>>     printf("%.*s (vendor code: %d) %d.%d (D %d.%d)\n", name, vendor,
>>version_major, version_minor, D_major, D_minor);
>>
>>
>>
>>     /* std.conv */
>>
>>     assert(toByte("1") == 1);
>>     assert(toUbyte("1") == 1);
>>     assert(toShort("1") == 1);
>>     assert(toUshort("1") == 1);
>>     assert(toInt("1") == 1);
>>     assert(toUint("1") == 1);
>>     assert(toLong("1") == 1);
>>     assert(toUlong("1") == 1);
>>
>>
>>
>>     /* std.ctype */
>>
>>     assert(isalnum('A'));
>>     assert(isalpha('b'));
>>     assert(iscntrl('\n'));
>>     assert(/+std.ctype.+/ isdigit('1')); /* std.stream */
>>
>>     /*
>>     d:\dmd\bin\..\src\phobos\std\ctype.d(14):
>>     function isdigit conflicts with
>>     stream.isdigit at d:\dmd\bin\..\src\phobos\std\stream.d(2034)
>>     */
>>
>>
>>     assert(!isgraph(' '));
>>     assert(isprint(' '));
>>     assert(ispunct('.'));
>>     assert(isspace(' '));
>>     assert(isxdigit('E'));
>>     assert(isascii('&'));
>>     assert(/+std.ctype.+/ tolower('u'));
>>
>>     /*
>>     d:\dmd\bin\..\src\phobos\std\ctype.d(24):
>>     function tolower conflicts with
>>     string.tolower at d:\dmd\bin\..\src\phobos\std\string.d(463)
>>     */
>>
>>     assert(/+std.ctype.+/ toupper('T'));
>>
>>     /*
>>
>>     d:\dmd\bin\..\src\phobos\std\ctype.d(34):
>>     function toupper conflicts with
>>     string.toupper at d:\dmd\bin\..\src\phobos\std\string.d(502)
>>
>>     */
>>
>>
>>
>>     /*
>>     ...
>>     */
>>
>>
>>
>>     /* object */
>>
>>     Object o;
>>
>>
>>
>>     /*
>>     ...
>>     */
>>
>>}
>>
>>
>>
>>-- 
>>Justin (a/k/a jcc7)
>>http://jcc_7.tripod.com/d/
> 
> 
> 


-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
June 14, 2004
You could use std.recls to do a recursive search of all the .d files, and simply generate the import list. :-)

"J C Calvarese" <jcc7@cox.net> wrote in message news:caj992$2aph$2@digitaldaemon.com...
> Matthew wrote:
> > Yes, but with std.recls, std.c.windows.windows, std.c.linux.linux, etc. etc. *All* the phobos modules, in other words
>
> That was a sampler. If I waited until I wrote code that covered all of them, I wouldn't be able to post until next month. (And, yes, the gaps in the documentation wouldn't make it any easier to cover all of the modules.)
>
> >
> > "J C Calvarese" <jcc7@cox.net> wrote in message news:caj24v$1tke$1@digitaldaemon.com...
> >
> >>The Dr ... who? wrote:
> >>
> >>>Has anyone tried compiling a file that imports everything in Phobos? I think
> >
> > this
> >
> >>>should be one of the tests in Walter's test suites. I constantly get
> >
> > conflicts,
> >
> >>>and it's a real PITA
> >>
> >>I think it's a good idea. I guess you mean something like this:
> >>
> >>
> >>import std.base64;
> >>import std.compiler;
> >>import std.conv;
> >>import std.ctype;
> >>import std.date;
> >>import std.file;
> >>import std.gc;
> >>import std.intrinsic;
> >>import std.math;
> >>import std.md5;
> >>import std.mmfile;
> >>import object;
> >>import std.outbuffer;
> >>import std.path;
> >>import std.process;
> >>import std.random;
> >>import std.regexp;
> >>import std.socket;
> >>import std.socketstream;
> >>import std.stdint;
> >>import std.stream;
> >>import std.string;
> >>import std.system;
> >>import std.thread;
> >>import std.uri;
> >>import std.utf;
> >>
> >>void main()
> >>{
> >>
> >>     /* std.compiler */
> >>
> >>     printf("%.*s (vendor code: %d) %d.%d (D %d.%d)\n", name, vendor,
> >>version_major, version_minor, D_major, D_minor);
> >>
> >>
> >>
> >>     /* std.conv */
> >>
> >>     assert(toByte("1") == 1);
> >>     assert(toUbyte("1") == 1);
> >>     assert(toShort("1") == 1);
> >>     assert(toUshort("1") == 1);
> >>     assert(toInt("1") == 1);
> >>     assert(toUint("1") == 1);
> >>     assert(toLong("1") == 1);
> >>     assert(toUlong("1") == 1);
> >>
> >>
> >>
> >>     /* std.ctype */
> >>
> >>     assert(isalnum('A'));
> >>     assert(isalpha('b'));
> >>     assert(iscntrl('\n'));
> >>     assert(/+std.ctype.+/ isdigit('1')); /* std.stream */
> >>
> >>     /*
> >>     d:\dmd\bin\..\src\phobos\std\ctype.d(14):
> >>     function isdigit conflicts with
> >>     stream.isdigit at d:\dmd\bin\..\src\phobos\std\stream.d(2034)
> >>     */
> >>
> >>
> >>     assert(!isgraph(' '));
> >>     assert(isprint(' '));
> >>     assert(ispunct('.'));
> >>     assert(isspace(' '));
> >>     assert(isxdigit('E'));
> >>     assert(isascii('&'));
> >>     assert(/+std.ctype.+/ tolower('u'));
> >>
> >>     /*
> >>     d:\dmd\bin\..\src\phobos\std\ctype.d(24):
> >>     function tolower conflicts with
> >>     string.tolower at d:\dmd\bin\..\src\phobos\std\string.d(463)
> >>     */
> >>
> >>     assert(/+std.ctype.+/ toupper('T'));
> >>
> >>     /*
> >>
> >>     d:\dmd\bin\..\src\phobos\std\ctype.d(34):
> >>     function toupper conflicts with
> >>     string.toupper at d:\dmd\bin\..\src\phobos\std\string.d(502)
> >>
> >>     */
> >>
> >>
> >>
> >>     /*
> >>     ...
> >>     */
> >>
> >>
> >>
> >>     /* object */
> >>
> >>     Object o;
> >>
> >>
> >>
> >>     /*
> >>     ...
> >>     */
> >>
> >>}
> >>
> >>
> >>
> >>-- 
> >>Justin (a/k/a jcc7)
> >>http://jcc_7.tripod.com/d/
> >
> >
> >
>
>
> -- 
> Justin (a/k/a jcc7)
> http://jcc_7.tripod.com/d/