Assign to element of DList

Ali Çehreli acehreli at yahoo.com
Sun Oct 7 12:30:17 PDT 2012


On 10/07/2012 12:07 PM, cal wrote:
> The docs for std.container suggest I should be able to do this:
>
> import std.container;
>
> void main()
> {
> auto list = DList!int([1,2,3,4,5]);
> list.front = 3;
> }
>
> But this does not compile (not a property list.front). I can't figure
> out why this doesn't work though - the source for struct DList(T)
> contains this:
>
> static if(isAssignable!(T,T))
> {
> @property void front(T value)
> {
> assert(!empty, "DList.front: List is empty");
> move(value, _first._payload);
> }
> }
>
> but that does not seem to be getting compiled in.
>

What version of Phobos are you using? The source code of Phobos that 
comes with dmd 2.060 does not have the definition that you have shown.

In any case, according to the docs, it is SList that allows setting the 
front element, not DList:

import std.container;

void main()
{
   auto list = SList!int([1,2,3,4,5]);
   list.front = 3;
}

Ali


More information about the Digitalmars-d-learn mailing list