diff --git a/src/util/supervector/supervector.hpp b/src/util/supervector/supervector.hpp index 5e2de235..8414fa60 100644 --- a/src/util/supervector/supervector.hpp +++ b/src/util/supervector/supervector.hpp @@ -208,18 +208,18 @@ public: SuperVector(typename base_type::type const v); template - SuperVector(T const other); + explicit SuperVector(T const other); SuperVector(SuperVector const lo, SuperVector const hi); SuperVector(previous_type const lo, previous_type const hi); - static SuperVector dup_u8 (uint8_t other) { return {other}; }; + static SuperVector dup_u8 (uint8_t other) { return {SuperVector(other)}; }; static SuperVector dup_s8 (int8_t other) { return {other}; }; static SuperVector dup_u16(uint16_t other) { return {other}; }; static SuperVector dup_s16(int16_t other) { return {other}; }; static SuperVector dup_u32(uint32_t other) { return {other}; }; static SuperVector dup_s32(int32_t other) { return {other}; }; - static SuperVector dup_u64(uint64_t other) { return {other}; }; + static SuperVector dup_u64(uint64_t other) { return {SuperVector(other)}; }; static SuperVector dup_s64(int64_t other) { return {other}; }; void operator=(SuperVector const &other);