<div>
                    <span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">Hi all,</span><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">Here's the link to #4990: <a href="https://r-forge.r-project.org/tracker/index.php?func=detail&aid=4990&group_id=240&atid=975" target="_blank" wotsearchprocessed="true" style="color: rgb(17, 85, 204);">https://r-forge.r-<wbr>project.org/tracker/index.php?<wbr>func=detail&aid=4990&group_id=<wbr>240&atid=975</a><div wotsearchtarget="r-forge.r-project.org" style="position: absolute; visibility: hidden; cursor: pointer; width: 16px; height: 16px; display: inline-block;"></div></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">I'm not sure there should be any warning here. A warning message is created in `:=` if the RHS that's assigned is "bigger" in length than the LHS. </div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">For ex:</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">dt <- data.table(a=rep(1:2, c(5,2)))</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">dt[, b := c(1,2,3), by=a]<br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "># creates warning that RHS is of length 3 and LHS is of length 2 for a ==2.</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><div>Warning message:</div><div>In `[.data.table`(dt, , `:=`(b, c(1, 2, 3)), by = a) :</div><div>  RHS 1 is length 3 (greater than the size (2) of group 2). The last 1 element(s) will be discarded.</div></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">Other than that, there need not be any warning because it's being recycled. For example, </div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">x <- 1:5</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">x[c(TRUE, FALSE)]</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "># [1] 1 3 5. </div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">Here, the number of elements of x are odd, but the recycling produces no warning. It may not exactly be the same issue, but to give an idea of silent recycling.<br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">What do you guys think?</div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; "><br></div><div style="color: rgb(34, 34, 34); font-family: arial, sans-serif; ">Arun</div></div><div><div><br></div></div>