I fixed it. Version 3.0.6 was just uploaded to hackage and is appropriately Trustworthy where needed.<br><br>Please let me know if I missed flagged anything you need flagged, or mis-flagged anything you think shouldn't be. ;)<br>
<br><div class="gmail_quote">On Mon, Oct 29, 2012 at 5:42 PM, Michael Sloan <span dir="ltr"><<a href="mailto:mgsloan@gmail.com" target="_blank">mgsloan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It happened somewhere between 2.6 and 2.7:<br>
<br>
<a href="http://hackage.haskell.org/packages/archive/lens/2.6.1/doc/html/Control-Lens-Internal.html" target="_blank">http://hackage.haskell.org/packages/archive/lens/2.6.1/doc/html/Control-Lens-Internal.html</a><br>
<a href="http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Internal.html" target="_blank">http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Internal.html</a><br>
<br>
The strange thing is that the only internal dependency of 2.7.0.1,<br>
Control.Lens.Isomorphic, is still "Safe-Infered" (this spelling error<br>
should probably be fixed)<br>
<br>
<a href="http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Isomorphic.html" target="_blank">http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Isomorphic.html</a><br>
<br>
It'd be pretty fancy if Safe Haskell could give reasons for "None" /<br>
tell what would have made it unsafe in the event of "Trustworthy".<br>
Particularly fancy if integrated into the haddocks.<br>
<br>
-mgsloan<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Oct 29, 2012 at 2:33 PM, Edward Kmett <<a href="mailto:ekmett@gmail.com">ekmett@gmail.com</a>> wrote:<br>
> Actually Control.Lens.Getter doesn't use TH. The issue is more that it<br>
> depends on some modules I didn't flag as Trustworthy and which require some<br>
> more high-falutin type system extensions that GHC isn't happy about treating<br>
> as Safe. I'll try adding a few Trustworthy flags.<br>
><br>
> It previously was treated as Trustworthy or SafeInfered throughout.<br>
><br>
> Somewhere along the way I must have toggled on an extension and broken that<br>
> property.<br>
><br>
> -Edward<br>
><br>
><br>
> On Mon, Oct 29, 2012 at 1:14 PM, Petr P <<a href="mailto:petr.mvd@gmail.com">petr.mvd@gmail.com</a>> wrote:<br>
>><br>
>> Hi<br>
>><br>
>> I believe the reason is that it uses TemplateHaskell for automatic<br>
>> derivation of labels. And TemplateHaskell is of course unsafe, since<br>
>> it could convert your code into something entirely different.<br>
>><br>
>> Best regards,<br>
>> Petr Pudlak<br>
>><br>
>> 2012/10/29 Greg Fitzgerald <<a href="mailto:garious@gmail.com">garious@gmail.com</a>>:<br>
>> > Why are getters from the 'lens' package unsafe? Is there a subset<br>
>> > like Data.Label.Pure from 'fclabels' that can be imported safely?<br>
>> ><br>
>> ><br>
>> > $ cat a.hs<br>
>> > {-# LANGUAGE Safe #-}<br>
>> ><br>
>> > import Control.Lens.Getter<br>
>> ><br>
>> > main = print 123<br>
>> ><br>
>> > $ runghc a.hs<br>
>> ><br>
>> > a.hs:3:1:<br>
>> > Control.Lens.Getter: Can't be safely imported!<br>
>> > The module itself isn't safe.<br>
>> ><br>
>> ><br>
>> > Thanks,<br>
>> > Greg<br>
>> ><br>
>> > _______________________________________________<br>
>> > Haskell-Cafe mailing list<br>
>> > <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
>> > <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
>><br>
>> _______________________________________________<br>
>> Haskell-Cafe mailing list<br>
>> <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
>> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
><br>
</div></div></blockquote></div><br>