blob: 3e739f5915f5b640e4a6b7127dfbda06320ff068 [file] [log] [blame]
%module cpp11_brackets_expression
%warnfilter(SWIGWARN_PARSE_ASSIGNED_VALUE) Piece::kMaxSize;
%warnfilter(SWIGWARN_PARSE_ASSIGNED_VALUE) Piece::Just123;
%warnfilter(SWIGWARN_PARSE_ASSIGNED_VALUE) ::kMaxSizeGlobal;
%inline %{
#include <limits>
static constexpr int global_as_you_expect(int val) { return val; }
static constexpr int global_one_two_three() { return 123; }
class Piece {
public:
typedef size_t size_type;
typedef int difference_type;
static constexpr size_type kOk2 = std::numeric_limits<difference_type>::max();
// Failed to parse (issue #2640):
static constexpr size_type kMaxSize = (std::numeric_limits<difference_type>::max)();
// Also fails to parse:
// int f(int x = (std::numeric_limits<difference_type>::max)());
static constexpr size_type SimpleAsYouExpect123 = global_as_you_expect(123);
static constexpr size_type SimpleJust123 = global_one_two_three();
static constexpr size_type AsYouExpect123 = (global_as_you_expect)(123); // Did parse okay
static constexpr size_type Just123 = (global_one_two_three)(); // Did not parse okay
};
static const Piece::size_type kMaxSizeGlobal = (std::numeric_limits<Piece::difference_type>::max)();
%}