diff --git a/doc/changelog.dox b/doc/changelog.dox index 069f2c44e..d2e4f04cd 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -258,6 +258,9 @@ See also: @ref Animation library was changed to allow mutable access to the keys & values it references. Existing code needs to be changed to say @cpp TrackView @ce instead of @cpp TrackView @ce. +- The 4-argument @ref GL::DynamicAttribute constructor was not marked as + @cpp explicit @ce by mistake, it's done now to enforce readability in long + expressions. - @ref Math::Matrix3::scaling() const and @ref Math::Matrix4::scaling() const now return a signed scaling vector instead of unsigned in order to prevent information loss. To restore the old behavior, apply @ref Math::abs() on diff --git a/src/Magnum/GL/Attribute.h b/src/Magnum/GL/Attribute.h index 4b863b71d..eed949037 100644 --- a/src/Magnum/GL/Attribute.h +++ b/src/Magnum/GL/Attribute.h @@ -513,13 +513,13 @@ class DynamicAttribute { * @param components Component count * @param dataType Type of passed data */ - constexpr DynamicAttribute(Kind kind, UnsignedInt location, Components components, DataType dataType): _kind{kind}, _location{location}, _components{components}, _dataType{dataType} {} + constexpr explicit DynamicAttribute(Kind kind, UnsignedInt location, Components components, DataType dataType): _kind{kind}, _location{location}, _components{components}, _dataType{dataType} {} /** * @brief Construct from a compile-time attribute * @m_since{2019,10} */ - template constexpr DynamicAttribute(const Attribute& attribute); + template constexpr /*implicit*/ DynamicAttribute(const Attribute& attribute); /** @brief Attribute kind */ constexpr Kind kind() const { return _kind; }