mbonnin
03/15/2021, 6:38 PMinternal classes from a library I have no control over? Or is that forever forbidden?dmitriy.novozhilov
03/15/2021, 6:43 PMinternal modifier. But if you want to do it very much then you can call internal from kotlin library from java code (java doesn't know anything about internal and see such declarations as public)mbonnin
03/15/2021, 6:46 PMMarc Knaup
03/15/2021, 6:51 PM@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")dmitriy.novozhilov
03/15/2021, 7:02 PMMarc Knaup
03/15/2021, 7:05 PMkotlin.internal.* annotations available publicly 😛dmitriy.novozhilov
03/15/2021, 7:08 PMmbonnin
03/15/2021, 7:10 PMdmitriy.novozhilov
03/15/2021, 7:12 PMMarc Knaup
03/15/2021, 7:13 PMLowPriorityInOverloadResolution to resolve conflicts in DSL.
Sometimes OnlyInputTypes but I understood that it’s a workaround for a temporary compiler limitation.
Sometimes InlineOnly but I think I still don’t fully understand it.
I have used NoInfer and Exact in the past but have to check if I’m still doing so.
EDIT: Just checked.
• Plenty uses of LowPriorityInOverloadResolution.
• OnlyInputTypes only for custom assert… funs.
• Plenty of InlineOnly with the idea of reducing output size by allowing inline-only uses. Probably not working that way either.
• I don’t use any other internal annotations.Marc Knaup
03/15/2021, 7:18 PMMarc Knaup
03/15/2021, 7:19 PMdmitriy.novozhilov
03/16/2021, 6:16 AMturansky
03/18/2021, 2:56 AMWe are planning to forbid error suppressing someday.For now it’s death for non-
leftpad declarations (for stdlib-js too)dmitriy.novozhilov
03/18/2021, 6:21 AMWe are planning to forbid error suppressing someday.This will happen only after we fix all cases where such suppression are needed and there is no workaround with other language constructs
Youssef Shoaib [MOD]
03/18/2021, 6:22 PMdmitriy.novozhilov
03/18/2021, 6:27 PM