Disclaimer: I’m undoubtedly biased. You can find the original opinions in the thread “P2025R1: issues fixed?”, 13/05/2020 to 20/05/2020.
The wording consists of two major parts:
package name.anton3.layout | |
import java.util.* | |
import kotlin.collections.ArrayList | |
import kotlin.math.abs | |
class Dummy | |
fun readResource(name: String): String { | |
return Dummy::class.java.classLoader.getResource(name)!!.readText() |
This paper provides an alternative abbreviated lambda expression syntax, as well as an alternative syntax for transparent functions, compared to [@P0573R2].
[@P0573R2] introduces a notion of transparent functions, which aim to behave as close as possible to as if their body was directly inserted into the caller (except that their arguments are only computed a single time).
package name.anton3.vkapi.generator.json | |
import com.fasterxml.jackson.annotation.JsonUnwrapped | |
import com.fasterxml.jackson.core.JsonParser | |
import com.fasterxml.jackson.databind.* | |
import com.fasterxml.jackson.databind.deser.ContextualDeserializer | |
import com.fasterxml.jackson.databind.deser.ResolvableDeserializer | |
import com.fasterxml.jackson.databind.deser.std.StdDeserializer | |
import com.fasterxml.jackson.databind.node.ObjectNode | |
import com.fasterxml.jackson.databind.node.TreeTraversingParser |
task<void> foo() { | |
co_return uninlineable_mess(); | |
} |
Typed throws
annotation specifies that a function can only throw errors of a certain type:
// Feature 1: @mixin extension | |
struct Pizza { | |
var containsCheese: Bool | |
init(cheese: Bool) { ... } | |
func prepare() { print(self) } | |
} | |
struct Margherita { | |
var pizza: Pizza | |
init() { pizza = Pizza(cheese: true) } |
Bitwise and arithmetic operators are very different, and their precedence relationship is not obvious.
This proposal re-architects guard case
and if case
grammar for unwrapping complex enumerations. It drops the case
keyword from if
and guard
, replaces =
with ~=
, and introduces the :=
operator that combines declaration with assignment.