Open atardecer17 opened 2 months ago
要用var, 你看报错, 已经是KMutableProperty0了, 不是 KProperty了...可以对照源码看.
这个已经变更过了.
看了下源码, 是在KtQueryChainWrapper中奖原来的KProperty<>改成KProperty1<in T, >, 对传入类型范围进行收窄了
要升级又只能用回之前的写完整类名的方式了, 写着有点难受了, 有没有大佬有其他解法
感觉从语法层面找不到解法了...只能把几个wrapper类在项目里重写把KProperty1<in T, >全都改回KProperty<>
当前使用版本
当前环境信息 java17+kotlin1.9.20
描述bug现象
在3.5.3.1版本中, 我使用下面这种写法让每个service中的属性引用变得简洁, 并且他工作得很完美 ` companion object { /* 用一个对象相当于给类起别名, 缩短在用其字段时的code / private val C = SysPropsEo() }
` 但是升级到3.5.4以上版本之后, 编译时就开始报错
看起来是由于升级后调整了参数泛型所导致? 这个改动能否进行兼容性改造? 每个引用属性的地方去写完整的entity类名是真的很啰嗦
ps: 我也尝试过kotlin的typealias写法, 但是似乎每个kt文件中写一个同名的叫做C的private的typealias, 当数量多的时候编译时会出现引用到其他文件的情况, 同样导致无法编译
提供问题复现步骤 使用kotlin1.9.0以上版本以及mybatis-plus3.5.4以上版本上面代码将无法编译通过
提供完整堆栈日志(可选)
提供问题复现工程(可选) 请尽量提供复现工程,减少大家排错的时间.