-
Notifications
You must be signed in to change notification settings - Fork 146
Closed
Description
This issue was introduced in 732e9fe. Reproducable with the following:
#include <print>
#include <string>
#include <rfl/json/read.hpp> // Changing this to rfl/json.hpp compilation works again
struct Error {
std::string what;
};
auto main() -> int {
auto result = rfl::json::read<Error>("");
if (!result) {
std::println("{}", result.error().what());
}
return 0;
}Resulting in a compilation error:
FAILED: CMakeFiles/reflectcpp_506.dir/main.cpp.o
/usr/bin/c++ -I/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include -I/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/thirdparty -std=gnu++23 -Wall -Wextra -Wuninitialized -Wno-unused-function -Wunused-variable -MD -MT CMakeFiles/reflectcpp_506.dir/main.cpp.o -MF CMakeFiles/reflectcpp_506.dir/main.cpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/reflectcpp_506.dir/main.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/reflectcpp_506.dir/main.cpp.o -c /home/phile/Sandbox/reflect-cpp-506/main.cpp
In file included from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../Processors.hpp:6,
from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/read.hpp:13,
from /home/phile/Sandbox/reflect-cpp-506/main.cpp:5:
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_add_tags_to_variants_v.hpp:17:31: error: ‘AddTagsToVariants’ was not declared in this scope; did you mean ‘is_add_tags_to_variants’?
17 | class is_add_tags_to_variants<AddTagsToVariants> : public std::true_type {};
| ^~~~~~~~~~~~~~~~~
| is_add_tags_to_variants
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_add_tags_to_variants_v.hpp:17:48: error: template argument 1 is invalid
17 | class is_add_tags_to_variants<AddTagsToVariants> : public std::true_type {};
| ^
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_add_tags_to_variants_v.hpp:30:42: error: ‘AddNamespacedTagsToVariants’ was not declared in this scope; did you mean ‘is_add_namespaced_tags_to_variants’?
30 | class is_add_namespaced_tags_to_variants<AddNamespacedTagsToVariants> : public std::true_type {};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| is_add_namespaced_tags_to_variants
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_add_tags_to_variants_v.hpp:30:69: error: template argument 1 is invalid
30 | class is_add_namespaced_tags_to_variants<AddNamespacedTagsToVariants> : public std::true_type {};
| ^
In file included from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../Processors.hpp:8:
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_default_if_missing_v.hpp:18:29: error: ‘DefaultIfMissing’ was not declared in this scope; did you mean ‘is_default_if_missing’?
18 | class is_default_if_missing<DefaultIfMissing> : public std::true_type {};
| ^~~~~~~~~~~~~~~~
| is_default_if_missing
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_default_if_missing_v.hpp:18:45: error: template argument 1 is invalid
18 | class is_default_if_missing<DefaultIfMissing> : public std::true_type {};
| ^
In file included from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../Processors.hpp:10:
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_no_field_names_v.hpp:18:25: error: ‘NoFieldNames’ was not declared in this scope
18 | class is_no_field_names<NoFieldNames> : public std::true_type {};
| ^~~~~~~~~~~~
/home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../internal/is_no_field_names_v.hpp:18:37: error: template argument 1 is invalid
18 | class is_no_field_names<NoFieldNames> : public std::true_type {};
| ^
In file included from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../parsing/MapParser.hpp:17,
from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../parsing/Parser_map_like.hpp:12,
from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/../parsing/Parser.hpp:12,
from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/Parser.hpp:4,
from /home/phile/Sandbox/reflect-cpp-506/build/_deps/reflectcpp-src/include/rfl/json/read.hpp:15:
ninja: build stopped: subcommand failed.
Seems like too many includes have been cleaned up in this commit. Maybe the tests could be changed to only include what they need, this would've caught this issue in the pipeline.
liuzicheng1987
Metadata
Metadata
Assignees
Labels
No labels