View mode: basic / threaded / horizontal-split · Log in · Help
July 15, 2012
Can't create immutable type in template
import std.stdio;

void main()
{
	writeln(typeid(Test!int));
}

template Test(T...)
{
	alias immutable(T[0]) Test;
}


This prints "int" instead of "immutable(int)" like I would 
expect. Is this a bug, or is that what is supposed to happen?
July 15, 2012
Re: Can't create immutable type in template
On Monday, July 16, 2012 01:38:05 Nick Gurrola wrote:
> import std.stdio;
> 
> void main()
> {
>         writeln(typeid(Test!int));
> }
> 
> template Test(T...)
> {
>         alias immutable(T[0]) Test;
> }

It looks like a bug to me.

- Jonathan M Davis
July 16, 2012
Re: Can't create immutable type in template
On 07/16/2012 01:38 AM, Nick Gurrola wrote:
> import std.stdio;
>
> void main()
> {
>     writeln(typeid(Test!int));
> }
>
> template Test(T...)
> {
>     alias immutable(T[0]) Test;
> }
>
>
> This prints "int" instead of "immutable(int)" like I would expect. Is
> this a bug, or is that what is supposed to happen?

This is a known issue.
http://d.puremagic.com/issues/show_bug.cgi?id=6966
The bug report also contains a simple workaround.
Top | Discussion index | About this forum | D home