On Wednesday, 27 November 2013 at 02:43:56 UTC, Parke wrote:
The compile error is:

[snip]/src/phobos/std/range.d(614): Error: static assert "Cannot put a immutable(char) into a char[40]" [snip]/src/phobos/std/base64.d(297): instantiated from here: put!(char[40], immutable(char)) test.d(7): instantiated from here: encode!(ubyte[], char[40])

Thanks!

I'm not finding a solution, this specific error is because a static array isn't an output range, see example below for "fix."

import std.range;
void main () {
    immutable(ubyte)  s0 = 5;
    ubyte[1] s1;
    auto slice = s1[];
    slice.put(s0);
}

But fixing this just results in not finding a match due to template constraints somewhere:

import std.base64;
ubyte[]  s0 = ['H','e','l','l','o'];
char[40] s1;
void main () {
    auto slice = s1[];
    Base64.encode (slice, s1);
}


base64.d(6): Error: template std.base64.Base64Impl!('+', '/').encode does not match any function template declaration. Candidates are:...

Reply via email to