It is called collection literals, and you should probably watch this video for discussion.
Personally, I do not see how [1,2,3] is be better than List(1,2,3). When I just started to work in kotlin (after groovy), I was advocating for collection literals, but after four years, I changed my perspective and now I do not see any viable reasons to introduce them.
By saying [1, 2, 3] which one do you mean exactly?
Possible solutions could be
infer type val list: List<Int> = [1, 2, 3]
For val list = [1, 2] collect usage stats over top 100 kotlin projects on github and see what’s used the most frequently. If you want something else do val list = [1, 2, 3].toMutableList() or use old way val list = mutableListOf(1, 2, 3).
The thing is - you lose nothing, if you wish you can just ignore this literal syntax and continue to use whateverOf(1, 2, 3). But people who like this syntax could use it.
Also, it seems this is actually planned for future versions of Kotlin. It is/was discussed here and here. It takes years already for arguing on what would be the best design for this proposal