// RUN: %target-parse-verify-swift prefix operator +++ {} postfix operator +++ {} infix operator +++ {} infix operator +++= { associativity right } infix operator *** { precedence 123 } infix operator --- { precedence 123 associativity left } infix operator >>> { precedence 123 associativity right } infix operator &&& { associativity none precedence 123 } prefix operator // expected-error {{expected operator name in operator declaration}} ; prefix operator %%+ // expected-error {{expected '{' after operator name in 'operator' declaration}} prefix operator %%/ { + // expected-error {{expected operator attribute identifier in 'operator' declaration body}} } prefix operator %%% { associativity none // expected-error{{'associativity' is not a valid prefix operator attribute}} } postfix operator %%% { associativity none // expected-error{{'associativity' is not a valid postfix operator attribute}} } infix operator !!! { associativity none associativity left // expected-error{{'associativity' for infix operator declared multiple times}} } infix operator ^^^ { precedence 22 precedence 44 // expected-error{{'precedence' for infix operator declared multiple times}} } infix operator === { associativity free // expected-error{{'free' is not a valid infix operator associativity}} } infix operator !== { associativity 123 // expected-error{{expected identifier after 'associativity' in 'operator' declaration body}} } infix operator !!= { precedence blah // expected-error{{expected integer literal after 'precedence' in 'operator' declaration body}} } infix operator !<> { runcibility 12 // expected-error{{'runcibility' is not a valid infix operator attribute}} } class Foo { infix operator ||| {} // expected-error{{'operator' may only be declared at file scope}} } // rdar://14690497 infix operator ~> { precedence 99999 } // expected-error {{'precedence' must be in the range of 0 to 255}} infix operator ->= { assignment } infix operator ->== { assignment assignment // expected-error{{'assignment' for infix operator declared multiple}} }