From 965cc82428e8cea868fbd35eca4ca05ddffcfabc Mon Sep 17 00:00:00 2001 From: Matthew Leon Date: Mon, 1 Jan 2018 11:25:25 -0500 Subject: [PATCH 1/2] rename __unused constant to $unused fixes https://github.com/purescript/purescript/issues/3187 --- src/Language/PureScript/Constants.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Language/PureScript/Constants.hs b/src/Language/PureScript/Constants.hs index 3703e07bf1..f48998afa2 100644 --- a/src/Language/PureScript/Constants.hs +++ b/src/Language/PureScript/Constants.hs @@ -421,7 +421,7 @@ symbol = "Symbol" -- Code Generation __unused :: forall a. (IsString a) => a -__unused = "__unused" +__unused = "$unused" -- $ avoids name clashing -- Modules From 34d62e8eddce9b736bb1e98ae857d98b7fd4b6ff Mon Sep 17 00:00:00 2001 From: Matthew Leon Date: Mon, 1 Jan 2018 13:09:44 -0500 Subject: [PATCH 2/2] add test for __unused name clash --- examples/passing/3187-UnusedNameClash.purs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 examples/passing/3187-UnusedNameClash.purs diff --git a/examples/passing/3187-UnusedNameClash.purs b/examples/passing/3187-UnusedNameClash.purs new file mode 100644 index 0000000000..bd84f095b8 --- /dev/null +++ b/examples/passing/3187-UnusedNameClash.purs @@ -0,0 +1,12 @@ +module Main (main) where + +import Prelude ((+)) +import Control.Monad.Eff.Console (log) + +-- the __unused parameter used to get optimized away +abuseUnused :: forall a. a -> a +abuseUnused __unused = __unused + +main = do + let explode = abuseUnused 0 + abuseUnused 0 + log "Done"