簡體   English   中英

如何在Haskell(GHC)中啟用死代碼警告

[英]How to enable dead code warnings in Haskell (GHC)

有些語言(如Go和Rust)要求程序員努力從源代碼中刪除所有死代碼。 如果某些用戶有點極端,這在代碼可維護性和可讀性方面具有優勢。

如何在Haskell中啟用此功能? (有可能嗎?)例如,在下面的代碼中,我想將url2標記為死代碼,因為它未在main

url1 = "http://stackoverflow.com"
url2 = "http://stackexchange.com"

main = print url1

我看到了一些編譯器標志的引用(例如-fwarn-unused-binds-fwarn-name-shadowing-fwarn-hi-shadowing ),但它們似乎都沒有達到我想要的效果。

如果您適當地限制模塊的導出列表,GHC將使用-fwarn-unused-bindsurl2報告為死代碼,例如:

module Main(main) where
...

如果你的模塊標題是公正的

module Main where

然后你隱式導出所有內容,因此它不能認為任何頂級綁定未被使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM