diff options
Diffstat (limited to 'unit-tests/function')
-rw-r--r-- | unit-tests/function/driver.cxx | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/unit-tests/function/driver.cxx b/unit-tests/function/driver.cxx index 4650a18..9286a48 100644 --- a/unit-tests/function/driver.cxx +++ b/unit-tests/function/driver.cxx @@ -22,6 +22,17 @@ namespace build2 &value_traits<bool>::value_type }; + static dir_path + scoped (const scope&, dir_path d) + { + return d; + } + + static void + scoped_void (const scope&, dir_path) + { + } + int main (int, char* argv[]) { @@ -43,6 +54,11 @@ namespace build2 f["ambig"] = [](names a, optional<string>) {return a;}; f["ambig"] = [](names a, optional<uint64_t>) {return a;}; + f["scoped"] = [](const scope&, names a) {return a;}; + f["scoped_void"] = [](const scope&, names) {}; + f["scoped"] = &scoped; + f["scoped_void"] = &scoped_void; + f[".qual"] = []() {return "abc";}; f[".length"] = &path::size; // Member function. @@ -60,7 +76,7 @@ namespace build2 1, function_overload::arg_variadic, function_overload::types (arg_bool, 1), - [] (vector_view<value> args, const function_overload&) + [] (const scope&, vector_view<value> args, const function_overload&) { return value (static_cast<uint64_t> (args.size ())); })); @@ -74,7 +90,7 @@ namespace build2 0, function_overload::arg_variadic, function_overload::types (), - [] (vector_view<value> args, const function_overload&) + [] (const scope&, vector_view<value> args, const function_overload&) { for (value& a: args) { |