Code blocks being rendered wrong

I don't know since when but code blocks are being rendered wrong. I have this example from a recent thread.

fn plural<'a>(number: usize, strings: &[&'a str]) -> &'a str {
    let cases = [2, 0, 1, 1, 1, 2];
    strings[if (number % 100) > 4 && (number % 100) < 20 {
        2
    } else {
        cases[std::cmp::min(number % 10, 5)]
    }]
}

Somehow it treats the ticks in lifetimes like string quotes.

EDIT
Here is a screenshot just so you know what I mean.

7 Likes

If you use c as language hint, you'll get no highlighting.

fn plural<'a>(number: usize, strings: &[&'a str]) -> &'a str {
    let cases = [2, 0, 1, 1, 1, 2];
    strings[if (number % 100) > 4 && (number % 100) < 20 {
        2
    } else {
        cases[std::cmp::min(number % 10, 5)]
    }]
}