为什么 kotlin 无法扩展我的类型别名?

用户1668903

我想编写如下代码:

typealias Just<T> = T  // Error here

val hello: Just<String> = "hello"

我有一个错误说Kotlin: Type alias expands to T, which is not a class, an interface, or an object

我认为 typealias 是一个编译器时功能,应该与类型擦除无关。那为什么我不能这样写typealias呢?

约尔

你不能写这样的代码,因为 Kotlin 编译器的开发人员没有看到支持扩展为类型参数的类型别名的用例(Just基本上是这种类型别名的唯一可能声明),因此没有设计和实现对它的支持。这确实与类型擦除无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在TypeScript中,为什么我的类型别名返回错误?

对Kotlin stdlib中的常见java.lang。* Exceptions进行类型别名的目的是什么?

Kotlin类型安全的类型别名

Kotlin-为什么我得到KotlinNullPointerException

在 kotlin 为什么我的 recyclerview 不滚动

为什么我可以使用类型别名声明const引用?

为什么我的 Result 类型别名不满足 failure::Fail trait bound?

Swift - Sequence - 为什么我不需要为 Element 和 Iterator 添加类型别名?

为什么我使用 Observable Kotlin 扩展函数得到“推断类型是 Observable<T?>!但 Observable<T> 是预期的”?

为什么Kotlin不能推断比较器的类型

为什么Kotlin不允许对原始类型使用lateinit?

为什么“ kotlin.Result”不能用作返回类型?

为什么Kotlin Gradle插件无法使用1.8 Target构建?

为什么Dagger无法处理这些Kotlin泛型?

为什么在Kotlin中我以0开头的变量?

为什么我需要在Kotlin中在=之前添加空间?

为什么通过惰性使用会使我的Kotlin代码变慢

为什么我不能从Java端创建Kotlin对象?

Kotlin:为什么我不能将函数存储在变量中?

为什么我应该使用Kotlin而不是Java?

为什么我随机生成的房间不总是连接(Kotlin)

类型别名的范围是什么?

类型别名在类中做什么?

榆木类型别名类型检查不会发生,为什么要编译?

将适当的类型别名为存在的类型(为什么编译?)

为什么不能在类型别名上使用@autoclosure到函数闭包类型?

为什么类型别名不能使用Rust中原始类型的关联常量?

为什么Kotlin密封类无法重载子类型函数?

故障保险withFallback():为什么kotlin编译器无法推断lambda类型?