summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/multiprecision/test/git_issue_30.cpp
blob: 288cd62af97339d6f5607cf1b3de34a2320cffca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
///////////////////////////////////////////////////////////////////////////////
//  Copyright 2016 John Maddock. Distributed under the Boost
//  Software License, Version 1.0. (See accompanying file
//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

#include <boost/multiprecision/cpp_int.hpp>

struct E
{
   E(boost::multiprecision::cpp_rational const&)
   {
   }
};

void g(boost::multiprecision::cpp_rational const& r)
{
   std::cout << r << std::endl;
}

int main()
{
#if !defined(BOOST_MP_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !(defined(__APPLE_CC__) && defined(CI_SUPPRESS_KNOWN_ISSUES))
   boost::multiprecision::cpp_int r = 3;
   g(r);
   E x1(r); // triggers explicit conversion operator.
#endif
   return 0;
}