Inspectopedia 2025.3 Help

'map' call can be replaced with 'forEach'

Reports map calls whose results are ignored and can be replaced with forEach.

Using map in this way is misleading because map is intended to transform a collection and return the result. When its return value is not used, the call creates unnecessary allocations and reduces code readability. In such cases, forEach should be used instead, as it clearly expresses iteration with side effects.

The quick-fix replaces the map call with a forEach call.

Example:

fun foo(list: List<String>) { list.map { print(it) } // reported val x = list.map { it.length } // not reported: the result is used }

After the quick-fix is applied:

fun foo(list: List<String>) { list.forEach { print(it) } val x = list.map { it.length } // not reported: the result is used }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

MapToForEach
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Kotlin | Style issues

Inspection ID: MapToForEach

Suppressing Inspection

You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:

//noinspection MapToForEach

More detailed instructions as well as other ways and options that you have can be found in the product documentation:

Inspection Details

By default bundled with:

IntelliJ IDEA 2025.3, Qodana for JVM 2025.3,

Last modified: 03 December 2025