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" 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