Kotlin 1.1-Beta
Pre-release
Pre-release
Reflection
KT-15540
findAnnotation returns T?, but it throws NoSuchElementException when there is no matching annotation- Reflection API in
kotlin-reflect
library is moved tokotlin.reflect.full
package, declarations in the packagekotlin.reflect
are left deprecated. Please migrate according to the hints provided.
Compiler
Coroutine support
KT-15379
Allow invoke on instances of suspend function type inside suspend functionKT-15380
Support suspend function type with value parametersKT-15391
Prohibit suspend function type in supertype listKT-15392
Prohibit local suspending functionKT-15413
Override regular functions with suspending ones and vice versaKT-15657
Refine dispatchResume conventionKT-15662
Prohibit callable references to suspend functions
Diagnostics
KT-9630
Cannot create extension function on intersection of typesKT-11398
Possible false positive for INACCESSIBLE_TYPEKT-13593
Do not report USELESS_ELVIS_RIGHT_IS_NULL for left argument with platform typeKT-13859
Wrong error about using unrepeatable annotation when mix implicit and explicit targetsKT-14179
Prohibit to use enum entry as type parameterKT-15097
Inherited platform declarations clash: regression under 1.1 when indirectly inheriting from java.util.MapKT-15287
Kotlin runtime 1.1 and runtime 1.0.x: Overload resolution ambiguityKT-15334
Incorrect "val cannot be reassigned" inside do-whileKT-15410
"Protected function call from public-API inline function" for protected constructor call
Kapt3
KT-15145
Kapt3: Doesn't compile with multiple errorsKT-15232
Kapt3 crash due to java codepageKT-15359
Kapt3 exception while annotation processing (DataBindings AS2.3-beta1)KT-15375
Kapt3 can't find ${env.JDK_18}/lib/tools.jarKT-15381
Unresolved references: R with Kapt3KT-15397
Kapt3 doesn't work with databindingKT-15409
Kapt3 Cannot find the getter for attribute 'android:text' with value type java.lang.String on android.widget.EditText.KT-15421
Kapt3: Substitute types from Psi instead of writing NonExistentClass for generated type namesKT-15459
Kapt3 doesn't generate code in test moduleKT-15524
Kapt3 - Error messages should display associated element information (if available)KT-15713
Kapt3: circular dependencies between Gradke tasks
Exceptions / Errors
KT-11401
Error type encountered for implicit invoke with function literal argumentKT-12044
Assertion "Rewrite at slice LEXICAL_SCOPE" for 'if' with property referencesKT-14011
Compiler crash when inlining: lateinit property allRecapturedParameters has not been initializedKT-14868
CCE in runtime while converting Number to CharKT-15364
VerifyError: Bad type on operand stack on ObserverIterator.hasNextKT-15373
Internal error when running TestNG testKT-15437
VerifyError: Bad local variable type on simplest provideDelegateKT-15446
Property reference on an instance of subclass causes java.lang.VerifyErrorKT-15447
Compiler backend error: "Don't know how to generate outer expression for class"KT-15449
Back-end (JVM) Internal error: Couldn't inline method callKT-15464
Regression: "Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:"KT-15575
VerifyError: Bad type on operand stack
Various issues
KT-11962
Super call with default parameters check is generated for top-level functionKT-11969
ProGuard issue with private interface methodsKT-12795
Write information about sealed class inheritors to metadataKT-13718
ClassFormatError on aspectj instrumentationKT-14162
Support @InlineOnly on inline propertiesKT-14705
Inconsistent smart casts on when enum subjectKT-14917
No way to pass additional java command line options to kontlinc on WindowsKT-15112
Compiler hangs on nested lock compilationKT-15225
Scripts: generate classes with names that are valid Java identifiersKT-15411
Unnecessary CHECKCAST bytecode when dealing with nullKT-15473
Invalid KFunction byte code signature for callable referencesKT-15582
Generated bytecode is sometimes incompatible with Java 9KT-15584
Do not mark class files compiled with a release language version as pre-releaseKT-15589
Upper bound for T in KClass can be implicitly violated using generic functionKT-15631
Compiler hang in MethodAnalyzer.analyze() fixed
JavaScript backend
Coroutine support
KT-15362
JS: Regex doesn't work (properly) in coroutineKT-15366
JS: error when calling inline function with optional parameters from another module inside coroutine lambdaKT-15367
JS:for
against iterator with suspendnext
andhasNext
functions does not workKT-15400
suspendCoroutine is missing in JS BEKT-15597
Support non-tail suspend calls inside named suspend functionsKT-15625
JS: return statement without value surrounded bytry..finally
in suspend lambda causes compiler errorKT-15698
Move coroutine intrinsics to kotlin.coroutine.intrinsics package
Diagnostics
KT-14577
JS: do not report declaration clash when common redeclaration diagnostic appliesKT-15136
JS: prohibit inheritance from kotlin Function{N} interfaces
Language features support
KT-12194
Exhaustiveness check isn't generated for when expressions in JS at allKT-15590
Support increment on inlined properties
Native / external
KT-8081
JS: native inherited class shouldn't require super or primary constructor callKT-13892
JS: restrictions for native (external) functions and propertiesKT-15307
JS: prohibit inline members inside external declarationsKT-15308
JS: prohibit non-abstract members inside external interfaces except nullable properties (with accessors)
Exceptions / Errors
KT-7302
KotlinJS - Trait with optional parameter causes compilation errorKT-15325
JS: ReferenceError: $receiver is not definedKT-15357
JS:when
expression in primary-from-secondary constructor callKT-15435
Call to 'synchronize' crashes JS backendKT-15513
JS: empty do..while loop crashes compiler
Various issues
KT-4160
JS: compiler produces wrong code for escaped variable names with characters which Illegal in JS (e.g. spaces)KT-7004
JS: functions namedcall
not inlinedKT-7588
JS: operators are not inlinedKT-7733
JS: Provide overflow behavior for integer arithmetic operationsKT-8413
JS: generated wrong code for some float constantsKT-12598
JS: comparisons for Enums always translates using strong operatorKT-13523
Augmented assignment with array access in LHS is translated incorrectlyKT-13888
JS: change how functions optional parameters get translatedKT-15260
JS: don't import module more than onceKT-15475
JS compiler deletes internal function name in js("") text blockKT-15506
JS: invalid evaluation order when passing arguments to function by nameKT-15512
JS: wrong result when use break/throw/return in || and && operatorsKT-15569
js: Wrong code generated when calling an overloaded operator function on an inherited property
Standard Library
KEEP-23
Operation to group by key and fold each group simultaneouslyKT-15774
buildSequence
andbuildIterator
functions withyield
andyieldAll
based on coroutinesKT-6903
Addalso
extension, which is likeapply
, but withit
instead ofthis
inside lambda.KT-7858
Add extension functiontakeIf
to match a value against predicate and return null when it does not matchKT-11851
Provide extensionMap.getValue(key: K): V
which throws or returns default when key is not foundKT-7417
Add min, max on two numbers to standard libraryKT-13898
Allow to implementtoArray
in collections as protected and provide protected toArray in AbstractCollection.KT-14935
Array-like list instantiation functions:List(count) { init }
andMutableList(count) { init }
KT-15630
Overloads of mutableListOf, mutableSetOf, mutableMapOf without parametersKT-15557
Iterable.joinTo loses information about each element by calling toString on them by defaultKT-15477
Introduce Throwable.addSuppressed extensionKT-15310
Add dynamic.unsafeCastKT-15436
JS stdlib: org.w3c.fetch.RequestInit has 12 parameters, all requiredKT-15458
Add print and println to common stdlib
IDE
- Project View: Fix presentation of Kotlin files and their members when @JvmName having the same name as the file itself
no-arg / all-open
KT-15419
IDE build doesn't pick settings of all-open pluginKT-15686
IDE build doesn't pick settings of no-arg pluginKT-15735
Facet loses compiler plugin settings on reopening project, when "Use project settings" = Yes
Formatter
KT-15542
Formatter doesn't handle spaces around 'by' keywordKT-15544
Formatter doesn't remove spaces around function reference operator
Intention actions, inspections and quick-fixes
New features
- Implement quickfix which enables/disables coroutine support in module or project
KT-5045
Intention to convert between two comparisons and range check and vice versaKT-5629
Quick-fix to import extension method when arguments of non-extension method do not matchKT-6217
Add warning for unused equals expressionKT-6824
Quick-fix for applying spread operator where vararg is expectedKT-8855
Implement "Create label" quick-fixKT-15056
Implement intention which converts object literal to classKT-15068
Implement intention which rename file according to the top-level class nameKT-15564
Add quick-fix for changing primitive cast to primitive conversion method
Bug fixes
KT-14630
Clearer diagnostic message for platform type inspectionKT-14745
KNPE in convert primary constructor to secondaryKT-14889
Replace 'if' with elvis operator produces red code if result is referenced in 'if'KT-14907
Quick-fix for missing operator adds infix modifier to created functionKT-15092
Suppress inspection "use property access syntax" for some getters and fix completion for themKT-15227
"Replace if with elvis" silently changes semanticsKT-15412
"Join declaration and assignment" can break code with smart castsKT-15501
Intention "Add names to call arguments" shouldn't appear when the only argument is a trailing lambda
Refactorings (Extract / Pull)
KT-15611
Extract Interface/Superclass: Disable const-properties- Pull Up: Fix pull-up from object to superclass
KT-15602
Extract Interface/Superclass: Disable "Make abstract" for inline/external/lateinit members- Extract Interface: Disable inline/external/lateinit members
KT-12704
,KT-15583
Override/Implement Members: Support all nullability annotations respected by the Kotlin compilerKT-15563
Override Members: Allow overriding virtual synthetic members (e.g. equals(), hashCode(), toString(), etc.) in data classesKT-15355
Extract Interface: Disable "Make abstract" and assume it to be true for abstract members of an interfaceKT-15353
Extract Superclass/Interface: Allow extracting class with special name (and quotes)KT-15643
Extract Interface/Pull Up: Disable "Make abstract" and assume it to be true for primary constructor parameter when moving to an interfaceKT-15607
Extract Interface/Pull Up: Disable internal/protected members when moving to an interfaceKT-15640
Extract Interface/Pull Up: Drop 'final' modifier when moving to an interfaceKT-15639
Extract Superclass/Interface/Pull Up: Add spaces between 'abstract' modifier and annotationsKT-15606
Extract Interface/Pull Up: Warn about private members with usages in the original classKT-15635
Extract Superclass/Interface: Fix bogus visibility warning inside a member when it's being moved as abstractKT-15598
Extract Interface: Red-highlight members inherited from a super-interface when that interface reference itself is not extractedKT-15674
Extract Superclass: Drop inapplicable modifiers when converting property-parameter to ordinary parameter
Multi-platform project support
KT-14908
Actions (quick-fixes) to create implementations of header elementsKT-15305
Do not report UNUSED for header declarations with implementations and vice versaKT-15601
Cannot suppress HEADER_WITHOUT_IMPLEMENTATIONKT-15641
Quick-fix "Create header interface implementation" does nothing
Android support
KT-12884
Android Extensions: Refactor / Rename of activity name does not change import extension statementKT-14308
Android Studio randomly hangs due to Java static member import quick-fix lagsKT-14358
Kotlin extensions: rename layout file: Throwable: "PSI and index do not match" through KotlinFullClassNameIndex.get()KT-15483
Kotlin lint throws unexpected exceptions in IDE
Various issues
KT-12872
Don't show "defined in " in quick doc for local variablesKT-13001
"Go to Type Declaration" is broken for stdlib typesKT-13067
Syntax colouring doesn't work for KDoc tagsKT-14815
alt + enter -> "import" over a constructor reference is not workingKT-14819
Quick documentation for special Enum functions doesn't workKT-15141
Bogus import popup for when function call cannot be resolved fullyKT-15154
IllegalStateException on attempt to convert import statement to * if last added import is to typealiasKT-15329
Regex not inspected properly for javaJavaIdentifierStart and javaJavaIdentifierPartKT-15383
Kotlin Scripts can only resolve stdlib functions/classes if they are in a source directoryKT-15440
Improve extensions detection in IDEAKT-15548
Kotlin plugin: @language injections specified in another module are ignored- Invoke
StorageComponentContainerContributor
extension for module dependencies container as well (needed for "sam-with-receiver" plugin to work with scripts)
J2K
KT-6790
J2K: Static import of Map.Entry is lost during conversionKT-14736
J2K: Incorrect conversion of back ticks in javadoc {@code} tagKT-15027
J2K: Annotations are set on functions, but not on property accessors