# CMP0121

New in version 3.21.

The `list()` command now detects invalid indices.

Prior to CMake version 3.21, the `list()` command's `GET`, `INSERT`, `SUBLIST`, and `REMOVE_AT` subcommands did not detect invalid index arguments.

The `OLD` behavior of this policy is for invalid indices to be treated as their integer value (if any) at the start of the string. For example, `2good4you` is a `2` and `not_an_integer` is a `0`. The `NEW` behavior is for invalid indices to trigger an error.

This policy was introduced in CMake version 3.21. CMake version 3.27.2 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.