In commit 9ff6e19 (issue #743) in 2018 strict_not_null was introduced. The interface was almost identical to the one of not_null, but the constructor is explicit.
Later in commit 6b23937 in 2020 the move ctor for not_null was removed, but the move constructor for strict_not_null was not removed.
In my opinion the move constructor for strict_not_null should be removed as it was done with the move constructor for not_null. This aligns the interfaces of both classes to be the same. And it removes code that looks like it moves but instead copies, which is at least surprising.
In commit 9ff6e19 (issue #743) in 2018
strict_not_nullwas introduced. The interface was almost identical to the one ofnot_null, but the constructor isexplicit.Later in commit 6b23937 in 2020 the move ctor for
not_nullwas removed, but the move constructor forstrict_not_nullwas not removed.In my opinion the move constructor for
strict_not_nullshould be removed as it was done with the move constructor fornot_null. This aligns the interfaces of both classes to be the same. And it removes code that looks like it moves but instead copies, which is at least surprising.