Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC

Commits:

6 changed files:

Changes:

  • utils/haddock/CHANGES.md
    1 1
     ## Changes in 2.32.0
    
    2 2
      * Add highlighting for inline-code-blocks (sections enclosed in @'s)
    
    3 3
     
    
    4
    + * Fix missing documentation for orphan instances from other packages.
    
    5
    +
    
    4 6
      * Add incremental mode to support rendering documentation one module at a time.
    
    5 7
     
    
    6 8
      * The flag `--no-compilation` has been added. This flag causes Haddock to avoid
    

  • utils/haddock/haddock-api/src/Haddock/Interface/AttachInstances.hs
    ... ... @@ -88,7 +88,10 @@ attachInstances expInfo ifaces instIfaceMap isOneShot = do
    88 88
               , fromOrig == Just True || not (null reExp)
    
    89 89
               ]
    
    90 90
           mods_to_load = moduleSetElts mods
    
    91
    -      mods_visible = mkModuleSet $ map ifaceMod ifaces
    
    91
    +      -- We need to ensure orphans in modules outside of this package are included.
    
    92
    +      -- See https://gitlab.haskell.org/ghc/ghc/-/issues/25147
    
    93
    +      -- and https://gitlab.haskell.org/ghc/ghc/-/issues/26079
    
    94
    +      mods_visible = mkModuleSet $ concatMap (liftA2 (:) ifaceMod ifaceOrphanDeps) ifaces
    
    92 95
     
    
    93 96
       (_msgs, mb_index) <- do
    
    94 97
         hsc_env <- getSession
    

  • utils/haddock/haddock-api/src/Haddock/Interface/Create.hs
    ... ... @@ -59,6 +59,7 @@ import GHC.Types.Name.Set
    59 59
     import GHC.Types.SafeHaskell
    
    60 60
     import qualified GHC.Types.SrcLoc as SrcLoc
    
    61 61
     import qualified GHC.Types.Unique.Map as UniqMap
    
    62
    +import GHC.Unit.Module.Deps (dep_orphs)
    
    62 63
     import GHC.Unit.Module.ModIface
    
    63 64
     import GHC.Unit.State (PackageName (..), UnitState)
    
    64 65
     import GHC.Utils.Outputable (SDocContext)
    
    ... ... @@ -270,6 +271,7 @@ createInterface1' flags unit_state dflags hie_file mod_iface ifaces inst_ifaces
    270 271
           , ifaceVisibleExports = visible_names
    
    271 272
           , ifaceFixMap = fixities
    
    272 273
           , ifaceInstances = instances
    
    274
    +      , ifaceOrphanDeps = dep_orphs $ mi_deps mod_iface
    
    273 275
           , ifaceOrphanInstances = [] -- Filled in attachInstances
    
    274 276
           , ifaceRnOrphanInstances = [] -- Filled in renameInterfaceRn
    
    275 277
           , ifaceHaddockCoverage = coverage
    

  • utils/haddock/haddock-api/src/Haddock/Types.hs
    ... ... @@ -134,6 +134,9 @@ data Interface = Interface
    134 134
       -- Names from modules that are entirely re-exported don't count as visible.
    
    135 135
       , ifaceInstances :: [ClsInst]
    
    136 136
       -- ^ Instances exported by the module.
    
    137
    +  , ifaceOrphanDeps :: [Module]
    
    138
    +  -- ^ The list of modules to check for orphan instances if this module is
    
    139
    +  -- imported.
    
    137 140
       , ifaceOrphanInstances :: [DocInstance GhcRn]
    
    138 141
       -- ^ Orphan instances
    
    139 142
       , ifaceRnOrphanInstances :: [DocInstance DocNameI]
    

  • utils/haddock/haddock-test/src/Test/Haddock/Config.hs
    ... ... @@ -262,6 +262,7 @@ baseDependencies ghcPath = do
    262 262
           pkgs =
    
    263 263
             [ "array"
    
    264 264
             , "base"
    
    265
    +        , "deepseq"
    
    265 266
             , "ghc-prim"
    
    266 267
             , "process"
    
    267 268
             , "template-haskell"
    

  • utils/haddock/html-test/ref/Bug1004.html
    ... ... @@ -833,7 +833,61 @@
    833 833
     		><tr
    
    834 834
     		><td class="src clearfix"
    
    835 835
     		  ><span class="inst-left"
    
    836
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:8"
    
    836
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:NFData1:8"
    
    837
    +		      ></span
    
    838
    +		      > <span class="breakable"
    
    839
    +		      >(<span class="unbreakable"
    
    840
    +			><a href="#" title="Control.DeepSeq"
    
    841
    +			  >NFData1</a
    
    842
    +			  > f</span
    
    843
    +			>, <span class="unbreakable"
    
    844
    +			><a href="#" title="Control.DeepSeq"
    
    845
    +			  >NFData1</a
    
    846
    +			  > g</span
    
    847
    +			>)</span
    
    848
    +		      > =&gt; <a href="#" title="Control.DeepSeq"
    
    849
    +		      >NFData1</a
    
    850
    +		      > (<a href="#" title="Bug1004"
    
    851
    +		      >Product</a
    
    852
    +		      > f g)</span
    
    853
    +		    > <a href="#" class="selflink"
    
    854
    +		    >#</a
    
    855
    +		    ></td
    
    856
    +		  ><td class="doc"
    
    857
    +		  ><p
    
    858
    +		    ><em
    
    859
    +		      >Since: deepseq-1.4.3.0</em
    
    860
    +		      ></p
    
    861
    +		    ></td
    
    862
    +		  ></tr
    
    863
    +		><tr
    
    864
    +		><td colspan="2"
    
    865
    +		  ><details id="i:id:Product:NFData1:8"
    
    866
    +		    ><summary class="hide-when-js-enabled"
    
    867
    +		      >Instance details</summary
    
    868
    +		      ><p
    
    869
    +		      >Defined in <a href="#"
    
    870
    +			>Control.DeepSeq</a
    
    871
    +			></p
    
    872
    +		      > <div class="subs methods"
    
    873
    +		      ><p class="caption"
    
    874
    +			>Methods</p
    
    875
    +			><p class="src"
    
    876
    +			><a href="#"
    
    877
    +			  >liftRnf</a
    
    878
    +			  > :: (a -&gt; ()) -&gt; <a href="#" title="Bug1004"
    
    879
    +			  >Product</a
    
    880
    +			  > f g a -&gt; () <a href="#" class="selflink"
    
    881
    +			  >#</a
    
    882
    +			  ></p
    
    883
    +			></div
    
    884
    +		      ></details
    
    885
    +		    ></td
    
    886
    +		  ></tr
    
    887
    +		><tr
    
    888
    +		><td class="src clearfix"
    
    889
    +		  ><span class="inst-left"
    
    890
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:9"
    
    837 891
     		      ></span
    
    838 892
     		      > <span class="breakable"
    
    839 893
     		      >(<span class="unbreakable"
    
    ... ... @@ -862,7 +916,7 @@
    862 916
     		  ></tr
    
    863 917
     		><tr
    
    864 918
     		><td colspan="2"
    
    865
    -		  ><details id="i:id:Product:Alternative:8"
    
    919
    +		  ><details id="i:id:Product:Alternative:9"
    
    866 920
     		    ><summary class="hide-when-js-enabled"
    
    867 921
     		      >Instance details</summary
    
    868 922
     		      ><p
    
    ... ... @@ -919,7 +973,7 @@
    919 973
     		><tr
    
    920 974
     		><td class="src clearfix"
    
    921 975
     		  ><span class="inst-left"
    
    922
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:9"
    
    976
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:10"
    
    923 977
     		      ></span
    
    924 978
     		      > <span class="breakable"
    
    925 979
     		      >(<span class="unbreakable"
    
    ... ... @@ -948,7 +1002,7 @@
    948 1002
     		  ></tr
    
    949 1003
     		><tr
    
    950 1004
     		><td colspan="2"
    
    951
    -		  ><details id="i:id:Product:Applicative:9"
    
    1005
    +		  ><details id="i:id:Product:Applicative:10"
    
    952 1006
     		    ><summary class="hide-when-js-enabled"
    
    953 1007
     		      >Instance details</summary
    
    954 1008
     		      ><p
    
    ... ... @@ -1021,7 +1075,7 @@
    1021 1075
     		><tr
    
    1022 1076
     		><td class="src clearfix"
    
    1023 1077
     		  ><span class="inst-left"
    
    1024
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:10"
    
    1078
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:11"
    
    1025 1079
     		      ></span
    
    1026 1080
     		      > <span class="breakable"
    
    1027 1081
     		      >(<span class="unbreakable"
    
    ... ... @@ -1050,7 +1104,7 @@
    1050 1104
     		  ></tr
    
    1051 1105
     		><tr
    
    1052 1106
     		><td colspan="2"
    
    1053
    -		  ><details id="i:id:Product:Functor:10"
    
    1107
    +		  ><details id="i:id:Product:Functor:11"
    
    1054 1108
     		    ><summary class="hide-when-js-enabled"
    
    1055 1109
     		      >Instance details</summary
    
    1056 1110
     		      ><p
    
    ... ... @@ -1087,7 +1141,7 @@
    1087 1141
     		><tr
    
    1088 1142
     		><td class="src clearfix"
    
    1089 1143
     		  ><span class="inst-left"
    
    1090
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:11"
    
    1144
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:12"
    
    1091 1145
     		      ></span
    
    1092 1146
     		      > <span class="breakable"
    
    1093 1147
     		      >(<span class="unbreakable"
    
    ... ... @@ -1116,7 +1170,7 @@
    1116 1170
     		  ></tr
    
    1117 1171
     		><tr
    
    1118 1172
     		><td colspan="2"
    
    1119
    -		  ><details id="i:id:Product:Monad:11"
    
    1173
    +		  ><details id="i:id:Product:Monad:12"
    
    1120 1174
     		    ><summary class="hide-when-js-enabled"
    
    1121 1175
     		      >Instance details</summary
    
    1122 1176
     		      ><p
    
    ... ... @@ -1165,7 +1219,7 @@
    1165 1219
     		><tr
    
    1166 1220
     		><td class="src clearfix"
    
    1167 1221
     		  ><span class="inst-left"
    
    1168
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:12"
    
    1222
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:13"
    
    1169 1223
     		      ></span
    
    1170 1224
     		      > <span class="breakable"
    
    1171 1225
     		      >(<span class="unbreakable"
    
    ... ... @@ -1194,7 +1248,7 @@
    1194 1248
     		  ></tr
    
    1195 1249
     		><tr
    
    1196 1250
     		><td colspan="2"
    
    1197
    -		  ><details id="i:id:Product:MonadPlus:12"
    
    1251
    +		  ><details id="i:id:Product:MonadPlus:13"
    
    1198 1252
     		    ><summary class="hide-when-js-enabled"
    
    1199 1253
     		      >Instance details</summary
    
    1200 1254
     		      ><p
    
    ... ... @@ -1231,7 +1285,7 @@
    1231 1285
     		><tr
    
    1232 1286
     		><td class="src clearfix"
    
    1233 1287
     		  ><span class="inst-left"
    
    1234
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:13"
    
    1288
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:14"
    
    1235 1289
     		      ></span
    
    1236 1290
     		      > <span class="breakable"
    
    1237 1291
     		      >(<span class="unbreakable"
    
    ... ... @@ -1260,7 +1314,7 @@
    1260 1314
     		  ></tr
    
    1261 1315
     		><tr
    
    1262 1316
     		><td colspan="2"
    
    1263
    -		  ><details id="i:id:Product:MonadFix:13"
    
    1317
    +		  ><details id="i:id:Product:MonadFix:14"
    
    1264 1318
     		    ><summary class="hide-when-js-enabled"
    
    1265 1319
     		      >Instance details</summary
    
    1266 1320
     		      ><p
    
    ... ... @@ -1287,7 +1341,7 @@
    1287 1341
     		><tr
    
    1288 1342
     		><td class="src clearfix"
    
    1289 1343
     		  ><span class="inst-left"
    
    1290
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:14"
    
    1344
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:15"
    
    1291 1345
     		      ></span
    
    1292 1346
     		      > <span class="breakable"
    
    1293 1347
     		      >(<span class="unbreakable"
    
    ... ... @@ -1316,7 +1370,7 @@
    1316 1370
     		  ></tr
    
    1317 1371
     		><tr
    
    1318 1372
     		><td colspan="2"
    
    1319
    -		  ><details id="i:id:Product:MonadZip:14"
    
    1373
    +		  ><details id="i:id:Product:MonadZip:15"
    
    1320 1374
     		    ><summary class="hide-when-js-enabled"
    
    1321 1375
     		      >Instance details</summary
    
    1322 1376
     		      ><p
    
    ... ... @@ -1369,7 +1423,7 @@
    1369 1423
     		><tr
    
    1370 1424
     		><td class="src clearfix"
    
    1371 1425
     		  ><span class="inst-left"
    
    1372
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:15"
    
    1426
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:16"
    
    1373 1427
     		      ></span
    
    1374 1428
     		      > <span class="breakable"
    
    1375 1429
     		      >(<span class="unbreakable"
    
    ... ... @@ -1398,7 +1452,7 @@
    1398 1452
     		  ></tr
    
    1399 1453
     		><tr
    
    1400 1454
     		><td colspan="2"
    
    1401
    -		  ><details id="i:id:Product:Foldable:15"
    
    1455
    +		  ><details id="i:id:Product:Foldable:16"
    
    1402 1456
     		    ><summary class="hide-when-js-enabled"
    
    1403 1457
     		      >Instance details</summary
    
    1404 1458
     		      ><p
    
    ... ... @@ -1573,7 +1627,7 @@
    1573 1627
     		><tr
    
    1574 1628
     		><td class="src clearfix"
    
    1575 1629
     		  ><span class="inst-left"
    
    1576
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:16"
    
    1630
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:17"
    
    1577 1631
     		      ></span
    
    1578 1632
     		      > <span class="breakable"
    
    1579 1633
     		      >(<span class="unbreakable"
    
    ... ... @@ -1602,7 +1656,7 @@
    1602 1656
     		  ></tr
    
    1603 1657
     		><tr
    
    1604 1658
     		><td colspan="2"
    
    1605
    -		  ><details id="i:id:Product:Traversable:16"
    
    1659
    +		  ><details id="i:id:Product:Traversable:17"
    
    1606 1660
     		    ><summary class="hide-when-js-enabled"
    
    1607 1661
     		      >Instance details</summary
    
    1608 1662
     		      ><p
    
    ... ... @@ -1667,7 +1721,65 @@
    1667 1721
     		><tr
    
    1668 1722
     		><td class="src clearfix"
    
    1669 1723
     		  ><span class="inst-left"
    
    1670
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:17"
    
    1724
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:NFData:18"
    
    1725
    +		      ></span
    
    1726
    +		      > <span class="breakable"
    
    1727
    +		      >(<span class="unbreakable"
    
    1728
    +			><a href="#" title="Control.DeepSeq"
    
    1729
    +			  >NFData</a
    
    1730
    +			  > (f a)</span
    
    1731
    +			>, <span class="unbreakable"
    
    1732
    +			><a href="#" title="Control.DeepSeq"
    
    1733
    +			  >NFData</a
    
    1734
    +			  > (g a)</span
    
    1735
    +			>)</span
    
    1736
    +		      > =&gt; <a href="#" title="Control.DeepSeq"
    
    1737
    +		      >NFData</a
    
    1738
    +		      > (<a href="#" title="Bug1004"
    
    1739
    +		      >Product</a
    
    1740
    +		      > f g a)</span
    
    1741
    +		    > <a href="#" class="selflink"
    
    1742
    +		    >#</a
    
    1743
    +		    ></td
    
    1744
    +		  ><td class="doc"
    
    1745
    +		  ><p
    
    1746
    +		    >Note: in <code class="inline-code"
    
    1747
    +		      >deepseq-1.5.0.0</code
    
    1748
    +		      > this instance's superclasses were changed.</p
    
    1749
    +		    ><p
    
    1750
    +		    ><em
    
    1751
    +		      >Since: deepseq-1.4.3.0</em
    
    1752
    +		      ></p
    
    1753
    +		    ></td
    
    1754
    +		  ></tr
    
    1755
    +		><tr
    
    1756
    +		><td colspan="2"
    
    1757
    +		  ><details id="i:id:Product:NFData:18"
    
    1758
    +		    ><summary class="hide-when-js-enabled"
    
    1759
    +		      >Instance details</summary
    
    1760
    +		      ><p
    
    1761
    +		      >Defined in <a href="#"
    
    1762
    +			>Control.DeepSeq</a
    
    1763
    +			></p
    
    1764
    +		      > <div class="subs methods"
    
    1765
    +		      ><p class="caption"
    
    1766
    +			>Methods</p
    
    1767
    +			><p class="src"
    
    1768
    +			><a href="#"
    
    1769
    +			  >rnf</a
    
    1770
    +			  > :: <a href="#" title="Bug1004"
    
    1771
    +			  >Product</a
    
    1772
    +			  > f g a -&gt; () <a href="#" class="selflink"
    
    1773
    +			  >#</a
    
    1774
    +			  ></p
    
    1775
    +			></div
    
    1776
    +		      ></details
    
    1777
    +		    ></td
    
    1778
    +		  ></tr
    
    1779
    +		><tr
    
    1780
    +		><td class="src clearfix"
    
    1781
    +		  ><span class="inst-left"
    
    1782
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:19"
    
    1671 1783
     		      ></span
    
    1672 1784
     		      > <span class="breakable"
    
    1673 1785
     		      >(<span class="unbreakable"
    
    ... ... @@ -1696,7 +1808,7 @@
    1696 1808
     		  ></tr
    
    1697 1809
     		><tr
    
    1698 1810
     		><td colspan="2"
    
    1699
    -		  ><details id="i:id:Product:Monoid:17"
    
    1811
    +		  ><details id="i:id:Product:Monoid:19"
    
    1700 1812
     		    ><summary class="hide-when-js-enabled"
    
    1701 1813
     		      >Instance details</summary
    
    1702 1814
     		      ><p
    
    ... ... @@ -1743,7 +1855,7 @@
    1743 1855
     		><tr
    
    1744 1856
     		><td class="src clearfix"
    
    1745 1857
     		  ><span class="inst-left"
    
    1746
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:18"
    
    1858
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:20"
    
    1747 1859
     		      ></span
    
    1748 1860
     		      > <span class="breakable"
    
    1749 1861
     		      >(<span class="unbreakable"
    
    ... ... @@ -1772,7 +1884,7 @@
    1772 1884
     		  ></tr
    
    1773 1885
     		><tr
    
    1774 1886
     		><td colspan="2"
    
    1775
    -		  ><details id="i:id:Product:Semigroup:18"
    
    1887
    +		  ><details id="i:id:Product:Semigroup:20"
    
    1776 1888
     		    ><summary class="hide-when-js-enabled"
    
    1777 1889
     		      >Instance details</summary
    
    1778 1890
     		      ><p
    
    ... ... @@ -1825,7 +1937,7 @@
    1825 1937
     		><tr
    
    1826 1938
     		><td class="src clearfix"
    
    1827 1939
     		  ><span class="inst-left"
    
    1828
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:19"
    
    1940
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:21"
    
    1829 1941
     		      ></span
    
    1830 1942
     		      > <span class="breakable"
    
    1831 1943
     		      >(<span class="unbreakable"
    
    ... ... @@ -1854,7 +1966,7 @@
    1854 1966
     		  ></tr
    
    1855 1967
     		><tr
    
    1856 1968
     		><td colspan="2"
    
    1857
    -		  ><details id="i:id:Product:Eq:19"
    
    1969
    +		  ><details id="i:id:Product:Eq:21"
    
    1858 1970
     		    ><summary class="hide-when-js-enabled"
    
    1859 1971
     		      >Instance details</summary
    
    1860 1972
     		      ><p
    
    ... ... @@ -1895,7 +2007,7 @@
    1895 2007
     		><tr
    
    1896 2008
     		><td class="src clearfix"
    
    1897 2009
     		  ><span class="inst-left"
    
    1898
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:20"
    
    2010
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:22"
    
    1899 2011
     		      ></span
    
    1900 2012
     		      > <span class="breakable"
    
    1901 2013
     		      >(<span class="unbreakable"
    
    ... ... @@ -1924,7 +2036,7 @@
    1924 2036
     		  ></tr
    
    1925 2037
     		><tr
    
    1926 2038
     		><td colspan="2"
    
    1927
    -		  ><details id="i:id:Product:Ord:20"
    
    2039
    +		  ><details id="i:id:Product:Ord:22"
    
    1928 2040
     		    ><summary class="hide-when-js-enabled"
    
    1929 2041
     		      >Instance details</summary
    
    1930 2042
     		      ><p
    
    ... ... @@ -2025,7 +2137,7 @@
    2025 2137
     		><tr
    
    2026 2138
     		><td class="src clearfix"
    
    2027 2139
     		  ><span class="inst-left"
    
    2028
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:21"
    
    2140
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:23"
    
    2029 2141
     		      ></span
    
    2030 2142
     		      > <span class="breakable"
    
    2031 2143
     		      >(<span class="unbreakable"
    
    ... ... @@ -2070,7 +2182,7 @@
    2070 2182
     		  ></tr
    
    2071 2183
     		><tr
    
    2072 2184
     		><td colspan="2"
    
    2073
    -		  ><details id="i:id:Product:Data:21"
    
    2185
    +		  ><details id="i:id:Product:Data:23"
    
    2074 2186
     		    ><summary class="hide-when-js-enabled"
    
    2075 2187
     		      >Instance details</summary
    
    2076 2188
     		      ><p
    
    ... ... @@ -2293,7 +2405,7 @@
    2293 2405
     		><tr
    
    2294 2406
     		><td class="src clearfix"
    
    2295 2407
     		  ><span class="inst-left"
    
    2296
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:22"
    
    2408
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:24"
    
    2297 2409
     		      ></span
    
    2298 2410
     		      > <a href="#" title="GHC.Generics"
    
    2299 2411
     		      >Generic</a
    
    ... ... @@ -2308,7 +2420,7 @@
    2308 2420
     		  ></tr
    
    2309 2421
     		><tr
    
    2310 2422
     		><td colspan="2"
    
    2311
    -		  ><details id="i:id:Product:Generic:22"
    
    2423
    +		  ><details id="i:id:Product:Generic:24"
    
    2312 2424
     		    ><summary class="hide-when-js-enabled"
    
    2313 2425
     		      >Instance details</summary
    
    2314 2426
     		      ><p
    
    ... ... @@ -2447,7 +2559,7 @@
    2447 2559
     		><tr
    
    2448 2560
     		><td class="src clearfix"
    
    2449 2561
     		  ><span class="inst-left"
    
    2450
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:23"
    
    2562
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:25"
    
    2451 2563
     		      ></span
    
    2452 2564
     		      > <span class="breakable"
    
    2453 2565
     		      >(<span class="unbreakable"
    
    ... ... @@ -2476,7 +2588,7 @@
    2476 2588
     		  ></tr
    
    2477 2589
     		><tr
    
    2478 2590
     		><td colspan="2"
    
    2479
    -		  ><details id="i:id:Product:Read:23"
    
    2591
    +		  ><details id="i:id:Product:Read:25"
    
    2480 2592
     		    ><summary class="hide-when-js-enabled"
    
    2481 2593
     		      >Instance details</summary
    
    2482 2594
     		      ><p
    
    ... ... @@ -2535,7 +2647,7 @@
    2535 2647
     		><tr
    
    2536 2648
     		><td class="src clearfix"
    
    2537 2649
     		  ><span class="inst-left"
    
    2538
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:24"
    
    2650
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:26"
    
    2539 2651
     		      ></span
    
    2540 2652
     		      > <span class="breakable"
    
    2541 2653
     		      >(<span class="unbreakable"
    
    ... ... @@ -2564,7 +2676,7 @@
    2564 2676
     		  ></tr
    
    2565 2677
     		><tr
    
    2566 2678
     		><td colspan="2"
    
    2567
    -		  ><details id="i:id:Product:Show:24"
    
    2679
    +		  ><details id="i:id:Product:Show:26"
    
    2568 2680
     		    ><summary class="hide-when-js-enabled"
    
    2569 2681
     		      >Instance details</summary
    
    2570 2682
     		      ><p
    
    ... ... @@ -2613,7 +2725,7 @@
    2613 2725
     		><tr
    
    2614 2726
     		><td class="src clearfix"
    
    2615 2727
     		  ><span class="inst-left"
    
    2616
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep1:25"
    
    2728
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep1:27"
    
    2617 2729
     		      ></span
    
    2618 2730
     		      > <span class="keyword"
    
    2619 2731
     		      >type</span
    
    ... ... @@ -2636,7 +2748,7 @@
    2636 2748
     		  ></tr
    
    2637 2749
     		><tr
    
    2638 2750
     		><td colspan="2"
    
    2639
    -		  ><details id="i:id:Product:Rep1:25"
    
    2751
    +		  ><details id="i:id:Product:Rep1:27"
    
    2640 2752
     		    ><summary class="hide-when-js-enabled"
    
    2641 2753
     		      >Instance details</summary
    
    2642 2754
     		      ><p
    
    ... ... @@ -2711,7 +2823,7 @@
    2711 2823
     		><tr
    
    2712 2824
     		><td class="src clearfix"
    
    2713 2825
     		  ><span class="inst-left"
    
    2714
    -		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep:26"
    
    2826
    +		    ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep:28"
    
    2715 2827
     		      ></span
    
    2716 2828
     		      > <span class="keyword"
    
    2717 2829
     		      >type</span
    
    ... ... @@ -2732,7 +2844,7 @@
    2732 2844
     		  ></tr
    
    2733 2845
     		><tr
    
    2734 2846
     		><td colspan="2"
    
    2735
    -		  ><details id="i:id:Product:Rep:26"
    
    2847
    +		  ><details id="i:id:Product:Rep:28"
    
    2736 2848
     		    ><summary class="hide-when-js-enabled"
    
    2737 2849
     		      >Instance details</summary
    
    2738 2850
     		      ><p