https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80016

            Bug ID: 80016
           Summary: error is positioned incorrectly
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vanyacpp at gmail dot com
  Target Milestone: ---

Created attachment 40955
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40955&action=edit
expr-loc-bug.cpp

Compilation of the attached file expr-loc-bug.cpp gives the following error
message:

expr-loc-bug.cpp:12:45: error: incomplete type
‘std::is_nothrow_move_constructible<any>’ used in nested name specifier
     static constexpr bool fits_small_storage = sizeof(T) <=
INPLACE_STORAGE_SIZE
                                                     
~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                             && alignof(T) <=
INPLACE_STORAGE_ALIGNMENT
                                            
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                             &&
std::is_nothrow_move_constructible<T>::value;
                                             ^~~~~~

The error message is about is_nothrow_move_constructible but the error range
spans unrelated expressions. Strangely enough it begins in the middle of sizeof
and it ends in the middle of is_nothrow_move_constructible.

Reply via email to