Strings 19

This commit is contained in:
nazrin 2025-06-05 20:12:29 +00:00
parent 10c44eab2e
commit eec0a94aac
15 changed files with 358 additions and 55 deletions

View file

@ -3,4 +3,18 @@ module clox.util;
import std.stdio;
import std.traits : isUnsigned;
import std.container.array;
import std.functional : unaryFun;
T validateAssert(alias pred = "!!a", T)(T v, lazy string msg = null) nothrow {
try{
string m = msg;
static if(is(typeof(pred) == string))
m = msg ? msg : pred;
assert(v.unaryFun!pred, m);
return v;
} catch(Exception){
assert(0);
}
}