%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 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::max(); // Failed to parse (issue #2640): static constexpr size_type kMaxSize = (std::numeric_limits::max)(); // Also fails to parse: // int f(int x = (std::numeric_limits::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::max)(); %}