@@ -1886,99 +1886,7 @@ pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
1886
1886
bool __inserted = false ;
1887
1887
if (__child == nullptr ) {
1888
1888
__node_holder __h = __construct_node (std::forward<_Args>(__args)...);
1889
-
1890
- /*
1891
- error: cannot convert
1892
- '__node_holder'
1893
- (aka
1894
- ' unique_ptr<
1895
- __tree_node<
1896
- std::__value_type<int, double>,
1897
- min_pointer<void, std::integral_constant<unsigned long, 0> >
1898
- >,
1899
- __tree_node_destructor<
1900
- min_allocator<
1901
- std::__tree_node<
1902
- std::__value_type<int, double>,
1903
- min_pointer<void, std::integral_constant<unsigned long, 0> >
1904
- >
1905
- >
1906
- >
1907
- >
1908
- '
1909
- )
1910
- to 'double' without a conversion operator
1911
- */
1912
- // double d2 =static_cast<double>(__h);
1913
- // (void)d2;
1914
-
1915
- /*
1916
- error: cannot convert 'pointer'
1917
- (aka
1918
- ' min_pointer<
1919
- std::__tree_node<
1920
- std::__value_type<int, double>,
1921
- min_pointer<void, std::integral_constant<unsigned long, 0>>
1922
- >
1923
- >
1924
- ') to 'double' without a conversion operator
1925
- */
1926
- // double d =static_cast<double>(__h.get());
1927
- // (void)d;
1928
-
1929
- /*
1930
- error: cannot convert '__node_base_pointer' (aka
1931
- ' min_pointer<
1932
- std::__tree_node_base<
1933
- min_pointer<void, std::integral_constant<unsigned long, 0>>
1934
- >,
1935
- std::integral_constant<unsigned long, 0>
1936
- >
1937
- ') to 'double' without a conversion operator
1938
- */
1939
-
1940
- // __node_base_pointer xxx = nullptr;
1941
- // (void)xxx;
1942
- // double d3 =static_cast<double>(xxx);
1943
- // (void)d3;
1944
-
1945
- // __node_base_pointer __foo = static_cast<__node_base_pointer>(__h.get());
1946
- // (void)__foo;
1947
- // __maybe_unused__ __node_base_pointer __foo2 = __node_base_pointer(__h.get());
1948
-
1949
- /*
1950
- error: cannot convert '__tree<std::__value_type<int, double>, std::__map_value_compare<int, std::pair<const int,
1951
- double>, std::less<int>, true>, min_allocator<std::pair<const int, double>>>::__node_holder' (aka
1952
- 'unique_ptr<__tree_node<std::__value_type<int, double>, min_pointer<void, std::integral_constant<unsigned long,
1953
- 0>>>, __tree_node_destructor<min_allocator<std::__tree_node<std::__value_type<int, double>, min_pointer<void,
1954
- std::integral_constant<unsigned long, 0>>>>>>') to 'double' without a conversion operator
1955
- */
1956
- // __tree<_Tp, _Compare, _Allocator>::__node_holder __tmp_nh;
1957
- // double __xxx = static_cast<double>(__tmp_nh);
1958
-
1959
- /*
1960
- error: cannot convert 'pointer' (aka 'min_pointer<std::__tree_node<std::__value_type<int, double>, min_pointer<void,
1961
- std::integral_constant<unsigned long, 0>>>>') to 'double' without a conversion operator
1962
- */
1963
- // __tree<_Tp, _Compare, _Allocator>::__node_holder __tmp_nh;
1964
- // double __xxx = static_cast<double>(__tmp_nh.get());
1965
-
1966
- /*
1967
- note:
1968
- cast from 'void *' is not allowed in a constant expression
1969
- because the pointed object type
1970
- 'std::__tree_node<std::__value_type<int, double>, min_pointer<void>>'
1971
- is not similar to the target type
1972
- 'std::__tree_node_base<min_pointer<void>>'
1973
- */
1974
-
1975
- // TODO: collapse into one branch
1976
- if (__libcpp_is_constant_evaluated ()) {
1977
- __insert_node_at (__parent, __child, std::__static_fancy_pointer_cast<__node_base_pointer>(__h.get ()));
1978
- } else {
1979
- __insert_node_at (__parent, __child, static_cast <__node_base_pointer>(__h.get ()));
1980
- }
1981
-
1889
+ __insert_node_at (__parent, __child, std::__static_fancy_pointer_cast<__node_base_pointer>(__h.get ()));
1982
1890
__r = __h.release ();
1983
1891
__inserted = true ;
1984
1892
}
0 commit comments