
Hmm. When I got this libraries\hpc\Trace\Hpc\Mix.hs:3:14: Warning: 'Trace.Hpc.Mix' is marked as Trustworthy but has been inferred as safe! I changed "Trustworthy" to "Safe". But then I got libraries\hpc\Trace\Hpc\Mix.hs:24:1: Data.Time: Can't be safely imported! The module itself isn't safe. This seems unhelpful. After all it's been "inferred as safe". What should I do? Thanks. Simon From: Simon Peyton Jones Sent: 14 November 2014 16:51 To: ghc-devs@haskell.org Subject: Windows breakage This breakage didn't use to happen. Might someone fix it? Thanks. For now I'm going through changing a dozen "Trustworthy" to "Safe". Is that right? Simon librariesWin32SystemWin32Console.hsc:2:14: Warning: 'System.Win32.Console' is marked as Trustworthy but has been inferred as safe! <no location info>: Failing due to -Werror. libraries/Win32/ghc.mk:4: recipe for target 'libraries/Win32/dist-install/build/System/Win32/Console.o' failed

Looks like fallout from a new -Wall warning:
475dd93efa5158a0f9516f6819a24edfc30c1a76, pushed on Wednesday. Perhaps
in the mean time we should just take it out of minusWallOpts so it
doesn't trip validate.
I think I'll do this for the time being.
On Fri, Nov 14, 2014 at 11:40 AM, Simon Peyton Jones
Hmm. When I got this
libraries\hpc\Trace\Hpc\Mix.hs:3:14: Warning:
‘Trace.Hpc.Mix’ is marked as Trustworthy but has been inferred as safe!
I changed “Trustworthy” to “Safe”. But then I got
libraries\hpc\Trace\Hpc\Mix.hs:24:1:
Data.Time: Can't be safely imported! The module itself isn't safe.
This seems unhelpful. After all it’s been “inferred as safe”. What should I do?
Thanks.
Simon
From: Simon Peyton Jones Sent: 14 November 2014 16:51 To: ghc-devs@haskell.org Subject: Windows breakage
This breakage didn’t use to happen. Might someone fix it? Thanks. For now I’m going through changing a dozen “Trustworthy” to “Safe”. Is that right?
Simon
librariesWin32SystemWin32Console.hsc:2:14: Warning:
‘System.Win32.Console’ is marked as Trustworthy but has been inferred as safe!
<no location info>:
Failing due to -Werror.
libraries/Win32/ghc.mk:4: recipe for target 'libraries/Win32/dist-install/build/System/Win32/Console.o' failed
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

David recently added a new -Wall flag for Trustworthiness.
The reasoning is if it is in -Wall, it can actually get seen and will be
used by folks to improve more things from 'Trustworthy' to 'Safe'. After
all, everything that is merely `Trustworthy` needs to live in the trusted
computing base.
The status quo is that you pretty much have no way to know what you _don't_
need Trustworthy on, and efforts in the past to take large libraries and
convert them to SafeHaskell have been fraught with long rebuild cycles,
because the only way to see was to build, haddock, and look.
What you are running when you go to _fix_ the error appears to be an actual
bug in the safety inference code, though, and definitely needs to be looked
at.
It probably does belong in -Wall in the long term, and -Werror is
notoriously fickle, but we should look at what is causing it to go wrong
here and do a bit more due diligence.
-Edward
On Fri, Nov 14, 2014 at 12:40 PM, Simon Peyton Jones
Hmm. When I got this
libraries\hpc\Trace\Hpc\Mix.hs:3:14: Warning:
‘Trace.Hpc.Mix’ is marked as Trustworthy but has been inferred as safe!
I changed “Trustworthy” to “Safe”. But then I got
libraries\hpc\Trace\Hpc\Mix.hs:24:1:
Data.Time: Can't be safely imported! The module itself isn't safe.
This seems unhelpful. After all it’s been “inferred as safe”. What should I do?
Thanks.
Simon
*From:* Simon Peyton Jones *Sent:* 14 November 2014 16:51 *To:* ghc-devs@haskell.org *Subject:* Windows breakage
This breakage didn’t use to happen. Might someone fix it? Thanks. For now I’m going through changing a dozen “Trustworthy” to “Safe”. Is that right?
Simon
librariesWin32SystemWin32Console.hsc:2:14: Warning:
‘System.Win32.Console’ is marked as Trustworthy but has been inferred as safe!
<no location info>:
Failing due to -Werror.
libraries/Win32/ghc.mk:4: recipe for target 'libraries/Win32/dist-install/build/System/Win32/Console.o' failed
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

I've reverted the change in the mean time:
452d6aa95b754a08e1e61800680ccbf6f968aef0 - this doesn't revert the
actual code, just the addition of the new flag to -Wall.
This way, at least ./validate isn't broken for Windows in the mean time.
On Fri, Nov 14, 2014 at 11:56 AM, Edward Kmett
David recently added a new -Wall flag for Trustworthiness.
The reasoning is if it is in -Wall, it can actually get seen and will be used by folks to improve more things from 'Trustworthy' to 'Safe'. After all, everything that is merely `Trustworthy` needs to live in the trusted computing base.
The status quo is that you pretty much have no way to know what you _don't_ need Trustworthy on, and efforts in the past to take large libraries and convert them to SafeHaskell have been fraught with long rebuild cycles, because the only way to see was to build, haddock, and look.
What you are running when you go to _fix_ the error appears to be an actual bug in the safety inference code, though, and definitely needs to be looked at.
It probably does belong in -Wall in the long term, and -Werror is notoriously fickle, but we should look at what is causing it to go wrong here and do a bit more due diligence.
-Edward
On Fri, Nov 14, 2014 at 12:40 PM, Simon Peyton Jones
wrote: Hmm. When I got this
libraries\hpc\Trace\Hpc\Mix.hs:3:14: Warning:
‘Trace.Hpc.Mix’ is marked as Trustworthy but has been inferred as safe!
I changed “Trustworthy” to “Safe”. But then I got
libraries\hpc\Trace\Hpc\Mix.hs:24:1:
Data.Time: Can't be safely imported! The module itself isn't safe.
This seems unhelpful. After all it’s been “inferred as safe”. What should I do?
Thanks.
Simon
From: Simon Peyton Jones Sent: 14 November 2014 16:51 To: ghc-devs@haskell.org Subject: Windows breakage
This breakage didn’t use to happen. Might someone fix it? Thanks. For now I’m going through changing a dozen “Trustworthy” to “Safe”. Is that right?
Simon
librariesWin32SystemWin32Console.hsc:2:14: Warning:
‘System.Win32.Console’ is marked as Trustworthy but has been inferred as safe!
<no location info>:
Failing due to -Werror.
libraries/Win32/ghc.mk:4: recipe for target 'libraries/Win32/dist-install/build/System/Win32/Console.o' failed
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

I'll spin up a windows VM to fix this. Although, do we have any better
approaches these days? Are there Travis machines I can push to or
anything that will validate on windows?
Simon, I suspect there is a stage ordering issue here, that ghc-stage0
has a time library that isn't safe, but stage-1's time library is
safe. That, or I've got a bug in safe-inferring.
Cheers,
David
On 14 November 2014 09:59, Austin Seipp
I've reverted the change in the mean time: 452d6aa95b754a08e1e61800680ccbf6f968aef0 - this doesn't revert the actual code, just the addition of the new flag to -Wall.
This way, at least ./validate isn't broken for Windows in the mean time.
On Fri, Nov 14, 2014 at 11:56 AM, Edward Kmett
wrote: David recently added a new -Wall flag for Trustworthiness.
The reasoning is if it is in -Wall, it can actually get seen and will be used by folks to improve more things from 'Trustworthy' to 'Safe'. After all, everything that is merely `Trustworthy` needs to live in the trusted computing base.
The status quo is that you pretty much have no way to know what you _don't_ need Trustworthy on, and efforts in the past to take large libraries and convert them to SafeHaskell have been fraught with long rebuild cycles, because the only way to see was to build, haddock, and look.
What you are running when you go to _fix_ the error appears to be an actual bug in the safety inference code, though, and definitely needs to be looked at.
It probably does belong in -Wall in the long term, and -Werror is notoriously fickle, but we should look at what is causing it to go wrong here and do a bit more due diligence.
-Edward
On Fri, Nov 14, 2014 at 12:40 PM, Simon Peyton Jones
wrote: Hmm. When I got this
libraries\hpc\Trace\Hpc\Mix.hs:3:14: Warning:
‘Trace.Hpc.Mix’ is marked as Trustworthy but has been inferred as safe!
I changed “Trustworthy” to “Safe”. But then I got
libraries\hpc\Trace\Hpc\Mix.hs:24:1:
Data.Time: Can't be safely imported! The module itself isn't safe.
This seems unhelpful. After all it’s been “inferred as safe”. What should I do?
Thanks.
Simon
From: Simon Peyton Jones Sent: 14 November 2014 16:51 To: ghc-devs@haskell.org Subject: Windows breakage
This breakage didn’t use to happen. Might someone fix it? Thanks. For now I’m going through changing a dozen “Trustworthy” to “Safe”. Is that right?
Simon
librariesWin32SystemWin32Console.hsc:2:14: Warning:
‘System.Win32.Console’ is marked as Trustworthy but has been inferred as safe!
<no location info>:
Failing due to -Werror.
libraries/Win32/ghc.mk:4: recipe for target 'libraries/Win32/dist-install/build/System/Win32/Console.o' failed
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
participants (4)
-
Austin Seipp
-
David Terei
-
Edward Kmett
-
Simon Peyton Jones