HackerTrans
TopNewTrendsCommentsPastAskShowJobs

martijntje

no profile record

comments

martijntje
·hace 2 años·discuss
If I read that paper correctly, that's only valid if the object can be constructed without code being run - i.e. a trivially constructible type.

Since there is no limitation on the no_destroy type, you can create any type with it, including those which have a non-trivial constructor. Of course, you could use a concept to restrain it to only trivially constructible types, or you could omit the launder in an if constexpr branch and still be compliant.
martijntje
·hace 2 años·discuss
It's interesting to see that the complexity of c++ is so great that even the code in standards proposals contains undefined behaviour. The no_destroy class triggers UB when .get() is called, because it fails to launder the returned pointer. This is required since c++17.
martijntje
·hace 2 años·discuss
If you don't care about watermarks, you can try out Resolume for free indefinitely.