Expr::Expr(const RDom &d) : contents(new ExprContents(makeVar((d[0].name())), Int(32))) { contents->isRVar = true; assert(d.dimensions() == 1 && "Can only use single-dimensional domains directly as expressions\n"); setRDom(d); child(d[0].min()); child(d[0].size()); }