Allow primitive types to be vararg elements disregarding their inline class status
This commit is contained in:
@@ -926,7 +926,9 @@ class DeclarationsChecker(
|
||||
for (parameter in varargParameters) {
|
||||
val varargElementType = parameter.varargElementType!!.upperIfFlexible()
|
||||
if (KotlinTypeChecker.DEFAULT.isSubtypeOf(varargElementType, nullableNothing) ||
|
||||
(varargElementType.isInlineClassType() && !UnsignedTypes.isUnsignedType(varargElementType))
|
||||
(varargElementType.isInlineClassType() &&
|
||||
!UnsignedTypes.isUnsignedType(varargElementType) &&
|
||||
!KotlinBuiltIns.isPrimitiveTypeOrNullablePrimitiveType(varargElementType))
|
||||
) {
|
||||
val parameterDeclaration = DescriptorToSourceUtils.descriptorToDeclaration(parameter) as? KtParameter ?: continue
|
||||
trace.report(FORBIDDEN_VARARG_PARAMETER_TYPE.on(parameterDeclaration, varargElementType))
|
||||
|
||||
Reference in New Issue
Block a user