-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hir
: Add Become
expression kind (explicit tail calls experiment)
#112887
Conversation
This comment has been minimized.
This comment has been minimized.
Some changes occurred in src/tools/clippy cc @rust-lang/clippy |
247c4cd
to
b03f1bc
Compare
r? compiler-errors |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=compiler-errors,Nilstrieb with nits applied preferably
let call_expr_ty = self.check_expr_with_hint(call, ret_ty); | ||
|
||
// N.B. don't coerce here, as tail calls can't support most/all coercions | ||
// FIXME(explicit_tail_calls): add a diagnostic note that `become` doesn't allow coercions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, this should be very doable in the future!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool!
b03f1bc
to
e38576a
Compare
@bors r=compiler-errors,Nilstrieb |
☀️ Test successful - checks-actions |
Finished benchmarking commit (6f8c27a): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 662.166s -> 663.81s (0.25%) |
…, r=compiler-errors,Nilstrieb `hir`: Add `Become` expression kind (explicit tail calls experiment) This adds `hir::ExprKind::Become` alongside ast lowering. During hir-thir lowering we currently lower `become` as `return`, so that we can partially test `become` without ICEing. cc `@scottmcm` r? `@Nilstrieb`
This adds
hir::ExprKind::Become
alongside ast lowering. During hir-thir lowering we currently lowerbecome
asreturn
, so that we can partially testbecome
without ICEing.cc @scottmcm
r? @Nilstrieb