Skip to content

Commit 4092191

Browse files
committed
Add static assertions on nature of Slice special member functions
1 parent c26de54 commit 4092191

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/cxx.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,17 @@ static_assert(std::is_trivially_copy_assignable<Str>::value,
169169
"trivial operator=(const Str &)");
170170
static_assert(std::is_trivially_destructible<Str>::value, "trivial ~Str()");
171171

172+
static_assert(std::is_trivially_copy_constructible<Slice<const uint8_t>>::value,
173+
"trivial Slice(const Slice &)");
174+
static_assert(std::is_trivially_move_constructible<Slice<const uint8_t>>::value,
175+
"trivial Slice(Slice &&)");
176+
static_assert(std::is_trivially_copy_assignable<Slice<const uint8_t>>::value,
177+
"trivial Slice::operator=(const Slice &) for const slices");
178+
static_assert(std::is_trivially_move_assignable<Slice<const uint8_t>>::value,
179+
"trivial Slice::operator=(Slice &&)");
180+
static_assert(std::is_trivially_destructible<Slice<const uint8_t>>::value,
181+
"trivial ~Slice()");
182+
172183
extern "C" {
173184
const char *cxxbridge1$error(const char *ptr, size_t len) {
174185
char *copy = new char[len];

0 commit comments

Comments
 (0)