Re: [Issue 8285] Error passing CTFE-generated string slice to template value parameter

2012-07-02 Thread Max Samukha

On Tuesday, 26 June 2012 at 16:27:29 UTC, kenji hara wrote:

Direct replying to this news group/mailing list is no meaning.
You must post these test case from the form in bugzilla.

http://d.puremagic.com/issues/show_bug.cgi?id=8285

Kenji hara

2012/6/25 Max Samukha :
Another test case. The error is different but the root cause 
must be the

same.

string bar()

{
   string s = "ab";
   return s[0..$];
}

template T1()
{
   enum T1 = bar()[0..$]; // error
}

string baz()
{
   return T1!();
}

string foo(string s)
{
   return s;
}

static assert(foo(baz()) == "ab");

void main()
{
}

Error: variable __dollar cannot be read at compile time


For some brain glitch reason, I was sure I was posting to 
bugzilla. Sorry for that.


Why not configure this group so that it refuses direct posts or 
issues warnings?


Re: [Issue 8285] Error passing CTFE-generated string slice to template value parameter

2012-06-26 Thread kenji hara
Direct replying to this news group/mailing list is no meaning.
You must post these test case from the form in bugzilla.

http://d.puremagic.com/issues/show_bug.cgi?id=8285

Kenji hara

2012/6/25 Max Samukha :
> Another test case. The error is different but the root cause must be the
> same.
>
> string bar()
>
> {
>    string s = "ab";
>    return s[0..$];
> }
>
> template T1()
> {
>    enum T1 = bar()[0..$]; // error
> }
>
> string baz()
> {
>    return T1!();
> }
>
> string foo(string s)
> {
>    return s;
> }
>
> static assert(foo(baz()) == "ab");
>
> void main()
> {
> }
>
> Error: variable __dollar cannot be read at compile time
>


Re: [Issue 8285] Error passing CTFE-generated string slice to template value parameter

2012-06-25 Thread Max Samukha
Another test case. The error is different but the root cause must 
be the same.


string bar()
{
string s = "ab";
return s[0..$];
}

template T1()
{
enum T1 = bar()[0..$]; // error
}

string baz()
{
return T1!();
}

string foo(string s)
{
return s;
}

static assert(foo(baz()) == "ab");

void main()
{
}

Error: variable __dollar cannot be read at compile time



Re: [Issue 8285] Error passing CTFE-generated string slice to template value parameter

2012-06-24 Thread Max Samukha

Reduced test case:

string foo()
{
 string s = "ab";
 return s[0 .. $];
}

template T2(string s)
{
}

template T1()
{
 enum s = foo();
 alias T2!(s) t2;
}

int bar()
{
 alias T1!() t1;
 return 0;
}

int baz(int x)
{
 return 0;
}

static assert(baz(bar()) == 0);

void main()
{
}

Error: expression "ab"[0u..2u] is not a valid template value
argument