-rnHsType doc (HsOpTy ty1 (L loc op) ty2)
- = setSrcSpan loc (
- lookupOccRn op `thenM` \ op' ->
- let
- l_op' = L loc op'
- in
- lookupTyFixityRn l_op' `thenM` \ fix ->
- rnLHsType doc ty1 `thenM` \ ty1' ->
- rnLHsType doc ty2 `thenM` \ ty2' ->
- mkHsOpTyRn (\t1 t2 -> HsOpTy t1 l_op' t2) (ppr op') fix ty1' ty2'
- )
+rnHsType doc ty@(HsOpTy ty1 (L loc op) ty2)
+ = setSrcSpan loc $
+ do { ty_ops_ok <- doptM Opt_ScopedTypeVariables -- Badly named option
+ ; checkErr ty_ops_ok (opTyErr op ty)
+ ; op' <- lookupOccRn op
+ ; let l_op' = L loc op'
+ ; fix <- lookupTyFixityRn l_op'
+ ; ty1' <- rnLHsType doc ty1
+ ; ty2' <- rnLHsType doc ty2
+ ; mkHsOpTyRn (\t1 t2 -> HsOpTy t1 l_op' t2) (ppr op') fix ty1' ty2' }