Thread overview
Deprecation: std.stdio.File.ByChunkImpl is not visible
Dec 24, 2019
psyscout
Dec 24, 2019
H. S. Teoh
Dec 24, 2019
psyscout
December 24, 2019
Hi all,

I'm trying to resolve a Deprecation message. File.ByChunkImpl is private which cause a compiler message.

Any clue how to to deal with this?
(Deprecation: std.stdio.File.ByChunkImpl is not visible)

struct PutObjectRequest(Range)
	if (isInputRange!Range && is(ElementType!Range == ubyte[]))
{
	string bucket;
	string key;
	Range content;
	ulong content_size;
}

auto putObjectRequest(string bucket, string key, string file)
{
	import std.stdio : File;

	enum chunk_size = 16 * 1024; // 16 KiB
	auto file_ = File(file, "r");

	return PutObjectRequest!(File.ByChunkImpl)(bucket, key, file_.byChunk(chunk_size), file_.size);
}

Appreciate any help!
Thanks

December 23, 2019
On Tue, Dec 24, 2019 at 12:33:34AM +0000, psyscout via Digitalmars-d-learn wrote: [...]
> auto putObjectRequest(string bucket, string key, string file)
> {
> 	import std.stdio : File;
> 
> 	enum chunk_size = 16 * 1024; // 16 KiB
> 	auto file_ = File(file, "r");
> 
> 	return PutObjectRequest!(File.ByChunkImpl)(bucket, key,
> file_.byChunk(chunk_size), file_.size);

Hmm, try replacing the above line with:

	auto range = file_.byChunk(chunk_size);
	return PutObjectRequest!(typeof(range))(bucket, key, range, file_.size);


T

-- 
Never step over a puddle, always step around it. Chances are that whatever made it is still dripping.
December 24, 2019
Many thanks H. S. Teoh! It works!