From f73446118d7168e238868b591be748ab0997045c Mon Sep 17 00:00:00 2001 From: Duncan Coutts Date: Thu, 11 Jun 2009 11:52:43 +0000 Subject: [PATCH] Reverse the safe/unsafe requirement on foreign import prim The safe/unsafe annotation doesn't currently mean anything for prim. Just in case we decide it means something later it's better to stick to using one or the other consistently. We decided that using safe is the better one to require (and it's also the default). --- compiler/typecheck/TcForeign.lhs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/typecheck/TcForeign.lhs b/compiler/typecheck/TcForeign.lhs index 23756d9..1a8a3f3 100644 --- a/compiler/typecheck/TcForeign.lhs +++ b/compiler/typecheck/TcForeign.lhs @@ -154,8 +154,8 @@ tcCheckFIType sig_ty arg_tys res_ty idecl@(CImport cconv safety _ _ (CFunction t | cconv == PrimCallConv = do checkCg (checkCOrAsmOrDotNetOrInterp) checkCTarget target - check (safety == PlayRisky) - (text "A `foreign import prim' must always be annotated as `unsafe'") + check (playSafe safety) + (text "The safe/unsafe annotation should not be used with `foreign import prim'.") dflags <- getDOpts checkForeignArgs (isFFIPrimArgumentTy dflags) arg_tys -- prim import result is more liberal, allows (#,,#) -- 1.7.10.4