optional_in_place_t.fail.cpp revision 0cdbe6048173c1f05628dbc85430acf191a3e173
1e837dead3c8dc3445ef6a0e2322179c57e264a13Evan Cheng//===----------------------------------------------------------------------===//
2d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner//
3d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner//                     The LLVM Compiler Infrastructure
4d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner//
5d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner// This file is dual licensed under the MIT and the University of Illinois Open
6d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner// Source Licenses. See LICENSE.TXT for details.
7d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner//
8d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner//===----------------------------------------------------------------------===//
9d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner
1022fee2dff4c43b551aefa44a96ca74fcade6bfacEvan Cheng// <optional>
110ba45d4fb3e11d8085b01008e31477bece20d01dJim Grosbach
12d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner// A program that necessitates the instantiation of template optional for
13d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner// (possibly cv-qualified) in_place_t is ill-formed.
14d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner
15e837dead3c8dc3445ef6a0e2322179c57e264a13Evan Cheng#include <experimental/optional>
16e837dead3c8dc3445ef6a0e2322179c57e264a13Evan Cheng
17d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattnerint main()
181f6efa3996dd1929fbc129203ce5009b620e6969Michael J. Spencer{
1999405df044f2c584242e711cc9023ec90356da82Bruno Cardoso Lopes#if _LIBCPP_STD_VER > 11
20d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner    using std::experimental::optional;
21d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner    using std::experimental::in_place_t;
22d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner    using std::experimental::in_place;
23d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner
24d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner    optional<in_place_t> opt;
250ba45d4fb3e11d8085b01008e31477bece20d01dJim Grosbach#else
26e837dead3c8dc3445ef6a0e2322179c57e264a13Evan Cheng#error
2706801722a43c697eff0acee905de6b50257ce19bJim Grosbach#endif  // _LIBCPP_STD_VER > 11
28d3f99e2bbf5e62261c8948127aacfe9a7d3b2456Chris Lattner}
2906801722a43c697eff0acee905de6b50257ce19bJim Grosbach