Comments (3)
Update: Funny thing is, clang-5.0 and gcc-7 both compile it (though clang warns about string literal operators being a GNU extension):
lukas@i11pcbarth ~/tmp/mnwe/dyno $ /usr/bin/clang-5.0 --std=c++17 -I /home/lukas/src/dyno/include/ -I /home/lukas/opt/boost_install/include/ ./example.hpp
In file included from ./example.hpp:1:
In file included from /home/lukas/src/dyno/include/dyno.hpp:8:
In file included from /home/lukas/src/dyno/include/dyno/builtin.hpp:8:
In file included from /home/lukas/src/dyno/include/dyno/concept.hpp:8:
/home/lukas/src/dyno/include/dyno/detail/dsl.hpp:124:18: warning: string literal operator templates are a GNU extension [-Wgnu-string-literal-operator-template]
constexpr auto operator""_s() { return detail::string<c...>{}; }
^
1 warning generated.
lukas@i11pcbarth ~/tmp/mnwe/dyno $ /usr/bin/g++-7 --std=c++17 -I /home/lukas/src/dyno/include/ -I /home/lukas/opt/boost_install/include/ ./example.hpp
lukas@i11pcbarth ~/tmp/mnwe/dyno $
Thus, this might be a GCC-8 bug / regression? My feeling is that something in the enable_if
s for poly::unerase_poly
is fishy, but I really don't understand what's going on there.
from dyno.
I've run in in to the same problem with my travis build and gcc-8.0
It seems that gcc-8.2 compiles the sources fine.
from dyno.
Yes, this seems like a GCC bug. I can reproduce with GCC 8.1. I was not able to find a workaround that did not involve making unerase_poly
a non-static member function, which is not satisfactory since that requires capturing this
in the function returned by virtual_impl
even when this
would not otherwise need to be captured. I'll close this as "wontfix" but I'm open to workarounds if somebody has one.
from dyno.
Related Issues (20)
- Provide a vtable implementation based on a switch statement
- Tone down documentation about speed of vtable dispatch
- Use a less generic user-defined literal HOT 4
- Cannot find HanaConfig.cmake HOT 4
- Allow specifying special member functions with DYNO_INTERFACE HOT 1
- Refactor dyno::poly
- Add test coverage for storage policies
- Add test coverage for vtable policies
- Please add Conan Repository support HOT 9
- Please create a C++20 proposal HOT 1
- Please submit to BOOST HOT 1
- make dyno::non_owning_storage the default HOT 1
- Arity and multiple SBO
- Documentation revisions: additional reasons for using this library
- Unnecessary copies for non-macro remote_storage interfaces HOT 1
- Memory is not laundered after placement newing
- Wrong static_assert in detail::erase
- 'concept' and 'requires' are keywords in c++2a HOT 4
- Compile time code generation HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dyno.