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:...