Объект scala.experimental
объект experimental
Объект experimental содержит функции, известные своей нестабильной API или поведением, которое может измениться в будущих версиях.
Экспериментальные функции могут претерпевать изменения API в будущих версиях, поэтому производственный код не должен на них полагаться.
Разработчикам рекомендуется опробовать экспериментальные функции и сообщить о любых обнаруженных ошибках или несоответствиях API, чтобы они могли быть улучшены в будущих версиях.
| Супертипы | |
|---|---|
| Тип «я» |
Классы
Исходный код@compileTimeOnly("`erasedDefinitions` может использоваться только во время компиляции в операторах импорта")
объект erasedDefinitions
Экспериментальная поддержка модификатора erased
| См. также | https://dotty.epfl.ch/docs/reference/experimental/erased-defs |
|---|
Исходный код@compileTimeOnly("`fewerBraces` может использоваться только во время компиляции в операторах импорта")
объект fewerBraces
Экспериментальная поддержка использования отступов для аргументов
Исходный код@compileTimeOnly("`genericNumberLiterals` может использоваться только во время компиляции в операторах импорта")
объект genericNumberLiterals
Экспериментальная поддержка универсальных числовых литералов.
| См. также | https://dotty.epfl.ch/docs/reference/changed-features/numeric-literals |
|---|
Исходный код@compileTimeOnly("`namedTypeArguments` может использоваться только во время компиляции в операторах импорта")
объект namedTypeArguments
Экспериментальная поддержка именованных аргументов типа.
| См. также | https://dotty.epfl.ch/docs/reference/other-new-features/named-typeargs |
|---|
Исходный код@compileTimeOnly("`saferExceptions` может использоваться только во время компиляции в операторах импорта")
объект saferExceptions
Экспериментальная поддержка возможностей проверки типов исключений
| См. также |
|---|
Неявные параметры
Исходный код
Только при включении этой функции разрешены определения макросов. Если macros не включена, определения макросов будут отклоняться компилятором.
Реализации и применения макросов не регулируются этой языковой функцией; они могут использоваться где угодно.
Зачем вводить эту функцию? Макросы обещают сделать язык более регулярным, заменяя специальные конструкции языка общей мощной возможностью абстракции, которая может их выразить. Макросы также являются более дисциплинированной и мощной заменой для плагинов компилятора.
Почему контролировать это? Из-за своей мощи макросы могут привести к коду, который трудно отлаживать и понимать.
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/language$$experimental$.html