D-Programming-Language/phobos — pull request #2401 by sigod (2014-08-06 09:04:22+00:00)
Title: SList: correct reference semantics

With this changes `SList` will behave as `DList`:
```d
unittest
{
import std.algorithm : equal;

auto a = SList!int(5);
auto b = a;
auto r = a[];
a.insertFront(1);
b.insertFront(2);
assert(equal(a[], [2, 1, 5]));
assert(equal(b[], [2, 1, 5]));
r.front = 9;
assert(equal(a[], [2, 1, 9]));
assert(equal(b[], [2, 1, 9]));
}
```

PR probably incomplete, I have to check documentation and maybe deprecate some methods. (Opened it now to have more motivation.)

@monarchdodra's thread: http://forum.dlang.org/thread/gjhclwsuqyhrimdeoaec@forum.dlang.org