diktat icon indicating copy to clipboard operation
diktat copied to clipboard

A generic type parameter in Kdoc should not be reported

Open polarene opened this issue 1 year ago • 4 comments

Describe the bug

When documenting a type parameter in Kdoc, the only correct way to do it is using the @param tag, for example:

/**
 * @param T the target type to return
 */
fun <T> genericFunc(): T

Unfortunately Diktat reports:

[KDOC_WITHOUT_PARAM_TAG] all methods which take arguments should have @param tags in KDoc: T param isn't present in argument list

Which I believe is a wrong behavior, given that it's taking into consideration the formal parameters only.

Expected behavior

Diktat should not report a violation for the above example.

Observed behavior

Diktat reports a KDOC_WITHOUT_PARAM_TAG

Environment information

  • diktat version: 2.0.0
  • build tool (maven/gradle): gradle
  • how is diktat run (CLI, plugin, etc.): plugin
  • kotlin version: 1.9.23
  • operating system: MacOS 14.3.1

polarene avatar Apr 08 '24 13:04 polarene

Sounds very reasonable, but looks to be fixed @DrAlexD please check

orchestr7 avatar Jun 16 '24 17:06 orchestr7

https://github.com/saveourtool/diktat/pull/1873/files ?

orchestr7 avatar Jun 16 '24 17:06 orchestr7

Thanks for getting back to this bug. The PR you cited seems to be resolving a different problem, that is parameter names enclosed by backticks, not type parameters.

polarene avatar Jun 17 '24 08:06 polarene

Sounds very reasonable, but looks to be fixed @DrAlexD please check

The PR you referred to was related to properties of class, as was this PR (https://github.com/saveourtool/diktat/pull/1892). Current issue is related to parameters of methods.

DrAlexD avatar Jun 19 '24 09:06 DrAlexD