Code Monkey home page Code Monkey logo

legilimens's People

Contributors

pavel-kirienko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

legilimens's Issues

Unable to Compile Test

I failed at compiling both from the command line and in VSCode on my Mac. I'm sure I'm missing a step, but here's my output:

> Executing task: make -j10 <

Scanning dependencies of target legilimens_test
[ 33%] Building CXX object CMakeFiles/legilimens_test.dir/test.cpp.o
[ 66%] Building CXX object CMakeFiles/legilimens_test.dir/test_main.cpp.o
In file included from /Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:32:
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:395:78: error: implicit instantiation of undefined template 'std::__1::array<long long, 1000>'
using ContainerElementType = std::decay_t<decltype(*std::declval<Container>().data())>;
                                                                             ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:398:53: note: in instantiation of template type alias 'ContainerElementType' requested here
constexpr std::size_t ContainerElementSize = sizeof(ContainerElementType<Container>);
                                                    ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:450:15: note: in instantiation of variable template specialization 'legilimens::impl_::ContainerElementSize<std::__1::array<long long, 1000> >'
      requested here
static_assert(ContainerElementSize<std::array<std::int64_t, 1000>> == 8);
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from /Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:32:
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:450:15: error: static_assert expression is not an integral constant expression
static_assert(ContainerElementSize<std::array<std::int64_t, 1000>> == 8);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:395:78: error: implicit instantiation of undefined template 'std::__1::array<unsigned short, 100>'
using ContainerElementType = std::decay_t<decltype(*std::declval<Container>().data())>;
                                                                             ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:398:53: note: in instantiation of template type alias 'ContainerElementType' requested here
constexpr std::size_t ContainerElementSize = sizeof(ContainerElementType<Container>);
                                                    ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:451:15: note: in instantiation of variable template specialization 'legilimens::impl_::ContainerElementSize<std::__1::array<unsigned short, 100> >'
      requested here
static_assert(ContainerElementSize<std::array<std::uint16_t, 100>> == 2);
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from /Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:32:
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:451:15: error: static_assert expression is not an integral constant expression
static_assert(ContainerElementSize<std::array<std::uint16_t, 100>> == 2);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:395:78: error: implicit instantiation of undefined template 'std::__1::array<unsigned char, 10>'
using ContainerElementType = std::decay_t<decltype(*std::declval<Container>().data())>;
                                                                             ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:398:53: note: in instantiation of template type alias 'ContainerElementType' requested here
constexpr std::size_t ContainerElementSize = sizeof(ContainerElementType<Container>);
                                                    ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:452:15: note: in instantiation of variable template specialization 'legilimens::impl_::ContainerElementSize<std::__1::array<unsigned char, 10> >'
      requested here
static_assert(ContainerElementSize<std::array<std::uint8_t, 10>> == 1);
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from /Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:32:
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:452:15: error: static_assert expression is not an integral constant expression
static_assert(ContainerElementSize<std::array<std::uint8_t, 10>> == 1);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:454:15: error: no matching function for call to 'getContainerSize'
static_assert(getContainerSize<std::array<std::int64_t, 1000>>() == 1000);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:402:89: note: candidate template ignored: substitution failure [with Container = std::__1::array<long long, 1000>]: implicit instantiation of
      undefined template 'std::__1::tuple_size<std::__1::array<long long, 1000> >'
static constexpr std::enable_if_t<(std::tuple_size<Container>::value > 0), std::size_t> getContainerSize()
                                        ~~~~~~~~~~                                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:409:84: note: candidate template ignored: substitution failure [with Container = std::__1::array<long long, 1000>]: implicit instantiation of
      undefined template 'std::__1::array<long long, 1000>'
static constexpr std::enable_if_t<(Container::SizeAtCompileTime > 0), std::size_t> getContainerSize()
                                   ~~~~~~~~~                                       ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:455:15: error: no matching function for call to 'getContainerSize'
static_assert(getContainerSize<std::array<std::uint16_t, 100>>() == 100);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:402:89: note: candidate template ignored: substitution failure [with Container = std::__1::array<unsigned short, 100>]: implicit instantiation of
      undefined template 'std::__1::tuple_size<std::__1::array<unsigned short, 100> >'
static constexpr std::enable_if_t<(std::tuple_size<Container>::value > 0), std::size_t> getContainerSize()
                                        ~~~~~~~~~~                                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:409:84: note: candidate template ignored: substitution failure [with Container = std::__1::array<unsigned short, 100>]: implicit instantiation of
      undefined template 'std::__1::array<unsigned short, 100>'
static constexpr std::enable_if_t<(Container::SizeAtCompileTime > 0), std::size_t> getContainerSize()
                                   ~~~~~~~~~                                       ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:456:15: error: no matching function for call to 'getContainerSize'
static_assert(getContainerSize<std::array<std::uint8_t, 10>>() == 10);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:402:89: note: candidate template ignored: substitution failure [with Container = std::__1::array<unsigned char, 10>]: implicit instantiation of
      undefined template 'std::__1::tuple_size<std::__1::array<unsigned char, 10> >'
static constexpr std::enable_if_t<(std::tuple_size<Container>::value > 0), std::size_t> getContainerSize()
                                        ~~~~~~~~~~                                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:409:84: note: candidate template ignored: substitution failure [with Container = std::__1::array<unsigned char, 10>]: implicit instantiation of
      undefined template 'std::__1::array<unsigned char, 10>'
static constexpr std::enable_if_t<(Container::SizeAtCompileTime > 0), std::size_t> getContainerSize()
                                   ~~~~~~~~~                                       ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:395:78: error: implicit instantiation of undefined template 'std::__1::array<short, 3>'
using ContainerElementType = std::decay_t<decltype(*std::declval<Container>().data())>;
                                                                             ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:425:69: note: in instantiation of template type alias 'ContainerElementType' requested here
        return CompileTimeTypeDescriptor<TypeDescriptor::deduceKind<ContainerElementType<D>>(),
                                                                    ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:436:55: note: in instantiation of function template specialization
      'legilimens::impl_::constructCompileTimeTypeDescriptor<std::__1::array<short, 3> >' requested here
using CompileTimeTypeDescriptorConstructor = decltype(constructCompileTimeTypeDescriptor<T>());
                                                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:482:15: note: in instantiation of template type alias 'CompileTimeTypeDescriptorConstructor' requested here
static_assert(CompileTimeTypeDescriptorConstructor<std::array<std::int16_t, 3>>::getRuntimeTypeDescriptor()
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from /Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:32:
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:436:55: error: no matching function for call to 'constructCompileTimeTypeDescriptor'
using CompileTimeTypeDescriptorConstructor = decltype(constructCompileTimeTypeDescriptor<T>());
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:484:15: note: in instantiation of template type alias 'CompileTimeTypeDescriptorConstructor' requested here
static_assert(CompileTimeTypeDescriptorConstructor<std::array<std::int16_t, 3>>::getRuntimeTypeDescriptor()
              ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:416:23: note: candidate template ignored: substitution failure [with T = std::__1::array<short, 3>]
static constexpr auto constructCompileTimeTypeDescriptor()
                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:436:55: error: no matching function for call to 'constructCompileTimeTypeDescriptor'
using CompileTimeTypeDescriptorConstructor = decltype(constructCompileTimeTypeDescriptor<T>());
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:486:15: note: in instantiation of template type alias 'CompileTimeTypeDescriptorConstructor' requested here
static_assert(CompileTimeTypeDescriptorConstructor<std::array<std::int16_t, 3>>::getRuntimeTypeDescriptor()
              ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:416:23: note: candidate template ignored: substitution failure [with T = std::__1::array<short, 3>]
static constexpr auto constructCompileTimeTypeDescriptor()
                      ^
/Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:199:38: error: implicit instantiation of undefined template 'std::__1::array<unsigned short, 4>'
        std::array<std::uint16_t, 4> value_b{{
                                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/Users/bittondb/GoogleDrive/src/legilimens/test/test.cpp:206:9: error: expected a type
        LEGILIMENS_PROBE("b", value_b);
        ^
/Users/bittondb/GoogleDrive/src/legilimens/test/../legilimens.hpp:81:108: note: expanded from macro 'LEGILIMENS_PROBE'
    const ::legilimens::Probe<::legilimens::impl_::CompileTimeTypeDescriptorConstructor<decltype(variable)>, \
                                                                                                           ^
14 errors generated.
make[2]: *** [CMakeFiles/legilimens_test.dir/test.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/legilimens_test.dir/all] Error 2
make: *** [all] Error 2
The terminal process terminated with exit code: 2

I've googled the crap out of this and all I can find is pointing to C++17 but that's correctly added in the CMakeLists.txt. Ideas where I should look?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.