From: simonpj Date: Wed, 25 Sep 2002 11:09:11 +0000 (+0000) Subject: [project @ 2002-09-25 11:09:11 by simonpj] X-Git-Tag: Approx_11550_changesets_converted~1641 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=d72417969c6112d5d81669757a4863782e7998fb;p=ghc-hetmet.git [project @ 2002-09-25 11:09:11 by simonpj] Dont warn of missing signatures in interface mode --- diff --git a/ghc/compiler/rename/RnBinds.lhs b/ghc/compiler/rename/RnBinds.lhs index 7a0c19e..b176693 100644 --- a/ghc/compiler/rename/RnBinds.lhs +++ b/ghc/compiler/rename/RnBinds.lhs @@ -160,12 +160,18 @@ rnTopMonoBinds mbinds sigs in renameSigsFVs (okBindSig bndr_name_set) sigs `thenM` \ (siglist, sig_fvs) -> - ifOptM Opt_WarnMissingSigs ( + -- 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 not (isInterfaceMode mode && warn_missing_sigs) then let type_sig_vars = [n | Sig n _ _ <- siglist] un_sigd_binders = nameSetToList (delListFromNameSet bndr_name_set type_sig_vars) in mappM_ missingSigWarn un_sigd_binders + else + returnM () ) `thenM_` rn_mono_binds siglist mbinds `thenM` \ (final_binds, bind_fvs) ->