實驗性
實驗性語言功能
所有實驗性語言功能都可以在 scala.language.experimental
套件中找到。它們可以透過匯入功能或使用 -language
編譯器旗標來啟用。
erasedDefinitions
:啟用對erased
修改項的支持。fewerBraces
:啟用使用縮排作為參數的支持。genericNumberLiterals
:啟用對一般數字文字的支持。namedTypeArguments
:啟用對命名類型參數的支持saferExceptions
:啟用對檢查例外情況的支持。
實驗性語言匯入
一般而言,實驗性語言功能可以在實驗性範圍內匯入(請參閱 實驗性定義)。如果所有頂層定義都是 @experimental
,則可以在頂層匯入它們。
-experimental
編譯器旗標
此旗標允許在專案中使用任何實驗性語言功能。它會透過將 @experimental
註解新增至所有頂層定義來執行此動作。因此,相依專案也必須是實驗性的。
特殊編譯器選項支援的實驗性語言功能
某些仍在研究和開發中的實驗性語言功能可以使用特殊編譯器選項啟用。這些功能包括
-Yexplicit-nulls
。啟用在類型系統中追蹤 null 參照的支援。-Ycc
。啟用擷取檢查的支援。
本文內容