Rust Lang Team
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Help
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
# Backlog Bonanza 2022-03-16 [GitHub query](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AC-tracking-issue+label%3AT-lang) ## 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-summary Attendance: Josh, Niko, Felix Other: Mark, David ## Tracking issue for RFC 2045: improving #\[target_feature\] #44839 Link: https://github.com/rust-lang/rust/issues/44839 pnkfelix: In last Backlog Bonanza, we had said that it looks like this is a combo of a checklist of target-specific items as well as enhancements to the target_feature mechanism itself and associated issues. joshtriplett: we should split this. Close the bit that is tracking target-specific features. The other one, making target feature better, is "needs owner". pnkfelix: gnzblg was owner, but they haven't been active lately. joshtriplett: I think there are a lot of folks who care about this item, the question is more whether there's someone willing to own and drive it. I don't think in this meeting we should be trying to do the "split etc" thing, we should cover more items, but we should assign it to someone, or tag it and post the comment. pnkfelix: I can do that but I don't want to own further investigation. joshtriplett: What do folks think about "needs owner"? simulacrum: I'm not a fan of the idea, seems not distinct enough from "design concerns" etc, depending on what the owner is for. Needs owner implies that it ... the way we resolve *all* things is by having an owner for them. pnkfelix: I agree that "needs owner" is maybe not a separate state, but the question is whether we need some different metadata to say "there was an implicit owner but now there really isn't". simulacrum: I think it would be useful if our tracking issue template had a field like "last summarized on XXX by YYY" and that way there's an implicit "if there's been no summary for 6 months, prob that person is not actively looking" joshtriplett: I've got half-a-comment written, can somebody take up the split https://github.com/rust-lang/rust/issues/44839#issuecomment-1069376099 nikomatsakis: I think it's worth making it clear that there IS no owner. Just seeing that there hasn't been activity doesn't say much on its own. simulacrum: label might not be the best way, but I agree nikomatsakis: in particular, with initiatives, owners will sometimes disappear, we should have a way to recruit a new one ## Tracking issue for RFC 2137: Support defining C-compatible variadic functions in Rust #44930 Link: https://github.com/rust-lang/rust/issues/44930 joshtriplett: Recently followed up on this. We made a decision in a previous rust-lang meeting about whether which targets had to be supported for us to ship this. Ultimately this will be a never-ending thing of "every target has to support it". So the question is "which subset of targets is needed to ship as stable". In a previous rust-lang meeting we agreed we can ship it on a subset of targets, but didn't define the subset, though it at least must include Tier 1. Rough consensus seemed to be did not require Tier 2. pnkfelix: When it doesn't work, do you get a compilation error? joshtriplett: There are targets for which it is not implemented at all, in which case, you would get a compilation error. But it could also be implemented but have bugs. In that scenario, I think we fix it like any other bug. Don't think there are known bugs on Tier 1 architectures, at least. pnkfelix: yes joshtriplett: I think current status is that we've made a decision that it is sufficiently complete; the author said they wanted to add a couple more tests to this and then they're ready to ship. What would that quality as for "S"? nikomatsakis: "ready to stabilize", I think pnkfelix: not needs bake? joshtriplett: It's more that there are some corner cases they want to ensure are tested; it's not that it needs to bake more per se. nikomatsakis: Seems to me like fcp'ing with a concern. simulacrum: It sounds like the corcern around future compatibility with types needing different layout depending on ABI (or something); it sounds like that wasn't well understood in the comment thread. joshtriplett: I do recall us having a conversation about it. I think the primary concern we needed to settle, and we did settle, was whether we could add support for other calling conventions in the future. I think the answer and conclusion was "yes, it would be". simulacrum: Sounds like that would come up in the stabilization report in any case. We can call it ready to stabilize. pnkfelix: Currently it only works on `extern "C"`, right? joshtriplett: Yes. *some back and forth about what "default" means* ## Lint for undesirable, implicit copies #45683 link: https://github.com/rust-lang/rust/issues/45683 joshtriplett: pnkfelix commented a year ago that would highlight moves larger than a configured limit. nikomatsakis: I don't think that is all of it, there is also `Cell`, or to designate types like iterators that "could be copy" in the sense of memcpy, but where you might want an explicit clone. joshtriplett: Fair to say "needs summary"? Or should we split? scottmcm: I think splitting is good, the "big memcpy" thing seems separable from the Cell:Copy thing. joshtriplett: is large-assignments enabled by default? pnkfelix: I suspect it is not joshtriplett: should we? and with what threshold? scottmcm: I think we should obviously do that for "particuarly large ones" like 1KB joshtriplett: so: "yes we should and there's some threshold we should pick" pnkfelix: a cache line nikomatsakis: egads nikomatsakis: we should split, and this is probably empirical, at least in part? joshtriplett: can we modify the lint to emit the size as part of message, turn it on, do a crater run, and then we can analyze that to see the right threshold? * https://lang-team.rust-lang.org/design_notes/copy_ergonomics.html nikomatsakis: I think we could almost close this, it's more of a problem statement, we don't have a design, maybe `S-tracking-needs-design`, but we don't have that. pnkfelix: design-concerns includes that. nikomatsakis: I can write a comment suggesting what we want done here. joshtriplett: I just followed link to #83518 "large assignments lint", shall we add appropriate label? nikomatsakis: I feel like we need someone to go gather the data and suggest a threshold. scottmcm: how would we want this configurable? I'm not sure what "level" it applies to, it looks like there's an unstable crate limit attribute. joshtriplett: the box isn't actually checked for "implement the RFC", it's not completely clear what the state of the lint is. nikomatsakis: It's kind of in the "exploration" stage of the initiative, right? No RFC pnkfelix: there was an FCP nikomatsakis: ok, but still, in terms of "make this a user-facing feature", not much work has been done scottmcm: technically it's warn by default already, but there's no threshold joshtriplett: effectively makes it allow by default ## (RFC 1210) specialization: restrictions around lifetime dispatch #45982 Link: https://github.com/rust-lang/rust/issues/45982 nikomatsakis: I would call this `S-tracking-design-concerns` joshtriplett: This is a tracking issue for a subset of specialization nikomatsakis: Honestly I think the issue is adding no value and I would close it nikomatsakis to close and write summary ## Tracking issue for RFC #2145: Type privacy and private-in-public lints #48054 simulacrum: I think I saw petrochenkov comment that they wanted some changes. Obviously I'll never find that comment now. joshtriplett: Going to tag this as "design concerns" then. simulacrum: I think "needs summary" nikomatsakis: I still dislike the rules this RFC is trying to remove :) scottmcm: We FCP'd something removing one of these rules, right? nikomatsakis: yes. ## Tracking issue for RFC #1909: Unsized Rvalues #48055 Link: https://github.com/rust-lang/rust/issues/48055 joshtriplett: basically alloca? nikomatsakis: in some cases, at least. I realized recently that this whole thing is basically incompatible with async -- they would need to call malloc. I'm not sure about wasm. I have concerns about portability and orthogonality. scottmcm: I got the impression that different parts have very different complications. Like function arguments are somewhat easier than the other ones? nikomatsakis: going from "caller to callee" works well, going back up the stack not so much, storing in let is tricky joshtriplett: I care about seeing this happen but I have some design concerns nikomatsakis: I remember that the RFC included some text about a guaranteed optimization path, or at least it was discussed, I'm not sure if that got documented/implemented or if we might want a (opt-in?) lint to help you enforce it. pnkfelix: Was that something from the issue thread? nikomatsakis: I thought it was in the RFC but maybe just something arielb1 and I talked about. nikomatsakis: I think "needs summary" is a good label. joshtriplett: do we need to note anything besides labeling it? ## Tracking issue for RFC #2056: Allow trivial constraints to appear in where clauses #48214 Link: https://github.com/rust-lang/rust/issues/48214 joshtriplett: what syntax is here? nikomatsakis: no syntax, but you can add bounds like `where String: Copy` and the compiler believes you, rather than giving you an error; probably it should warn though nikomatsakis: I expect this to fall out from other work that we are doing, matthewjasper's "there's an impl but it's kind of hairy" https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=7c4c60898d3aebebf54a4900ab18636b ```rust // compiles today: #![feature(trivial_bounds)] fn foo() where String: Copy { let x = "foo".to_string(); let y = x; let z = x; // Added this line since otherwise it works without the `where` } fn main() { } ``` matthewjasper [example](https://github.com/rust-lang/rust/issues/48214#issuecomment-396038764) of something "surprising" in the current implementation: ```rust= #![feature(trivial_bounds)] struct A; trait X<T> { fn test(&self, t: T) {} } impl X<i32> for A {} fn foo(a: A) where A: X<i64> { a.test(1i64); // expected i32, found i64 } ``` nikomatsakis: I would this "impl incomplete" but we don't know the exact set of bugs, it might be "needs summary" for that reason ## Tracking issue for stable SIMD in Rust #48556 Link: https://github.com/rust-lang/rust/issues/48556 joshtriplett: might be one of those "we've shipped it for a few architectures but not all of them" -- but it may also just be "done"? joshtriplett: there's *portable* SIMD, which has its own tracking issues, but this appears to just be SIMD...? nikomatsakis: In 2020, Amanieu: > I'm going to reopen this issue. SIMD was only stabilized on x86/x86_64, not on other architectures. joshtriplett: I think this is explicitly about the "simd intrinsics", and I think we've already done that. nikomatsakis: any remaining intrinsics ought to have their own tracking issue

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully