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

Liu Hao <lh_mouse at 126 dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lh_mouse at 126 dot com

--- Comment #1 from Liu Hao <lh_mouse at 126 dot com> ---
This is a reduced testcase, which compiles fine using clang++ HEAD:

<https://wandbox.org/permlink/yFf8eAbMWxE5HKUC>


----------

#include <type_traits>

template<typename F, typename S>
struct pair {
    F first;
    S second;
    pair(F, S);
};

template<typename K, typename V>
struct map {
    using value_type = pair<const K, V>;
    using const_iterator = const value_type *;
    using iterator = value_type *;

    const_iterator begin() const;
    const_iterator end() const;

    template<typename Pair, typename = typename
std::enable_if<std::is_constructible<value_type, Pair&&>::value>::type>
        iterator insert(const_iterator pos, Pair&& x);

    template<typename Iterator>
        void insert(Iterator first, Iterator last);
};

template<typename IdType>
struct map_type_to_map : map<IdType, int> {
    void add() {
        map<int, int> current_values, values;
        current_values.insert(values.begin(), values.end());
    }
};

Reply via email to