profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/qurbonzoda/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Abduqodiri Qurbonzoda qurbonzoda JetBrains Saint-Petersburg jetbrains.com

qurbonzoda/ktor 1

Framework for quickly creating connected applications in Kotlin with minimal effort

qurbonzoda/Catty 0

iOS implementation of the Catrobat language

qurbonzoda/csc-os-fall-2016 0

OS course fall 2016

qurbonzoda/gradle-crossbuild-scala 0

Adds cross building functionality to Gradle for Scala based projects

qurbonzoda/hpcourse 0

Project is aimed to store student's practical works on high performance computing course

issue commentKotlin/KEEP

Context receivers

I think the keyword within would make code more readable. Some examples taken from the proposal, comparing context vs. within:

context-coroutines

within-ann


image

image


image

image


It would also be a better match for with. For example:

image

The declaration-site would match the use-site really closely.

shadrina

comment created time in 2 hours

PR opened JetBrains/kotlin-web-site

Correct function parameter naming notation

Function parameters start with a lowercase letter, but the documentation says they use Pascal notation, which is contradictory. Pascal notation starts with an uppercase letter. So my edit is to change the doc to say "lower camel case".

+1 -1

0 comment

1 changed file

pr created time in 3 hours

create barnchKotlin/kotlinx-datetime

branch : utc-offset-cleanup

created branch time in 3 hours

issue commentKotlin/KEEP

Context receivers

  1. What is expected to happen with the old way to implement DSLs when I add an extension method to some class inside my class?
    class C {
        operator fun String.unaryPlus() = ...
    }
    
    This way has lots of limitations like I cannot make this method an extension one. Because it already has a receiver. Also, such a way to declare DSLs looks quite contr-intuitive, unlike the suggested new one. That is why it would be great to hear about what is going to happen with current implementations. Would they be deprecated or what?
  2. There was info about label generation restriction. Can we specify the label name explicitly? If so, we could escape creating typealiases if the label wasn't generated as they are too verbose for single usage.
  3. This is definitely my fault, but I misunderstood how to call functions with context receivers. When I had member receivers, I could call it with:
    • `entity.smth()
    • with or something like that For the contextual receivers, we cannot use the first option and I failed to do it the right way with the second
  4. I am very interested in the code colouring concept. So I would be glad to see it developed or at least discussed.
shadrina

comment created time in 3 hours

pull request commentktorio/ktor

KTOR-1159 Add support for UDP sockets on native

Rebased on main and fixed a compile error for iOS

Thomas-Vos

comment created time in 5 hours

pull request commentJetBrains/kotlin

FIR checker: report SETTER_PROJECTED_OUT

Besides two changes in this PR, I wonder this one can be also covered? https://punzki.github.io/Kotlin-DiagnosticTestsDiff/2021-05-25/diff-tests__generics__varProjection__setterNotProjectedOutAssign.kt.html

tgeng

comment created time in 5 hours

Pull request review commentJetBrains/kotlin

FIR checker: report SETTER_PROJECTED_OUT

 interface Tr<T> {  fun test(t: Tr<*>) {     t.v = null!!-    t.v = <!ASSIGNMENT_TYPE_MISMATCH!>""<!>-    t.v = <!NULL_FOR_NONNULL_TYPE!>null<!>+    t.v = <!SETTER_PROJECTED_OUT!>""<!>

The other test below (setterProjectedOutNoPlusAssign) is FIR_IDENTICAL, but this one is still not. I saw you updated the positioning strategy above; is this test data not updated?

tgeng

comment created time in 5 hours

create barnchJetBrains/kotlin

branch : fsmorygo/appcode-kmm

created branch time in 7 hours

pull request commentktorio/ktor

KTOR-1689 Extract ContentConverter to shared module

Hi @unoexperto! As you can see here new methods serialize and deserialize have parameter with type TypeInfo, that contains KType. Indeed, it's not fixed in the main branch, because it's a breaking change and will be released in 2.0.0.

rsinukov

comment created time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha a20a67688e85baffd17ca7a473f7031e16ac8138

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: 7682ca92b4956877067b1a4327ebd5112ed99a9b

view details

Nikita Nazarov

commit sha 79c34a10a6911edd67dc6e877b3ca45ae5478eca

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: b7cd54b8480ea2e6303ebdb62cc491ec1a3e9345

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha b7d7e8071384ae5a8599498df3f30f8b292eae06

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: 68d350cc4ae33bf735b0fec50b68bea2d70b81e2

view details

Nikita Nazarov

commit sha e2770431b288793853b1fcd903b02b7f089c710e

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: 17a7cf1f53bf897edbc538170e32a354a550f7c7

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha ad7cbea27cd41c8fdb4bd0468197719cf5296321

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: 3ded30d23916b8d11de781958004b4fa1148dc07

view details

Nikita Nazarov

commit sha 1b642a67c4ea8b74b531f4005beda040518f73e7

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: b97764993f7baa5de7f51ad8b9271f39fa646032

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha 4c73dfdebad26e241a9c0d61cb2fe14b9429d333

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: fb1fea03e08352d08b786cfa86c2fe4e874682a1

view details

Nikita Nazarov

commit sha e88e03bb4785b1475945357f8ebc44bdf6d78c51

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: d3629d1a0662d6466661ab382ba8e0e5a55d92c7

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha e5c8c9843e7e719d13bae90d55ceed965400afa7

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: 2036ad40e9ce39fadc1ccf7dcc21189980df3d70

view details

Nikita Nazarov

commit sha 1a0dc9336781411b339fce0d5720c0bda50d1032

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: f7b71d0d990afe4fcbd5f6c875f481c802a9feb9

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha 4ee04dff91fed2d8cc190ef383f633da763b825b

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: f9c285ef41d9f9f95d757b4107e1a34213682b96

view details

Nikita Nazarov

commit sha ebb5dd2440575b51d917db608e19aa965c5faf40

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: 1260befdb97625f10f080c7dca4a72457d74498c

view details

push time in 7 hours

push eventJetBrains/kotlin

nataliya.valtman

commit sha 86e39264045e64a994d49a0aaf8b97e59be00a5f

fix up

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha e559a3bb87f2710c5f7bd92443a4973cece179e3

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: ed770776889810a142c4d3eb78d206066443d284

view details

Nikita Nazarov

commit sha d7d29e00fa17e6d436eb0daf3a9add428a846f04

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: 5e7f15e76144fb3b02214a55327cf50e52a1dadd

view details

push time in 7 hours

push eventJetBrains/intellij-kotlin

Pierfrancesco Soffritti

commit sha 82a5e9a53e8cba51e37edca7543fc089fed849de

Add option to always show the coroutines debugger panel KTIJ-2455 GitOrigin-RevId: ba6d03a225a4fb1b6c2649f2bffda06be460a284

view details

Nikita Nazarov

commit sha 8a3d4fc8e05b57366a55e1a2b2db2f0e06825772

Make DebuggerConnection run configuration optional (cherry picked from commit bce8061661d57df97ba25f732ce69766aad7d43b) KT-MR-2446 GitOrigin-RevId: a7d83c5c60fb2fa30c6c76b5cabc0d07573fd475

view details

push time in 7 hours

pull request commentktorio/ktor

KTOR-1689 Extract ContentConverter to shared module

@rsinukov Rustam, you mentioned today in https://youtrack.jetbrains.com/issue/KTOR-444 that it's fixed. Could you please show where you pass KType in convertForSend ?

It seems like ContentConverter is unchanged in https://github.com/ktorio/ktor/blob/main/ktor-server/ktor-server-core/jvm/src/io/ktor/features/ContentNegotiation.kt#L255

rsinukov

comment created time in 7 hours

issue commentKotlin/dokka

Tables render incorrectly or not at all

FYI https://github.com/JetBrains/kotlin/pull/4464 should fix this in IntelliJ if it's merged.

JLLeitschuh

comment created time in 7 hours

PR opened JetBrains/kotlin

KT-16228: Support markdown tables in KDoc quickdoc renderer

This commit changes the markdown flavor used parsing for KDocs from CommonMark to GFM. Dokka itself uses GFM, so this change aligns dokka and quickdocs. The KDoc renderer is updated to render the new GFM node types.

+89 -4

0 comment

3 changed files

pr created time in 8 hours

CommitCommentEvent

Pull request review commentJetBrains/kotlin

FIR checker: report EXPECTED_CONDITION

 fun testSimpleValInWhenSubject() {  fun testValWithoutInitializerWhenSubject() {     when (val y: Any) {-        is String -> <!UNINITIALIZED_VARIABLE!>y<!>.<!UNRESOLVED_REFERENCE!>length<!>+        <!EXPECTED_CONDITION!>is String<!> -> <!UNINITIALIZED_VARIABLE!>y<!>.<!UNRESOLVED_REFERENCE!>length<!>

Hm, the counterpart in FE1.0 rather reports an error on y above: https://github.com/JetBrains/kotlin/blob/master/compiler/testData/diagnostics/tests/when/withSubjectVariable/unsupportedVariableDeclarationsInWhenSubject.kt#L21 Can we avoid this?

tgeng

comment created time in 8 hours

issue openedKotlin/kotlinx.coroutines

`CoroutineScope.future {}` behaves differently to `FutureTask` when cancelled

I think we've found another cancellation corner case in CoroutineScope.future {}.

In a race between asynchronous cancellation from Future.cancel() and cancellation from failure of the executing Job, ListenableFutureCoroutine.onCancelled() may execute after the Future has already been completed as cancelled.

When onCancelled() runs after the Future is complete, it invokes the CoroutineExceptionHandler and escalates the failure:

    override fun onCancelled(cause: Throwable, handled: Boolean) {
        if (!future.completeExceptionallyOrCancel(cause) && !handled) {
            // prevents loss of exception that was not handled by parent & could not be set to JobListenableFuture
            handleCoroutineException(context, cause)
        }
    }

This is different from how FutureTask treats failure after cancellation.

I haven't minimized a test case, but my reading is:

  1. Future.cancel() is called on the returned Future
  2. The cancelling thread of control executes JobListenableFuture.cancel(), succeeds in cancelling the Future, then calls jobToCancel.cancel()
  3. Concurrently, the thread of control executing a continuation in that Job completes in failure, which also calls cancel() on that same Job
  4. If the thread of control executing the continuation wins the race, onCancelled() gets called with a failure, fails to complete the already-complete-as-cancelled Future with that failure, and so invokes the CoroutineExceptionHandler

In contrast, FutureTask uses CAS from NEW -> COMPLETING when the submitted function finishes for any reason. If that CAS fails, the completion is dropped, whether or not the completion is a failure. Cancellation makes the same CAS away from NEW, and there's no else case if completion of the running function with an Exception doesn't win the race.

Since future {} calls the CoroutineExceptionHandler, errors that would be ignored in a function run with an Executor instead execute a failure handler. So at the moment, under cancellation, futures from myCoroutineScope.future(::myFunc) are incompatible with those returned from myExecutor.submit(::myFunc).

I think to maintain compatibility, future {} would have to attempt to complete its Future, but return from the stack and drop the completion if the future is already complete, for any reason?

Incidentally, I think the documentation on ListenableFutureCoroutine is out of date. That class is only used by future {}, but the docstring refers to its use in asListenableFuture {}.

created time in 8 hours

created tagJetBrains/kotlin

tagbuild-1.5.30-dev-2423

The Kotlin Programming Language.

created time in 9 hours

push eventJetBrains/kotlin

Nikita Bobko

commit sha 306f8b73581d414ad301db104708fae5ff17ddde

[imltogradle] Add "imls in same directory are not allowed" check

view details

Nikita Bobko

commit sha 8b3c6489daab5bbf93c79cc4842872a268d69ab0

Fix kotlin resources iml path

view details

push time in 9 hours

push eventKotlin/kotlinx-datetime

Ilya Gorbunov

commit sha c0a3696c7a16b89fe3868e0db8e6afc5291efd4a

Make Instant.toLocalDateTime(UtcOffset) internal

view details

Ilya Gorbunov

commit sha 64dad52a00d8c24ef6ba7cd8784d832cb7bd78a7

Public parameters of UtcOffset type: rename to just 'offset'

view details

push time in 9 hours

issue commentKotlin/kmm-production-sample

Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6

you can add these lines inside the kotlin block:

android { compilations.all { kotlinOptions { jvmTarget = "1.8" } } }

s1lenced

comment created time in 10 hours

create barnchJetBrains/kotlin

branch : push/yakovlev/superlazy

created branch time in 10 hours