On Tue, 21 Apr 2020 at 09:11, Ville Voutilainen <ville.voutilai...@gmail.com> wrote: > > On Tue, 21 Apr 2020 at 04:10, kamlesh kumar <kamleshbha...@gmail.com> wrote: > > > > Thank you for reviewing. > > without _Decay to decay_t in the constructor which takes inplace_type_t, > > cases like this fails > > auto a = std::any(std::in_place_type<std::any>, 5); > > > > for these constructors, standard does not say anything about > > not-sameness checks with any. > > https://en.cppreference.com/w/cpp/utility/any/any. > > Well, sure. Thus: > - the in_place constructor should not _Decay > - the constructor from T should _Decay > - the assignment from a T should _Decay > - emplace should not _Decay > > These bugs are not regressions, so presumably they can wait for stage1.
..except that two of them are. :) Anyhoo, the non-any handling needs to be retained for the T-constructor and the T-assignment, and removing it from emplace is not a regression but should be eventually done.