google / fruit

Fruit, a dependency injection framework for C++
https://github.com/google/fruit/wiki
Apache License 2.0
1.82k stars 200 forks source link

unrecognizable template declaration/definition memory_pool.defn.h(55) for MSVC #123

Open yesudeep opened 4 years ago

yesudeep commented 4 years ago

I get this error when compiling using the Visual C++ (2019) compiler.


  C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/HostX64/x64/cl.exe /nologo /DCOMPILER_MSVC /DNOMINMAX /D_WIN32_WINNT=0x0601 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /bigobj /Zm500 /EHsc /wd4351 /wd4291 /wd4250 /wd4996 /I. /Ibazel-out/x64_windows-fastbuild/bin /Iexternal/com_google_absl /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_absl /Iexternal/com_google_fruit /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_fruit /Iexternal/boost /Ibazel-out/x64_windows-fastbuild/bin/external/boost /Iexternal/com_google_googletest /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_googletest /Iexternal/bazel_tools /Ibazel-out/x64_windows-fastbuild/bin/external/bazel_tools /Iexternal/com_google_fruit/include /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_fruit/include /Iexternal/com_google_fruit/configuration/bazel /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_fruit/configuration/bazel /Iexternal/boost /Ibazel-out/x64_windows-fastbuild/bin/external/boost /Iexternal/boost/boost/unordered /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/unordered /Iexternal/boost/boost/assert /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/assert /Iexternal/boost/boost/config /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/config /Iexternal/boost/boost/version /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/version /Iexternal/boost/boost/container /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/container /Iexternal/boost/boost/core /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/core /Iexternal/boost/boost/intrusive /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/intrusive /Iexternal/boost/boost/cstdint /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/cstdint /Iexternal/boost/boost/limits /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/limits /Iexternal/boost/boost/noncopyable /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/noncopyable /Iexternal/boost/boost/static_assert /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/static_assert /Iexternal/boost/boost/move /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/move /Iexternal/boost/boost/detail /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/detail /Iexternal/boost/boost/functional /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/functional /Iexternal/boost/boost/container_hash /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/container_hash /Iexternal/boost/boost/integer /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/integer /Iexternal/boost/boost/type_traits /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/type_traits /Iexternal/boost/boost/mpl /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/mpl /Iexternal/boost/boost/preprocessor /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/preprocessor /Iexternal/boost/boost/iterator /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/iterator /Iexternal/boost/boost/utility /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/utility /Iexternal/boost/boost/swap /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/swap /Iexternal/boost/boost/throw_exception /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/throw_exception /Iexternal/boost/boost/current_function /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/current_function /Iexternal/boost/boost/exception /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/exception /Iexternal/boost/boost/smart_ptr /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/smart_ptr /Iexternal/boost/boost/align /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/align /Iexternal/boost/boost/predef /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/predef /Iexternal/boost/boost/scoped_array /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/scoped_array /Iexternal/boost/boost/checked_delete /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/checked_delete /Iexternal/boost/boost/scoped_ptr /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/scoped_ptr /Iexternal/boost/boost/shared_array /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/shared_array /Iexternal/boost/boost/shared_ptr /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/shared_ptr /Iexternal/boost/boost/tuple /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/tuple /Iexternal/boost/boost/ref /Ibazel-out/x64_windows-fastbuild/bin/external/boost/boost/ref /Iexternal/com_google_googletest/googlemock /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_googletest/googlemock /Iexternal/com_google_googletest/googlemock/include /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_googletest/googlemock/include /Iexternal/com_google_googletest/googletest /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_googletest/googletest /Iexternal/com_google_googletest/googletest/include /Ibazel-out/x64_windows-fastbuild/bin/external/com_google_googletest/googletest/include /DBOOST_ALL_NO_LIB /showIncludes /MD /Od /Z7 /wd4117 -D__DATE__="redacted" -D__TIMESTAMP__="redacted" -D__TIME__="redacted" -DHAVE_BAZEL_BUILD /DHAVE_BAZEL_BUILD_WINDOWS /D_HAS_DEPRECATED_RESULT_OF=1 /std:c++17 /Fobazel-out/x64_windows-fastbuild/bin/third_party/cc/test/_objs/fruit_test/fruit_test.obj /c third_party/cc/test/fruit_test.cc
Execution platform: @local_config_platform//:host
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/memory_pool.defn.h(55): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/memory_pool.defn.h(55): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/memory_pool.defn.h(55): error C2143: syntax error: missing ';' before '{'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/memory_pool.defn.h(55): error C2447: '{': missing function header (old-style formal list?)
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/fixed_size_allocator.defn.h(66): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/fixed_size_allocator.defn.h(66): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/fixed_size_allocator.defn.h(68): error C2143: syntax error: missing ';' before '{'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/data_structures/fixed_size_allocator.defn.h(68): error C2447: '{': missing function header (old-style formal list?)
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/component_install_arg_checks.defn.h(29): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/component_install_arg_checks.defn.h(29): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/component_install_arg_checks.defn.h(29): error C2143: syntax error: missing ';' before '{'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/component_install_arg_checks.defn.h(29): error C2447: '{': missing function header (old-style formal list?)
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/normalized_component_storage/normalized_bindings.defn.h(47): error C3861: '__builtin_unreachable': identifier not found
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/util/lambda_invoker.h(47): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/util/lambda_invoker.h(47): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/util/lambda_invoker.h(47): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/util/lambda_invoker.h(48): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(452): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(524): note: see reference to class template instantiation 'fruit::impl::InvokeLambdaWithInjectedArgVector<AnnotatedSignature,Lambda,true,AnnotatedT,fruit::impl::meta::Vector<AnnotatedArgs...>,fruit::impl::meta::Vector<Indexes...>>' being compiled
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(452): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(452): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(452): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(453): warning C4183: '__attribute__': missing return type; assumed to be a member function returning 'int'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(478): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(478): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(478): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(479): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(492): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(492): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(492): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(492): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(500): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(500): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(500): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(500): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(500): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(501): warning C4183: '__attribute__': missing return type; assumed to be a member function returning 'int'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(504): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(504): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(508): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(508): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C3927: '->': trailing return type is not allowed after a non-function declaratorC:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C3484: syntax error: expected '->' before the return type
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C3613: missing return type after '->' ('int' assumed)
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C3646: 'registerExternallyAllocatedObject': unknown override specifier
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(513): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(516): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(516): error C2059: syntax error: 'if'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(516): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(522): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(522): error C2059: syntax error: 'return'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(522): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(524): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(524): error C2143: syntax error: missing ';' before '}'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(533): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(590): note: see reference to class template instantiation 'fruit::impl::InvokeLambdaWithInjectedArgVector<AnnotatedSignature,Lambda,false,AnnotatedC,fruit::impl::meta::Vector<AnnotatedArgs...>,fruit::impl::meta::Vector<Indexes...>>' being compiled
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(533): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(533): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(533): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(534): warning C4183: '__attribute__': missing return type; assumed to be a member function returning 'int'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(548): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(548): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(548): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(549): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(563): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(563): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(563): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(564): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(577): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(577): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(580): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(580): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(583): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(583): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(588): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(588): error C2059: syntax error: 'return'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(588): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(590): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(590): error C2143: syntax error: missing ';' before '}'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(682): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(717): note: see reference to class template instantiation 'fruit::impl::InvokeConstructorWithInjectedArgVector<AnnotatedC(AnnotatedArgs...),fruit::impl::meta::Vector<Indexes...>>' being compiledC:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(682): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(682): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(683): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(694): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(694): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(694): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(695): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(702): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(702): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(702): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(702): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(702): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(703): warning C4183: '__attribute__': missing return type; assumed to be a member function returning 'int'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(707): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(707): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(711): error C2062: type 'void' unexpected
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(711): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(715): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(715): error C2059: syntax error: 'return'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(715): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(717): error C2988: unrecognizable template declaration/definition
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/impl/injector/injector_storage.defn.h(717): error C2143: syntax error: missing ';' before '}'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(220): error C3646: '__attribute__': unknown override specifier
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(245): note: see reference to class template instantiation 'fruit::Injector<P...>' being compiled
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(220): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(220): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(220): error C2059: syntax error: '('
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(224): error C2143: syntax error: missing ')' before ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(224): error C2143: syntax error: missing ';' before ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(224): error C2059: syntax error: ')'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(224): error C2238: unexpected token(s) preceding ';'
C:\tmp\yhlvxsm5\execroot\__main__\external\com_google_fruit\include\fruit/injector.h(224): fatal error C1003: error count exceeds 100; stopping compilation```
poletti-marco commented 4 years ago

Hi, I think this might be another manifestation of the incorrect config from issue #122. Can you please try again with the latest Fruit (from HEAD) and let me know if this is still an issue?