Change record status: 
Project: 
Introduced in branch: 
10.2.x
Introduced in version: 
10.2.0
Description: 

- user_roles() can often be replaced with Role::loadMultiple()
- user_role_names() can be replaced with array_map() withing result of Role::loadMultiple()

before

    $roles = user_roles();
...
   $roles = user_roles(TRUE, 'module_test perm')
...
   $names = user_role_names(FALSE, $permission)

after

use Drupal\user\Entity\Role;
use Drupal\user\RoleInterface;
   $roles = Role::loadMultiple();
...
   $roles = Role::loadMultiple();
   unset($roles[RoleInterface::ANONYMOUS_ID]);
   $roles = array_filter($roles, fn(RoleInterface $role) => $role->hasPermission('module_test perm'));
...
   $roles = array_filter(Role::loadMultiple(), fn(RoleInterface $role) => $role->hasPermission($permission));
   $names =  array_map(fn(RoleInterface $role) => $role->label(), $roles);
Impacts: 
Module developers