Kotlin 1.1-Beta2
Pre-release
Pre-release
Language related changes
KT-7897
Do not require to call enum constructor for each entry if all parameters have default valuesKT-8985
Support T::class.java for T with no non-null upper boundKT-10711
Type inference works now on generics for callable referencesKT-13130
Support exhaustive when for sealed treesKT-15898
Cannot use type alias to qualify enum entryKT-16061
Smart type inference on callable references in 1.1 mode only
Reflection
KT-8384
Access to the delegate object for a KProperty
Compiler
Coroutine support
KT-15016
VerifyError with coroutine: fix processing of uninitialized instancesKT-15527
Coroutine compile error: wrong code generated for safe qualified suspension pointsKT-15552
Accessor implementation of suspended function produces AbstractMethodErrorKT-15715
Coroutine generate invalid invokeKT-15820
Coroutine Internal Error regression with dispatcher + this@KT-15821
Coroutine internal error regression: Could not inline method call applyKT-15824
Coroutine iterator regression: Object cannot be cast to java.lang.BooleanKT-15827
Show Kotlin Bytecode shows wrong bytecode for suspending functionsKT-15907
Bogus error about platform declaration clash with private suspend functionsKT-15933
Suspend getValue/setValue/provideDelegate do not work properlyKT-15935
Private suspend function in file causes UnsupportedOperationException: Context does not have a "this"KT-15963
Coroutine: runtime error if returned object "equals" does not like comparison to SUSPENDED_MARKERKT-16068
Prohibit inline lambda parameters of suspend function type
Diagnostics
KT-1560
Report diagnostic for a declaration of extension function which will be always shadowed by member functionKT-12846
Forbid vararg of NothingKT-13227
NO_ELSE_IN_WHEN in when by sealed class instance if is-check for base sealed class is usedKT-13355
Type mismatch on inheritance is not reported on abstract classKT-15010
Missing error on an usage of non-constant property in annotation default argumentKT-15201
Compiler is complaining about when statement without null condition even if null is checked before.KT-15736
Report an error on type alias expanded to a nullable type on LHS of a class literalKT-15740
Report error on expression of a nullable type on LHS of a class literalKT-15844
Do not allow to access primary constructor parameters from property with custom getterKT-15878
Extension shadowed by member should not be reported for infix/operator extensions when member is non-infix/operatorKT-16010
Do not highlight lambda parameters as unused in 1.0 compatibility mode
Kapt
KT-15675
Kapt3 does not generate classes annotated with AutoValueKT-15697
If an annotation with AnnotationTarget.PROPERTY is tagged on a Kotlin property, it breaks annotation processingKT-15803
Kotlin 1.0.6 broke DaggerKT-15814
Regression: Kapt is not working in 1.0.6 / 1.1-M04 / 1.1-BetaKT-15838
kapt3 1.1-beta: KaptError: Java file parsing errorKT-15841
1.1-Beta + kapt3 fails to build the project with StackOverflowErrorKT-15915
Kapt: Kotlin class target directory is cleared before compilation (and after kapt task)KT-16006
Cannot determine if type is an error type during annotation processing
Exceptions / Errors
KT-8264
Internal compiler error: java.lang.ArithmeticException: BigInteger: modulus not positiveKT-14547
NoSuchElementException when compiling callable reference without stdlib in the classpathKT-14966
Regression: VerifyError on access super implementation from delegateKT-15017
Throwing exception in the end of inline suspend-functions lead to internal compiler errorKT-15439
Resolved call is not completed for generic callable reference in if-expressionKT-15500
Exception passing freeCompilerArgs to gradle pluginKT-15646
InconsistentDebugInfoException when stepping overthrow
KT-15726
Kotlin compiles invalid bytecode for nested try-catch with returnKT-15743
Overloaded Kotlin extensions annotates wrong parameters in javaKT-15868
NPE when comparing nullable doubles for equalityKT-15995
Can't build project with DataBinding using Kotlin 1.1: incompatible language versionKT-16047
Internal Error: org.jetbrains.kotlin.util.KotlinFrontEndException while analyzing expression
Type inference issues
KT-10268
Wrong type inference related to captured typesKT-11259
Wrong type inference for Java 8 Stream.collect.KT-12802
Type inference failed when irrelevant method reference is usedKT-12964
Support type inference for callable references from parameter types of an expected function type
Smart cast issues
KT-13468
Smart cast is broken after assignment of 'if' expressionKT-14350
Make smart-cast work as it does in 1.0 when -language-version 1.0 is usedKT-14597
When over smartcast enum is broken and breaks all other "when"KT-15792
Wrong smart cast after y = x, x = null, y != null sequence
Various issues
KT-15236
False positive: Null can not be a value of a non-null typeKT-15677
Modifiers and annotations are lost on a (nullable) parenthesized typeKT-15707
IDEA unable to parallel compile different projectsKT-15734
Nullability is lost during expansion of a type aliasKT-15748
Type alias constructor return type should have a corresponding abbreviationKT-15775
Annotations are lost on value parameter types of a function typeKT-15780
Treat Map.getOrDefault overrides in Java the same way as in 1.0.x compiler with language version 1.0KT-15794
Refine backward compatibility mode for additional built-ins members from JDKKT-15848
Implement additional annotation processing in theKotlinScriptDefinitionFromAnnotatedTemplate
for SamWithReceiver pluginKT-15875
Operation has lead to overflow for 'mod' with negative first operandKT-15945
Feature Request: Andrey Breslav to grow a beard.
JavaScript backend
Coroutine support
KT-15834
JS: Local delegate in suspend functionKT-15892
JS: safe call of suspend functions causes compiler to crash
Diagnostics
KT-14668
Do not allow declarations in 'kotlin' package or subpackages in JSKT-15184
JS: prohibit..
operation withdynamic
on left-hand sideKT-15253
JS: no error when use class external class with JsModule in type context when compiling with plain module kindKT-15283
JS: additional restrictions on dynamicKT-15961
Could not implement external open class with function with optional parameter
Language feature support
KT-14035
JS: support implementing CharSequenceKT-14036
JS: use Int16 for Char when it possible and box to our Char otherwiseKT-14097
Wrong code generated for enum entry initialization using non-primary no-argument constructorKT-15312
JS: map kotlin.Throwable to JS ErrorKT-15765
JS: support callable references on built-in and intrinsic functions and propertiesKT-15900
JS: Support enum entry with empty initializer with vararg constructor
Standard library support
KT-4141
JS: wrong return type for Date::getTimeKT-4497
JS: add String.toInt, String.toDouble etc extension functions,parseInt
andparseFloat
are deprecated in favor of these new onesKT-15940
JS: rename all js standard library artifacts (both in maven and in compiler distribution) tokotlin-stdlib-js.jar
- Add
Promise<T>
external declaration to the standard library - Types like
Date
,Math
,Console
,Promise
,RegExp
,Json
require explicit import fromkotlin.js
package
External declarations
KT-15144
JS: renamenoImpl
todefinedExternally
KT-15306
JS: allow to usedefinedExternally
only inside a body of external declarationsKT-15336
JS: allow to inherit external classes from kotlin.ThrowableKT-15905
JS: add a way to control qualifier for external declarations inside file- Deprecate
@native
annotation, to be removed in 1.1 release.
Exceptions / Errors
KT-10894
Infinite indexing at projects with JS modulesKT-14124
AssertionError: strings file not found on K2JS serialized data
Various issues
KT-8211
JS: generate dummy init for properties w/o initializer to avoid to have different hidden classes for different instancesKT-12712
JS: Json should not be a classKT-13312
JS: can't use extension lambda where expected lambda and vice versaKT-13632
Add template kotlin js project under gradle in "New Project" windowKT-15278
JS: don't treat property access through dynamic as side effect freeKT-15285
JS: take into account as many characteristics from the signature as possible when manglingKT-15678
JS: Generated local variable named 'element' clashes with actual local variable named 'element'KT-15755
JS compiler produces a lot of empty kotlin_file_table files for irrelevant packagesKT-15770
Name clash between recursive local functions with same nameKT-15797
JS: wrong code for accessing nested class inside js moduleKT-15863
JS: Extension function reference shifts parameters loosing the receiverKT-16049
JS: drop "-kjsm" command line option, merge the logic into "-meta-info"KT-16083
JS: rename "-library-files" argument to "-libraries" and change separator from comma to system file separator
Standard Library
KT-13353
Add Map.minus(key) and Map.minus(keys)KT-13826
Add parameter names in function types used in the standard libraryKT-14279
Make String.matches(Regex) and Regex.matches(String) infixKT-15399
Iterable.average() now returns NaN for an empty collectionKT-15975
Move coroutine-related runtime parts tokotlin.coroutines.experimental
packageKT-16030
Move bitwise operations on Byte and Short tokotlin.experimental
packageKT-16026
Classes compiled in 1.1 in 1.0-compatibility mode may contain references to CloseableKt class from 1.1
IDE
Configuration issues
KT-15621
Copy compiler options values from project settings on creating a kotlin facet for Kotlin (JVM) projectKT-15623
Copy compiler options values from project settings on creating a kotlin facet for Kotlin (JavaScript) projectKT-15624
Set option "Use project settings" in newly created Kotlin facetKT-15712
Configuring a project with Maven or Gradle should automatically use stdlib-jre7 or stdlib-jre8 instead of standard stdlibKT-15772
Facet does not pick up api version from mavenKT-15819
It would be nice if compileKotlin options are imported into Kotlin facet from gradle/mavenKT-16015
Prohibit api-version > language-version in Facet and Project Settings
Coroutine support
KT-14704
Extract Method should work in coroutinesKT-15955
Quick-fix to enable coroutines through Gradle project configurationKT-16018
Hide coroutines intrinsics from import and completionKT-16075
Error:Kotlin: The -Xcoroutines can only have one value
Backward compatibility issues
KT-15134
Do not suggest using destructuring lambda if this will result in "available since 1.1" errorKT-15918
Quick fix "Set module language level to 1.1" should also set API version to 1.1KT-15969
Replace operator with function should use either rem or mod for % depending on language versionKT-15978
Type alias from Kotlin 1.1 are suggested in completion even if language level is set to 1.0 in settingsKT-15979
Usages of type aliases are not shown as errors in editor if language version is set to 1.0KT-16019
Do not suggest renaming to underscore in 1.0 compatibility modeKT-16036
"Create type alias from usage" quick-fix should not be suggested at language level 1.0
Intention actions, inspections and quick-fixes
New features
KT-9912
Merge ifs intentionKT-13427
"Specify type explicitly" should support type aliasesKT-15066
"Make private/.." intention on type aliasesKT-15709
Add inspection for private primary constructors in data classes as they are accessible via the copy methodKT-15738
Intention to addsuspend
modifier to functional typeKT-15800
Quick-fix to convert a function to suspending on error when calling suspension inside
Bug fixes
KT-13710
Import intention action should not appear in import listKT-14680
import statement to type alias reported as unused when using only TA constructorKT-14856
TextView internationalisation intention does not report the problemKT-14993
Keep destructuring declaration parameter on inspection "Remove explicit lambda parameter types"KT-14994
PsiInvalidElementAccessException and incorrect generation on inspection "Specify type explicitly" on destructuring parameterKT-15162
"Remove explicit lambda parameter types" intentions fails with destructuring declaration with KNPE at KtPsiFactory.createLambdaParameterList()KT-15311
"Add Import" intention generates incorrect codeKT-15406
Convert to secondary constructor for enum class should put new members after enum valuesKT-15553
Copy concatenation text to clipboard with Kotlin and string interpolation does not workKT-15670
'Convert to lambda' quick fix in IDEA leaves single-line comment and } gets commented outKT-15873
Alt+Enter menu isn't shown for deprecated mod functionKT-15874
Replace operator with function call replaces % with deprecated modKT-15884
False positive "Redundant .let call"KT-16072
Intentions to convert suspend lambdas to callable references should not be shown
Android support
KT-13275
Kotlin Gradle plugin for Android does not work when jackOptions enabledKT-15150
Android: Add quick-fix to generate View constructor conventionKT-15282
Issues debugging crossinline Android code
KDoc
KT-14710
Sample references are not resolved in IDEKT-15796
Import of class referenced only in KDoc not preserved after copy-paste
Various issues
KT-9011
Shift+Enter should insert curly braces when invoked after class declarationKT-11308
Hide kotlin.jvm.internal package contents from completion and auto-importKT-14252
Completion could suggest constructors available via type aliasesKT-14722
Completion list isn't filled up for type alias to objectKT-14767
Type alias to annotation class should appear in the completion listKT-14859
"Parameter Info" sometimes does not work properly inside lambdaKT-15032
Injected fragment: descriptor was not found for declaration: FUNKT-15153
Support typeAlias extensions in completion and add importKT-15786
NoSuchMethodError: com.intellij.util.containers.UtilKt.isNullOrEmptyKT-15883
Generating equals() and hashCode(): hashCode does not correctly honor variable names with back ticksKT-15911
Kotlin REPL will not launch: "Neither main class nor JAR path is specified"
J2K
KT-15789
Kotlin plugin incorrectly converts for-loops from Java to Kotlin
Gradle support
KT-14830
Kotlin Gradle plugin configuration should not add 'kotlin' source directory by defaultKT-15279
'Kotlin not configured message' should not be displayed while gradle sync is in progressKT-15812
Create Kotlin facet on importing gradle project with unchecked option Create separate module per source setKT-15837
Gradle compiler attempts to connect to daemon on address derived from DNS lookupKT-15909
Copy Gradle compiler options to facets in Intellij/ASKT-15929
Gradle project imported with wrong 'target platform'
Other issues
KT-15450
JSR 223 - support eval with bindings