[commit: haddock] ghc-head, ghc-head1, headdock-library-1.4.5, ie_avails, master, pr/cabal-desc, v2.18, wip/revert-ttg-2017-11-20, wip/ttg-2017-10-13, wip/ttg-2017-10-31, wip/ttg-2017-11-06, wip/ttg2-2017-11-10, wip/ttg3-2017-11-12, wip/ttg4-constraints-2017-11-13: Document record fields when DuplicateRecordFields is enabled (#649) (a330da5)

git at git.haskell.org git at git.haskell.org
Mon Nov 20 21:08:51 UTC 2017


Repository : ssh://git@git.haskell.org/haddock

On branches: ghc-head,ghc-head1,headdock-library-1.4.5,ie_avails,master,pr/cabal-desc,v2.18,wip/revert-ttg-2017-11-20,wip/ttg-2017-10-13,wip/ttg-2017-10-31,wip/ttg-2017-11-06,wip/ttg2-2017-11-10,wip/ttg3-2017-11-12,wip/ttg4-constraints-2017-11-13
Link       : http://git.haskell.org/haddock.git/commitdiff/a330da5297106ff214cbb5e74965d9d1ef9dab7b

>---------------------------------------------------------------

commit a330da5297106ff214cbb5e74965d9d1ef9dab7b
Author: Alex Biehl <alexbiehl at gmail.com>
Date:   Mon Jul 3 19:43:04 2017 +0200

    Document record fields when DuplicateRecordFields is enabled (#649)


>---------------------------------------------------------------

a330da5297106ff214cbb5e74965d9d1ef9dab7b
 haddock-api/src/Haddock/Interface/Create.hs        |   2 +-
 .../{Bug195.html => DuplicateRecordFields.html}    | 112 ++++++++-------------
 html-test/src/DuplicateRecordFields.hs             |  25 +++++
 3 files changed, 70 insertions(+), 69 deletions(-)

diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs
index 9227c37..b9179d1 100644
--- a/haddock-api/src/Haddock/Interface/Create.hs
+++ b/haddock-api/src/Haddock/Interface/Create.hs
@@ -79,7 +79,7 @@ createInterface tm flags modMap instIfaceMap = do
       dflags         = ms_hspp_opts ms
       !instances     = modInfoInstances mi
       !fam_instances = md_fam_insts md
-      !exportedNames = modInfoExports mi
+      !exportedNames = modInfoExportsWithSelectors mi
 
       (TcGblEnv { tcg_rdr_env = gre
                 , tcg_warns   = warnings
diff --git a/html-test/ref/Bug195.html b/html-test/ref/DuplicateRecordFields.html
similarity index 60%
copy from html-test/ref/Bug195.html
copy to html-test/ref/DuplicateRecordFields.html
index ca5c2cc..4430b50 100644
--- a/html-test/ref/Bug195.html
+++ b/html-test/ref/DuplicateRecordFields.html
@@ -2,7 +2,7 @@
 ><head
   ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
      /><title
-    >Bug195</title
+    >DuplicateRecordFields</title
     ><link href="#" rel="stylesheet" type="text/css" title="Ocean"
      /><script src="haddock-util.js" type="text/javascript"
     ></script
@@ -40,7 +40,7 @@ window.onload = function () {pageLoad();};
 	    ></tr
 	  ></table
 	><p class="caption"
-	>Bug195</p
+	>DuplicateRecordFields</p
 	></div
       ><div id="interface"
       ><h1
@@ -49,8 +49,8 @@ window.onload = function () {pageLoad();};
 	><p class="src"
 	  ><span class="keyword"
 	    >data</span
-	    > <a id="t:T" class="def"
-	    >T</a
+	    > <a id="t:RawReplay" class="def"
+	    >RawReplay</a
 	    > <a href="#" class="selflink"
 	    >#</a
 	    ></p
@@ -60,8 +60,8 @@ window.onload = function () {pageLoad();};
 	    ><table
 	    ><tr
 	      ><td class="src"
-		><a id="v:A" class="def"
-		  >A</a
+		><a id="v:RawReplay" class="def"
+		  >RawReplay</a
 		  ></td
 		><td class="doc empty"
 		></td
@@ -74,98 +74,74 @@ window.onload = function () {pageLoad();};
 		    ><ul
 		    ><li
 		      ><dfn class="src"
-			><a id="v:someField" class="def"
-			  >someField</a
-			  > :: ()</dfn
+			><a id="v:headerSize" class="def"
+			  >headerSize</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someField of A</p
+			  >The byte size of the first section.</p
 			  ></div
 			></li
 		      ><li
 		      ><dfn class="src"
-			><a id="v:someOtherField" class="def"
-			  >someOtherField</a
-			  > :: ()</dfn
+			><a id="v:headerCRC" class="def"
+			  >headerCRC</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someOtherField of A</p
+			  >The CRC of the first section.</p
 			  ></div
 			></li
-		      ></ul
-		    ></div
-		  ></td
-		></tr
-	      ><tr
-	      ><td class="src"
-		><a id="v:B" class="def"
-		  >B</a
-		  ></td
-		><td class="doc empty"
-		></td
-		></tr
-	      ><tr
-	      ><td colspan="2"
-		><div class="subs fields"
-		  ><p class="caption"
-		    >Fields</p
-		    ><ul
-		    ><li
+		      ><li
 		      ><dfn class="src"
-			><a id="v:someField" class="def"
-			  >someField</a
-			  > :: ()</dfn
+			><a id="v:header" class="def"
+			  >header</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someField of A</p
+			  >The first section.</p
 			  ></div
 			></li
 		      ><li
 		      ><dfn class="src"
-			><a id="v:someOtherField" class="def"
-			  >someOtherField</a
-			  > :: ()</dfn
+			><a id="v:contentSize" class="def"
+			  >contentSize</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someOtherField of A</p
+			  >The byte size of the second section.</p
 			  ></div
 			></li
-		      ></ul
-		    ></div
-		  ></td
-		></tr
-	      ><tr
-	      ><td class="src"
-		><a id="v:C" class="def"
-		  >C</a
-		  ></td
-		><td class="doc empty"
-		></td
-		></tr
-	      ><tr
-	      ><td colspan="2"
-		><div class="subs fields"
-		  ><p class="caption"
-		    >Fields</p
-		    ><ul
-		    ><li
+		      ><li
+		      ><dfn class="src"
+			><a id="v:contentCRC" class="def"
+			  >contentCRC</a
+			  > :: Int</dfn
+			><div class="doc"
+			><p
+			  >The CRC of the second section.</p
+			  ></div
+			></li
+		      ><li
 		      ><dfn class="src"
-			><a id="v:someField" class="def"
-			  >someField</a
-			  > :: ()</dfn
+			><a id="v:content" class="def"
+			  >content</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someField of A</p
+			  >The second section.</p
 			  ></div
 			></li
 		      ><li
 		      ><dfn class="src"
-			><a id="v:someOtherField" class="def"
-			  >someOtherField</a
-			  > :: ()</dfn
+			><a id="v:footer" class="def"
+			  >footer</a
+			  > :: Int</dfn
 			><div class="doc"
 			><p
-			  >Doc for someOtherField of A</p
+			  >Arbitrary data after the second section. In replays generated by
+ Rocket League, this is always empty. However it is not technically
+ invalid to put something here.</p
 			  ></div
 			></li
 		      ></ul
diff --git a/html-test/src/DuplicateRecordFields.hs b/html-test/src/DuplicateRecordFields.hs
new file mode 100644
index 0000000..2cf9ff4
--- /dev/null
+++ b/html-test/src/DuplicateRecordFields.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE DuplicateRecordFields #-}
+module DuplicateRecordFields (RawReplay(..)) where
+
+import Prelude hiding (Int)
+
+data Int = Int
+
+data RawReplay = RawReplay
+    { headerSize :: Int
+    -- ^ The byte size of the first section.
+    , headerCRC :: Int
+    -- ^ The CRC of the first section.
+    , header :: Int
+    -- ^ The first section.
+    , contentSize :: Int
+    -- ^ The byte size of the second section.
+    , contentCRC :: Int
+    -- ^ The CRC of the second section.
+    , content :: Int
+    -- ^ The second section.
+    , footer :: Int
+    -- ^ Arbitrary data after the second section. In replays generated by
+    -- Rocket League, this is always empty. However it is not technically
+    -- invalid to put something here.
+    }
\ No newline at end of file



More information about the ghc-commits mailing list