unexpected

Insantiator for Expected from an unexpected value unexpectedValue.

unexpected
(
T
E
)
(
auto ref E unexpectedValue
)

Examples

1 alias T = string;           // expected type
2 alias E = byte;
3 
4 alias Esi = Expected!(T, byte);
5 
6 // equality checks
7 assert(Esi("abc") == Esi("abc"));
8 assert(Esi("abcabc"[0 .. 3]) ==
9        Esi("abcabc"[3 .. 6]));
10 
11 auto x = Esi("abc");
12 assert(x.hasExpectedValue);
13 assert(!x.empty);
14 assert(x.apply!(threeUnderscores) == Esi("___"));
15 
16 x.popFront();
17 assert(!x.hasExpectedValue);
18 assert(x.empty);
19 
20 auto y = unexpected!(T, byte)(byte.init);
21 assert(!y.hasExpectedValue);
22 assert(x.empty);
23 assert(y.apply!(threeUnderscores) == Esi(Unexpected!byte(byte.init)));

Meta