This is not a "destination type". The comma operator is bound very weakly than the destination. So you wrote the equivalent:
((((i = 1), 2), 3), 4), 5;
( , , , , assert), , - , 1 5, , , 2,3,4 .
i = 1, code_that_actually_does_something;. , , , "if" "while", , .