Constraints to generate 10 continuous bits as 0 and remaining as 1

Constraint for 32 bit address, to generate continuous 10 bits as 0 and remaining bits as 1.

rand bit[31:0] addr;
rand bit[4:0] i;

constraint c1{
addr = 32’b1;
addr[i+:9] = 0;

I wanted to ask, is there any other way to achieve this without using the slicing operator?

In reply to Akhil Mehta:

Refer constraint-randomization-interview-question