---
# System prepended metadata

title: Backlog Bonanza 2021-12-08

---

# Backlog Bonanza 2021-12-08

[GitHub query](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AC-tracking-issue+label%3AT-lang)

## omg what are we doing

* Take things that have been unstable for a while and "disposition them".
* Goal: Everything that is nightly only has one or more of the following labels, indicating the blocker(s) to stabilizing it:
    * S-tracking-ready-to-stabilize: Needs a stabilization PR (good to go :train:)
    * S-tracking-needs-to-bake: Needs time to bake (set a date? other criteria?)
    * S-tracking-impl-incomplete: Not code complete or blocking bugs
    * S-tracking-unimplemented: Implementation not begun
    * S-tracking-design-concerns: Blocking design concerns
        * This might be "doesn't quite seem to deliver value we hoped for" or "something doesn't feel right"
    * S-tracking-perma-unstable
        * Internal implementation detail of rustc, stdlib
    * S-tracking-needs-investigation

Attendance: Josh, Felix, Mark

---

# Implement likely/unlikely intrinsic (tracking issue for RFC 1131) #26179 

Tracking issue: https://github.com/rust-lang/rust/issues/26179

* we previously discussed this as "seemed fine", if libs wants this as a function
* libs kicked this over to lang, preferring an attribute
* unclear whether these work today
* perma-unstable / as LLVM intrinsics

# Tracking issue for the linkage feature #29603 

Tracking issue: https://github.com/rust-lang/rust/issues/29603

* `#[weak]` probably wants some other word in there to be more google-able
* The full surface area tracked by linkage (everything supported by LLVM) is something we'd not fully stabilize
    * And attributes may be somewhat composable
    * `#[linkage(weak, odr)]`
* perma-unstable for now, open to stabilizing parts with concrete proposals (file a T-lang MCP)

# Tracking issue for Fn traits (unboxed_closures feature) #29625 

Tracking issue: https://github.com/rust-lang/rust/issues/29625

* https://doc.rust-lang.org/beta/unstable-book/language-features/unboxed-closures.html
* https://doc.rust-lang.org/beta/unstable-book/library-features/fn-traits.html

`#[unstable(feature = "fn_traits", issue = "29625")]`

* Likely want a solution in this space
* But, this solution may not be the solution we want
* May want "proper" variadic generics over tuples


```rust=
error[E0658]: the precise format of `Fn`-family traits' type parameters is subject to change
 --> src/lib.rs:1:18
  |
1 | fn foo() -> impl std::ops::Fn<(i32)> {}
  |                  ^^^^^^^^^^^^^^^^^^^ help: use parenthetical notation instead: `Fn(i32) -> ()`
```


# Tracking issue for the start feature #29633 

Tracking issue: https://github.com/rust-lang/rust/issues/29633

* no_std + `#[start]` may be feasible
* surface area commitment: what works without the std entry point?
* probably achievable today with some hacks today (linker script, etc)
* design work/thinking that needs to happen before stabilization
    * e.g., whether the signature is cross-platform compatible, or what is needed around that

# Tracking issue for fundamental feature #29635 

Tracking issue: https://github.com/rust-lang/rust/issues/29635

* Discussion about what `#[fundamental]` means
    * on structs, and on traits
* What do people actually want to use this for?
* Design concerns:
    * non-std libraries with fundamental types cannot impl new traits, due to possible breakage
* Potentially perma-unstable, but needs summary of what this feature means and the use cases for it are (in std and outside)

# Tracking issue for no_core stabilization #29639 

Tracking issue: https://github.com/rust-lang/rust/issues/29639

* Possible use cases:
    * 30 byte large binaries
    * macro-only crates, as core deps
* we may be able to improve core itself such that LTO, etc. are good enough that no_core is no longer necessary
    * IOW, "core brings in stuff for no good reason" is a 'bug', and this may not be the right solution

#  Tracking issue for box_patterns feature #29641 

Tracking issue: https://github.com/rust-lang/rust/issues/29641

* perma-unstable in favor of deref patterns
* forward progress in other syntaxes/features, not in this particular feature


#  Tracking issue for RFC 2532, "Associated type defaults" #29661 

Tracking issue: https://github.com/rust-lang/rust/issues/29661

* needs summary -- is the checklist right?
* Mark to post comment


