- renameSigs sigs `thenM` \ siglist ->
- rn_mono_binds siglist mbinds `thenM` \ (binders, final_binds, bind_fvs) ->
- checkSigs okBindSig binders siglist `thenM_`
-
- -- Warn about missing signatures, but not in interface mode
- -- (This is important when renaming bindings from 'deriving' clauses.)
- getModeRn `thenM` \ mode ->
- doptM Opt_WarnMissingSigs `thenM` \ warn_missing_sigs ->
- (if warn_missing_sigs && not (isInterfaceMode mode) then
- let
- type_sig_vars = [n | Sig n _ _ <- siglist]
- un_sigd_binders = filter (not . (`elem` type_sig_vars))
- (nameSetToList binders)
- in
- mappM_ missingSigWarn un_sigd_binders
- else
- returnM ()
- ) `thenM_`
-
- returnM (final_binds, bind_fvs `plusFV` hsSigsFVs siglist)