From 6459997d85db56eada06212cd01fb41b4d59b603 Mon Sep 17 00:00:00 2001 From: lczllx <2181719471@qq.com> Date: Tue, 28 Jul 2026 22:35:31 +0800 Subject: [PATCH 1/2] fix(cpp14): replace d2x.harness with d2x in 00-generic-lambdas exercise --- .d2x/last-output.log | 50 ++++++++++++++++++++++++ src/cpp14/tests/00-generic-lambdas/0.cpp | 2 +- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .d2x/last-output.log diff --git a/.d2x/last-output.log b/.d2x/last-output.log new file mode 100644 index 0000000..f09d8e0 --- /dev/null +++ b/.d2x/last-output.log @@ -0,0 +1,50 @@ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In function 'int main()': +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:24: error: 'D2X_YOUR_ANSWER' has not been declared + 28 | auto identity = [](D2X_YOUR_ANSWER x) { + | ^~~~~~~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:33:24: error: no match for call to '(main()::) (std::string)' + 33 | d2x::check(identity(std::string("hello")) == "hello", "identity(std::string(\"hello\")) == \"hello\""); + | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ + • there are 2 candidates + /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:22: + 28 | auto identity = [](D2X_YOUR_ANSWER x) { + | ^ + • candidate 1: 'int (*)(int)' (conversion) + /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:33:24: + 33 | d2x::check(identity(std::string("hello")) == "hello", "identity(std::string(\"hello\")) == \"hello\""); + | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ + • candidate expects 2 arguments, 2 provided + • candidate 2: 'main()::' + /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:21: + 28 | auto identity = [](D2X_YOUR_ANSWER x) { + | ^ + • no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'int' +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:34:35: error: 'D2X_YOUR_ANSWER' was not declared in this scope + 34 | d2x::check_eq(identity(3.14), D2X_YOUR_ANSWER, "identity(3.14) == D2X_YOUR_ANSWER"); + | ^~~~~~~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In lambda function: +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:38:16: error: 'D2X_YOUR_ANSWER' is not captured [-Wtemplate-body] + 38 | return D2X_YOUR_ANSWER; + | ^~~~~~~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:37:21: note: the lambda has no capture-default + 37 | auto greater = [](auto a, auto b) { + | ^ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:34:35: note: 'D2X_YOUR_ANSWER' declared here + 34 | d2x::check_eq(identity(3.14), D2X_YOUR_ANSWER, "identity(3.14) == D2X_YOUR_ANSWER"); + | ^~~~~~~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In function 'int main()': +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:41:23: error: invalid use of void expression + 41 | d2x::check(greater(5, 3), "greater(5, 3)"); + | ~~~~~~~^~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:42:23: error: invalid use of void expression + 42 | d2x::check(greater(2.5, 1.2), "greater(2.5, 1.2)"); + | ~~~~~~~^~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:43:23: error: invalid use of void expression + 43 | d2x::check(greater(std::string("z"), std::string("a")), "greater(std::string(\"z\"), std::string(\"a\"))"); + | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:50:32: error: invalid use of void expression + 50 | d2x::check_eq(get_type_size(42), sizeof(int), "get_type_size(42) == sizeof(int)"); + | ~~~~~~~~~~~~~^~~~ +/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:51:32: error: invalid use of void expression + 51 | d2x::check_eq(get_type_size('c'), sizeof(char), "get_type_size('c') == sizeof(char)"); + | ~~~~~~~~~~~~~^~~~~ diff --git a/src/cpp14/tests/00-generic-lambdas/0.cpp b/src/cpp14/tests/00-generic-lambdas/0.cpp index d072e0b..0294e85 100644 --- a/src/cpp14/tests/00-generic-lambdas/0.cpp +++ b/src/cpp14/tests/00-generic-lambdas/0.cpp @@ -20,7 +20,7 @@ // import std; -import d2x.harness; +import d2x; int main() { From d42d60a78d63d34ea6a8a86cb0e8e875227e37ab Mon Sep 17 00:00:00 2001 From: lczllx <2181719471@qq.com> Date: Tue, 28 Jul 2026 22:40:54 +0800 Subject: [PATCH 2/2] fix(cpp14): replace d2x.harness with d2x in 00-generic-lambdas exercise d2x.harness module does not exist in d2x/src/. The exercise import was failing at module resolution before reaching any exercise code. Changed to import d2x which is the existing module, consistent with the exercise template in .agents/skills/d2mcpp-authoring/assets/exercise.cpp. --- .d2x/last-output.log | 50 -------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 .d2x/last-output.log diff --git a/.d2x/last-output.log b/.d2x/last-output.log deleted file mode 100644 index f09d8e0..0000000 --- a/.d2x/last-output.log +++ /dev/null @@ -1,50 +0,0 @@ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In function 'int main()': -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:24: error: 'D2X_YOUR_ANSWER' has not been declared - 28 | auto identity = [](D2X_YOUR_ANSWER x) { - | ^~~~~~~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:33:24: error: no match for call to '(main()::) (std::string)' - 33 | d2x::check(identity(std::string("hello")) == "hello", "identity(std::string(\"hello\")) == \"hello\""); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ - • there are 2 candidates - /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:22: - 28 | auto identity = [](D2X_YOUR_ANSWER x) { - | ^ - • candidate 1: 'int (*)(int)' (conversion) - /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:33:24: - 33 | d2x::check(identity(std::string("hello")) == "hello", "identity(std::string(\"hello\")) == \"hello\""); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ - • candidate expects 2 arguments, 2 provided - • candidate 2: 'main()::' - /home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:28:21: - 28 | auto identity = [](D2X_YOUR_ANSWER x) { - | ^ - • no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string'} to 'int' -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:34:35: error: 'D2X_YOUR_ANSWER' was not declared in this scope - 34 | d2x::check_eq(identity(3.14), D2X_YOUR_ANSWER, "identity(3.14) == D2X_YOUR_ANSWER"); - | ^~~~~~~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In lambda function: -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:38:16: error: 'D2X_YOUR_ANSWER' is not captured [-Wtemplate-body] - 38 | return D2X_YOUR_ANSWER; - | ^~~~~~~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:37:21: note: the lambda has no capture-default - 37 | auto greater = [](auto a, auto b) { - | ^ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:34:35: note: 'D2X_YOUR_ANSWER' declared here - 34 | d2x::check_eq(identity(3.14), D2X_YOUR_ANSWER, "identity(3.14) == D2X_YOUR_ANSWER"); - | ^~~~~~~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp: In function 'int main()': -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:41:23: error: invalid use of void expression - 41 | d2x::check(greater(5, 3), "greater(5, 3)"); - | ~~~~~~~^~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:42:23: error: invalid use of void expression - 42 | d2x::check(greater(2.5, 1.2), "greater(2.5, 1.2)"); - | ~~~~~~~^~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:43:23: error: invalid use of void expression - 43 | d2x::check(greater(std::string("z"), std::string("a")), "greater(std::string(\"z\"), std::string(\"a\"))"); - | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:50:32: error: invalid use of void expression - 50 | d2x::check_eq(get_type_size(42), sizeof(int), "get_type_size(42) == sizeof(int)"); - | ~~~~~~~~~~~~~^~~~ -/home/lcz/dev_version/d2mcpp/src/cpp14/tests/00-generic-lambdas/0.cpp:51:32: error: invalid use of void expression - 51 | d2x::check_eq(get_type_size('c'), sizeof(char), "get_type_size('c') == sizeof(char)"); - | ~~~~~~~~~~~~~^~~~~