brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 12c9f20 Raw
39 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// Because we don't have a functioning decltype in C++0310// UNSUPPORTED: c++0311 12// UNSUPPORTED: no-localization13 14// <memory>15 16// unique_ptr17 18// template<class CharT, class Traits, class Y, class D>19//   basic_ostream<CharT, Traits>&20//   operator<<(basic_ostream<CharT, Traits>& os, const unique_ptr<Y, D>& p);21 22//   -?- Remarks: This function shall not participate in overload resolution unless os << p.get() is a valid expression.23 24#include <memory>25#include <sstream>26#include <cassert>27 28#include "min_allocator.h"29#include "deleter_types.h"30 31int main(int, char**)32{33    std::unique_ptr<int, PointerDeleter<int>> p;34    std::ostringstream os;35    os << p; // expected-error {{invalid operands to binary expression}}36 37  return 0;38}39