[REG2.066a] Issue 13077 - std.range.array with shared InputRangeObject

https://issues.dlang.org/show_bug.cgi?id=13077

Ping: @monarchdodra
> Shouldn't the result of a cast always be non-ref? 

Yes, the result of the cast from qualified to unqualified is always non-ref. But I'd like just to revert lines back to proven code 2.065.

> `emplaceRef!T(bigData[len], cast(Unqual!T)item);`

It's not possible because the cast will make this `put` member function unsafe.