From 1685a30ee0601ca97647bfa69e74b82898b2be29 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Mon, 21 Jan 2019 15:03:20 +0100 Subject: [PATCH] Added static asserts on classes initialized by memset to make sure it is possible to do --- src/libslic3r/Fill/FillBase.hpp | 1 + src/libslic3r/Slicing.hpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index b67d14339..5ff6d4a31 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -38,6 +38,7 @@ struct FillParams // in this case we don't try to make more continuous paths bool complete; }; +static_assert(std::is_trivially_copyable::value, "FillParams class is not POD (and it should be - see constructor)."); class Fill { diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index 395fedc9f..bd3bf7c0b 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "libslic3r.h" namespace Slic3r @@ -91,6 +92,8 @@ struct SlicingParameters coordf_t object_print_z_min; coordf_t object_print_z_max; }; +static_assert(std::is_trivially_copyable::value, "SlicingParameters class is not POD (and it should be - see constructor)."); + // The two slicing parameters lead to the same layering as long as the variable layer thickness is not in action. inline bool equal_layering(const SlicingParameters &sp1, const SlicingParameters &sp2)