C ++ 11: "restringindo a conversão dentro de {}" com módulo

Eu tento compilar o seguinte código comgcc eC++11 ativado:

unsigned int id = 100;
unsigned char array[] = { id % 3, id % 5 };

Eu recebo estes avisos:

restringindo a conversão de '(id% 3u)' de 'int não assinado' para 'char não assinado' dentro de {} [-Apresentação]

veja a demonstração online

Existe uma maneira de ajudar o compilador a descobrir que o resultado deid% 3 se encaixa em umcaracter não identifcado?