Spec-Zone.ru › Scala 3.1

Объект scala.noAutoTupling

Исходный код

@compileTimeOnly("`noAutoTupling` может использоваться только во время компиляции в операторах импорта")
object noAutoTupling

При импорте отключается автоматическое преобразование в кортежи.

Зачем контролировать эту функцию? Автоматическое преобразование в кортежи может привести к запутанному и хрупкому коду при наличии перегрузок. В частности, могут выбираться неожиданные перегрузки, а добавление новых перегрузок может неожиданно изменить выбираемую перегрузку.

Почему это разрешено? Невозможность автоматического преобразования в кортежи трудно согласовать с операторами, принимающими кортежи.

Предки
class Object
trait Matchable
class Any
Тип «Я сам»
noAutoTupling.type

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/runtime/stdLibPatches/language$$noAutoTupling$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API