mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
ef0ffefe52
* is_comparable_to_nullptr for better static_assert Trying `gsl::not_null<char> p2{ 0 };` on VS2019 the current implementation would trigger >error C2446 : '!=' : no conversion from 'nullptr' to 'int' >message: A native nullptr can only be converted to bool or , using reinterpret_cast, to an integral type >message: see reference to class template instantiation 'gsl::not_null<char>' being compiled >error C2955 : 'std::is_convertible' : use of class template requires template argument list >message: see declaration of 'std::is_convertible' >error C2039 : 'value' : is not a member of 'std::is_convertible<_From,_To>' >error C2065 : 'value' : undeclared identifier The new implementation gives much shorter and clearer message and does exactly as the `static_assert` intends to do: > error C2338: T cannot be compared to nullptr. > message : see reference to class template instantiation 'gsl::not_null<char *>' being compiled * Update include/gsl/pointers Co-authored-by: Casey Carter <cartec69@gmail.com> Co-authored-by: Werner Henze <w.henze@avm.de> Co-authored-by: Casey Carter <cartec69@gmail.com> |
||
---|---|---|
.. | ||
algorithm | ||
assert | ||
byte | ||
gsl | ||
gsl_algorithm | ||
gsl_assert | ||
gsl_byte | ||
gsl_narrow | ||
gsl_util | ||
narrow | ||
pointers | ||
span | ||
span_ext | ||
string_span | ||
util |