Skip to content
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

Tracking Issue for Explicit Tail Calls #112788

Open
6 of 7 tasks
WaffleLapkin opened this issue Jun 19, 2023 · 4 comments
Open
6 of 7 tasks

Tracking Issue for Explicit Tail Calls #112788

WaffleLapkin opened this issue Jun 19, 2023 · 4 comments
Assignees
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC F-explicit_tail_calls `#![feature(explicit_tail_calls)]` T-lang Relevant to the language team, which will review and decide on the PR/issue.

Comments

@WaffleLapkin
Copy link
Member

WaffleLapkin commented Jun 19, 2023

This is a tracking issue for the RFC "Explicit Tail Calls" (rust-lang/rfcs#3407) (note that RFC is not accepted yet, this feature is currently implemented as part of an experiment).
The feature gate for the issue is #![feature(explicit_tail_calls)].

About tracking issues

Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

Steps

Unresolved Questions

(fill when the rfc is merged)

Implementation history

Preview Give feedback
  1. F-explicit_tail_calls S-waiting-on-bors T-compiler
    Noratrieb
  2. A-LLVM F-explicit_tail_calls S-waiting-on-bors T-bootstrap T-compiler
    cuviper
  3. A-testsuite F-explicit_tail_calls S-waiting-on-bors T-bootstrap T-compiler merged-by-bors
    compiler-errors
  4. F-explicit_tail_calls S-waiting-on-bors T-compiler
    Noratrieb
  5. S-blocked T-libs
    joshtriplett workingjubilee
  6. F-explicit_tail_calls S-waiting-on-bors T-compiler merged-by-bors
    oli-obk
  7. A-THIR F-explicit_tail_calls S-waiting-on-bors T-compiler perf-regression
    compiler-errors
@WaffleLapkin WaffleLapkin added the C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC label Jun 19, 2023
@WaffleLapkin WaffleLapkin changed the title Tracking Issue for XXX Tracking Issue for Explicit Tail Calls Jun 19, 2023
@WaffleLapkin WaffleLapkin added T-lang Relevant to the language team, which will review and decide on the PR/issue. F-explicit_tail_calls `#![feature(explicit_tail_calls)]` labels Jun 19, 2023
@WaffleLapkin WaffleLapkin self-assigned this Jun 19, 2023
@scottmcm
Copy link
Member

scottmcm commented Aug 26, 2023

While looking at something else, I tried using tailcc, and got sad:

LLVM ERROR: Can't handle guaranteed tail call under win64 yet
error: could not compile `core` (lib)

@travis-leith
Copy link

@scottmcm can you clarify: is this issue (llvm/llvm-project#53271) holding up implemention of explicit tail calls in rust?

@WaffleLapkin
Copy link
Member Author

@travis-leith this is not technically blocking the implementation, to my knowledge. But it is a big/noticeable problem for testing & stabilization.

mergify bot referenced this issue in andrzejressel/pulumi-wasm Aug 11, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.72` -> `2.0.73` |

---

### Release Notes

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.73`](https://togithub.com/dtolnay/syn/releases/tag/2.0.73)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.72...2.0.73)

-   Support parsing unnamed C varargs within function pointer types ([#&#8203;1711](https://togithub.com/dtolnay/syn/issues/1711))
-   Improve synthesized error message on unexpected tokens at the end of the expected contents of a delimited group ([#&#8203;1713](https://togithub.com/dtolnay/syn/issues/1713))
-   Support parsing unstable tail call syntax ([#&#8203;1714](https://togithub.com/dtolnay/syn/issues/1714), [https://github.com/rust-lang/rust/issues/112788](https://togithub.com/rust-lang/rust/issues/112788))
-   Add [`Fields::members`](https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members) iterator ([#&#8203;1716](https://togithub.com/dtolnay/syn/issues/1716), thanks [@&#8203;Fancyflame](https://togithub.com/Fancyflame))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/andrzejressel/pulumi-wasm).
renovate bot referenced this issue in Boshen/cargo-shear Aug 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [serde_json](https://togithub.com/serde-rs/json) | dependencies |
patch | `1.0.122` -> `1.0.124` |
| [syn](https://togithub.com/dtolnay/syn) | dependencies | patch |
`2.0.72` -> `2.0.74` |

---

### Release Notes

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.124`](https://togithub.com/serde-rs/json/releases/tag/v1.0.124)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.123...v1.0.124)

- Fix a bug in processing string escapes in big-endian architectures
([#&#8203;1173](https://togithub.com/serde-rs/json/issues/1173), thanks
[@&#8203;purplesyringa](https://togithub.com/purplesyringa))

###
[`v1.0.123`](https://togithub.com/serde-rs/json/releases/tag/v1.0.123)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.122...v1.0.123)

- Optimize string parsing by applying SIMD-within-a-register: 30.3%
improvement on
[twitter.json](https://togithub.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json)
from 613 MB/s to 799 MB/s
([#&#8203;1161](https://togithub.com/serde-rs/json/issues/1161), thanks
[@&#8203;purplesyringa](https://togithub.com/purplesyringa))

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.74`](https://togithub.com/dtolnay/syn/releases/tag/2.0.74)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.73...2.0.74)

- Fix *"temporary is dropped and runs the destructor for type \`impl
Iterator\`"* regression affecting certain use of `Generics` iterator
methods ([#&#8203;1719](https://togithub.com/dtolnay/syn/issues/1719))

### [`v2.0.73`](https://togithub.com/dtolnay/syn/releases/tag/2.0.73)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.72...2.0.73)

- Support parsing unnamed C varargs within function pointer types
([#&#8203;1711](https://togithub.com/dtolnay/syn/issues/1711))
- Improve synthesized error message on unexpected tokens at the end of
the expected contents of a delimited group
([#&#8203;1713](https://togithub.com/dtolnay/syn/issues/1713))
- Support parsing unstable tail call syntax
([#&#8203;1714](https://togithub.com/dtolnay/syn/issues/1714),
[https://github.com/rust-lang/rust/issues/112788](https://togithub.com/rust-lang/rust/issues/112788))
- Add
[`Fields::members`](https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members)
iterator ([#&#8203;1716](https://togithub.com/dtolnay/syn/issues/1716),
thanks [@&#8203;Fancyflame](https://togithub.com/Fancyflame))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone
Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/Boshen/cargo-shear).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
keithamus referenced this issue in keithamus/hdx Aug 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies |
patch | `4.5.13` -> `4.5.15` |
| [serde](https://serde.rs)
([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies
| patch | `1.0.204` -> `1.0.206` |
| [serde_json](https://togithub.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.122` -> `1.0.124` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies |
patch | `2.0.72` -> `2.0.74` |

---

### Release Notes

<details>
<summary>clap-rs/clap (clap)</summary>

###
[`v4.5.15`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4515---2024-08-10)

[Compare
Source](https://togithub.com/clap-rs/clap/compare/v4.5.14...v4.5.15)

##### Compatiblity

-   *(unstable-ext)* `Arg::remove` changed return types

##### Fixes

-   *(unstable-ext)* Make `Arg::remove` return the removed item

###
[`v4.5.14`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4514---2024-08-08)

[Compare
Source](https://togithub.com/clap-rs/clap/compare/v4.5.13...v4.5.14)

##### Features

- *(unstable-ext)* Added `Arg::add` for attaching arbitrary state, like
completion hints, to `Arg` without `Arg` knowing about it

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

###
[`v1.0.206`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.206)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.205...v1.0.206)

- Improve support for `flatten` attribute inside of enums
([#&#8203;2567](https://togithub.com/serde-rs/serde/issues/2567), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))

###
[`v1.0.205`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.205)

[Compare
Source](https://togithub.com/serde-rs/serde/compare/v1.0.204...v1.0.205)

- Use serialize_entry instead of serialize_key + serialize_value when
serialize flattened newtype enum variants
([#&#8203;2785](https://togithub.com/serde-rs/serde/issues/2785), thanks
[@&#8203;Mingun](https://togithub.com/Mingun))
- Avoid triggering a collection_is_never_read lint in the
deserialization of enums containing flattened fields
([#&#8203;2791](https://togithub.com/serde-rs/serde/issues/2791))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.124`](https://togithub.com/serde-rs/json/releases/tag/v1.0.124)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.123...v1.0.124)

- Fix a bug in processing string escapes in big-endian architectures
([#&#8203;1173](https://togithub.com/serde-rs/json/issues/1173), thanks
[@&#8203;purplesyringa](https://togithub.com/purplesyringa))

###
[`v1.0.123`](https://togithub.com/serde-rs/json/releases/tag/v1.0.123)

[Compare
Source](https://togithub.com/serde-rs/json/compare/v1.0.122...v1.0.123)

- Optimize string parsing by applying SIMD-within-a-register: 30.3%
improvement on
[twitter.json](https://togithub.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json)
from 613 MB/s to 799 MB/s
([#&#8203;1161](https://togithub.com/serde-rs/json/issues/1161), thanks
[@&#8203;purplesyringa](https://togithub.com/purplesyringa))

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.74`](https://togithub.com/dtolnay/syn/releases/tag/2.0.74)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.73...2.0.74)

- Fix *"temporary is dropped and runs the destructor for type \`impl
Iterator\`"* regression affecting certain use of `Generics` iterator
methods ([#&#8203;1719](https://togithub.com/dtolnay/syn/issues/1719))

### [`v2.0.73`](https://togithub.com/dtolnay/syn/releases/tag/2.0.73)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.72...2.0.73)

- Support parsing unnamed C varargs within function pointer types
([#&#8203;1711](https://togithub.com/dtolnay/syn/issues/1711))
- Improve synthesized error message on unexpected tokens at the end of
the expected contents of a delimited group
([#&#8203;1713](https://togithub.com/dtolnay/syn/issues/1713))
- Support parsing unstable tail call syntax
([#&#8203;1714](https://togithub.com/dtolnay/syn/issues/1714),
[https://github.com/rust-lang/rust/issues/112788](https://togithub.com/rust-lang/rust/issues/112788))
- Add
[`Fields::members`](https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members)
iterator ([#&#8203;1716](https://togithub.com/dtolnay/syn/issues/1716),
thanks [@&#8203;Fancyflame](https://togithub.com/Fancyflame))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 9am on monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/keithamus/hdx).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
FelixMcFelix referenced this issue in oxidecomputer/opte Aug 12, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies |
patch | `2.0.72` -> `2.0.74` |

---

### Release Notes

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.74`](https://togithub.com/dtolnay/syn/releases/tag/2.0.74)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.73...2.0.74)

- Fix *"temporary is dropped and runs the destructor for type \`impl
Iterator\`"* regression affecting certain use of `Generics` iterator
methods ([#&#8203;1719](https://togithub.com/dtolnay/syn/issues/1719))

### [`v2.0.73`](https://togithub.com/dtolnay/syn/releases/tag/2.0.73)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.72...2.0.73)

- Support parsing unnamed C varargs within function pointer types
([#&#8203;1711](https://togithub.com/dtolnay/syn/issues/1711))
- Improve synthesized error message on unexpected tokens at the end of
the expected contents of a delimited group
([#&#8203;1713](https://togithub.com/dtolnay/syn/issues/1713))
- Support parsing unstable tail call syntax
([#&#8203;1714](https://togithub.com/dtolnay/syn/issues/1714),
[https://github.com/rust-lang/rust/issues/112788](https://togithub.com/rust-lang/rust/issues/112788))
- Add
[`Fields::members`](https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members)
iterator ([#&#8203;1716](https://togithub.com/dtolnay/syn/issues/1716),
thanks [@&#8203;Fancyflame](https://togithub.com/Fancyflame))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 8pm,before 6am" in timezone
America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone
America/Los_Angeles.

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjUuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: oxide-renovate[bot] <146848827+oxide-renovate[bot]@users.noreply.github.com>
timonv referenced this issue in bosun-ai/swiftide Aug 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [syn](https://togithub.com/dtolnay/syn) | dependencies | patch |
`2.0.72` -> `2.0.74` |

---

### Release Notes

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.74`](https://togithub.com/dtolnay/syn/releases/tag/2.0.74)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.73...2.0.74)

- Fix *"temporary is dropped and runs the destructor for type \`impl
Iterator\`"* regression affecting certain use of `Generics` iterator
methods ([#&#8203;1719](https://togithub.com/dtolnay/syn/issues/1719))

### [`v2.0.73`](https://togithub.com/dtolnay/syn/releases/tag/2.0.73)

[Compare
Source](https://togithub.com/dtolnay/syn/compare/2.0.72...2.0.73)

- Support parsing unnamed C varargs within function pointer types
([#&#8203;1711](https://togithub.com/dtolnay/syn/issues/1711))
- Improve synthesized error message on unexpected tokens at the end of
the expected contents of a delimited group
([#&#8203;1713](https://togithub.com/dtolnay/syn/issues/1713))
- Support parsing unstable tail call syntax
([#&#8203;1714](https://togithub.com/dtolnay/syn/issues/1714),
[https://github.com/rust-lang/rust/issues/112788](https://togithub.com/rust-lang/rust/issues/112788))
- Add
[`Fields::members`](https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members)
iterator ([#&#8203;1716](https://togithub.com/dtolnay/syn/issues/1716),
thanks [@&#8203;Fancyflame](https://togithub.com/Fancyflame))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/bosun-ai/swiftide).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@fitzgen

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: An issue tracking the progress of sth. like the implementation of an RFC F-explicit_tail_calls `#![feature(explicit_tail_calls)]` T-lang Relevant to the language team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants