You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have, in my patch queue, a change that removes TypeChecker::check_box_free_inputs because I changed the MIR emitted for box_free such that the normal TypeChecker::check_call_inputs should work for it. I wanted to check whether that's true, but couldn't find any case where it's called. I went as far as reverting all my changes, and making check_box_free_inputseprintln a message, and never saw one. Not while compiling the compiler itself, and not while compiling the testcase from #50041 (which does create a basic block with a termination call to box_free, contrary to most cases where the MIR only contains a drop ; and I tried adding #[feature(nll)] to that testcase in case that matters, to no avail)
Actually, full disclosure: I did see two calls... when compiling liballoc, which contains explicit calls to the function. (
Because box_free is now passed a pointer instead of a Box, we can stop
relying on TypeChecked::check_box_free_inputs, because
TypeChecker::check_call_inputs should be enough, like for all other
function calls.
It seems it was not actually reached anyways in cases where it would
have made a difference. (issue rust-lang#50071)
I have, in my patch queue, a change that removes
TypeChecker::check_box_free_inputs
because I changed the MIR emitted forbox_free
such that the normalTypeChecker::check_call_inputs
should work for it. I wanted to check whether that's true, but couldn't find any case where it's called. I went as far as reverting all my changes, and makingcheck_box_free_inputs
eprintln
a message, and never saw one. Not while compiling the compiler itself, and not while compiling the testcase from #50041 (which does create a basic block with a termination call tobox_free
, contrary to most cases where the MIR only contains adrop
; and I tried adding#[feature(nll)]
to that testcase in case that matters, to no avail)Actually, full disclosure: I did see two calls... when compiling liballoc, which contains explicit calls to the function. (
rust/src/liballoc/arc.rs
Line 581 in 99d4886
rust/src/liballoc/rc.rs
Line 696 in 99d4886
check_call_inputs
is clearly enough, since type checking actually happens before MIR.Cc: @nikomatsakis
The text was updated successfully, but these errors were encountered: