    ;; to balance regardless of the < and >, so if we don't treat any < or >
    ;; as angle brackets it won't mess up any paren balancing.
    ((rust-in-macro) t)
-   
+
    ((looking-at "<")
     (rust-is-lt-char-operator))
 


       ;; A :: introduces a type (or module, but not an expression in any case)
       ((rust-looking-back-str "::") nil)
       
       ((rust-looking-back-str ":")
        (backward-char)
        (rust-is-in-expression-context 'colon))

                        (rust-rewind-irrelevant)
                        (rust-looking-back-symbols '("enum" "struct" "union" "trait" "type"))))))
           ))

         ((equal token 'ambiguous-operator)
          (cond
           ;; An ampersand after an ident has to be an operator rather than a & at the beginning of a ref type
