or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
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.
Syncing
xxxxxxxxxx
T-lang meeting agenda
Attendance
Meeting roles
Scheduled meetings
Announcements or custom items
Planning meeting
Governance draft
josh triplett: Draft Governance RFC has gone around [to all@rust-lang.org -ed.]. There have been updates, working to make it shorter. We're anticipating trying to make it public in the next few weeks, deferred to incorporate more feedback. Reach out to me or simulacrum or one of the others who sent out the mail to supply feedback.
Action item review
Pending lang team project proposals
None.
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →PRs on the lang-team repo
None.
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →RFCs waiting to be merged
None.
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →Proposed FCPs
Check your boxes!
"Edition Based Method Disambiguation: Preventing inference ambiguity breakages with extension trait methods" rfcs#3240
"unsafe attributes" rfcs#3325
"RFC: UTF-8 characters and escape codes in (byte) string literals" rfcs#3349
"Tracking issue for RFC 2515, "Permit impl Trait in type aliases"" rust#63063
"Tracking Issue for "C-unwind ABI", RFC 2945" rust#74990
"Stabilise inline_const" rust#104087
tmandry: Just posted a comment to the thread about the fact that we don't error if there's a const eval error on an unused function, since the const blocks never get evaluated. I think we should error. But how do we make transition? This is existing behavior. Also a question of whether it should block inline const stabilization.
My recommendation is that we should add a lint and make it an error in the edition. I wouldn't block stabilization on it, but it is higher priority because of inline const.
joshtriplett: Can you clarify what you mean by not blocking?
tmandry: Don't have to wait for this lint to be implemented before stabilizing inline const.
joshtriplett: If we were proposing to do it as a lint, I'd agree, but I think it should just be an error. If we want it to be an error, I don't think we can reasonably do that later, it'd be a breaking change.
scottmcm: It's already a breaking change.
tmandry: Right, unless we limit it to inline const blocks, if that's even possible. That's why I advocated for changing behavior over an edition.
garyguo: I think there's two aspects of this. Dead code, and opt related. Oli has a PR to address the behavior in terms of "monomorphizing check mode" that does some of this. I think this should prob be in a design meeting with oli/ralf/me and other interested parties.
joshtriplett: +1, I think it suffices for this meeting to say that current behavior isn't in consensus on shipping
scottmcm: I like the point that making mono smarter or less smart is potentially a breaking change in the current rules. Moving towards a world where we can't accidentally break code because we monomorphized more makes sense to me. Lint that we start doing seems entirely reasonable.
garyguo: Not sure if it's breaking, since we do have the stable "link dead code" option, might be something we can do with a crater run.
nikomatsakis: who will file design meeting?
tmandry: could lump this in with the general post-monomorphization error meeting I intend to follow.
nikomatsakis: is it close enough that it makes sense to do together?
tmandry: maybe.
pnkfelix: comment you wrote in the issue says that, the fact that
-C link-dead-code
can cause an error– does it consistently cause an error in the example you gave?tmandry: yes.
garyguo: eager mode fires an error, but lazy does not.
nikomatsakis: +1 to design meeting, prob 1 is enough.
tmandry: one is "post monomorphization errors" whereas this is really about functions that are unused and happen to use const. Not really monomorphization specific.
garyguo: From compiler perspective, tied to monomorphization.
tmandry: right, in compiler, we use monomorphization for dead code even without generics.
pnkfelix: we have to be careful, we want to permit working backwards from main and not forcing us to search all the code for potential errors.
joshtriplett: we need a clear statement then to define our expectation for reachability.
"Relax ordering rules for
asm!
operands" rust#105798"Properly allow macro expanded
format_args
invocations to uses captures" rust#106505concern potentially resolved!
Active FCPs
None.
P-critical issues
None.
Nominated RFCs, PRs and issues discussed this meeting
"Stabilise inline_const" rust#104087
Link: https://github.com/rust-lang/rust/pull/104087
Defer to design meeting.
"Mark RFC 1201 (naked functions) superseded by RFC 2972 (constrained naked functions)" rfcs#3223
Link: https://github.com/rust-lang/rfcs/pull/3223
scottmcm to author suggestion then merge.
"The
#[diagnostic]
attribute namespace" rfcs#3368Link: https://github.com/rust-lang/rfcs/pull/3368
scottmcm: design meeting?
joshtriplett: not yet. recently reworked. let's discuss if we're comfortable with this namespace. by a week and a day from now, we'll prob be ready to schedule a design meeting, so let's ask them if they'd like to.
I think a lot of this has basically been pitched. The premise is very much "we still review individual proposals for attributes, this is just trying to handle forward compatibility reasonably".
I propose: folks read the RFC and decide if it does what they want it to do, and only use a design meeting if we're not in agreement.
"Implement a lint for implicit autoref of raw pointer dereference " rust#103735
Link: https://github.com/rust-lang/rust/pull/103735
scottmcm: I commented I was going to unnominate but hadn't, so skip this.
"Allow only implementing
Read::read_buf
" rust#106643Link: https://github.com/rust-lang/rust/pull/106643
joshtriplett: Un-nominated since we are waiting on a draft. Somebody filed a tracking issue with a detailed description of the behavior.
scottmcm: I'm confused about use case.
joshtriplett: Specific use case is that people want to stabilize
read_buf
and require people to implement either read or read-buf but not both.The issue right now is not if we want to stabilize "must implemented one of". The question ins: how much do we want to see happen before we let anybody stabilize
read_buf
such that there's a dependence on something like this in the stdlib?scottmcm: A few years ago we had a problem where something got stabilized thanks to library. I think we need a reference PR before we can stabilize first method using this.
nikomatsakis: Reference PR for what? Not stabilizing the attribute what. We're stabilizing, in effect, a special rule for the read trait?
joshtriplett: I get the point that if we are stabilizing something that depends on it – sounds like you're saying you're fine to apply it in nightly, but you want to block stabilizing.
nikomatsakis: Just saying that we don't normally document unstable things, so we would normally document this as a special behavior of the
Read
trait.scottmcm: Yes, this is a visible thing that ought to have something documented, like the const thing we did some time back (but unfortunately didn't document).
pnkfelix: Have to make sure that every trait that uses the attribute documents that behavior, right?
nikoamtsakis: Yes. May be worth adding some note to the reference that "some traits have this behavior"
pnkfelix: Not convinced that's useful, most important thing is to document it on the trait.
scottmcm: something about stability that Niko didn't catch
joshtriplett: Any objection to adding this to nightly now? All objections are related to stabilization, correct?
nikomatsakis: I am happy with the tracking issue which was created, it follows our experimental procedure.
scottmcm: correct. I'll add a note to the tracking issue for read-buf to note that we want to consider this before stabilizing.
nikomatsakis: side note that this situation comes up regularly and would be a nice language feature.
"Discuss subteam calendars" lang-team#192
Link: https://github.com/rust-lang/lang-team/issues/192
joshtriplett: Style team has a calendar. Some subteam meetings show up on t-lang, some have their own. How do we want to handle this? I think it makes sense to say "no subteam meetings appear on t-lang" and have links from the same place for each subteam…?
nikomatsakis: I'm in camp "fewer calendars", as people have trouble finding the ones that exist…
joshtriplett: …but other people aren't aware of those meetings…
pnkfelix: …I think T-compiler has just one.
tmandry: I can relate to wanting some but not all events on my calendar.
joshtriplett: Yes, I wish there were better tools for having all calendars.
tmandry: the only way to get other people to know I am busy is to put me on the invite. Doesn't solve that problem.
nikomatsakis: what other subteams do we have?
joshtriplett: types, opsem, style…?
nikomatsakis: I don't care much, but we should at LEAST have a link with the calendars in use by each team.
pnkfelix: would be great to have it be part of the teams repo.
all: yes.
"Introduce terminating scope for tail expressions of breakable scopes" rust#106493
Link: https://github.com/rust-lang/rust/pull/106493
nikomatsakis: general problem being addressed is…
let f = &something()
something()
is a temporary, but because it is clearly assigned intof
, we extend that to the end of the enclosing blockInteresting twist:
temporary scope in the tail-expression is the same as the temporary scope of the block itself
I think this was probably a mistake, but it is what we do now.
Docs on these rules.
I'm worried because there can be really subtle bugs for effectful destructors. Classic bug I'd like to see addressed is this:
but that's independent from this PR.
Conclusion: this PR changes because of breakable scopes.
True best path: we should address these rules for the edition.
nikomatsakis: I can at least ping the PR author and see if they're willing to pursue a rationalization here for edition.
"make &mut !Unpin not dereferenceable, and Box<!Unpin> not noalias" rust#106180
Link: https://github.com/rust-lang/rust/pull/106180
discussion wherein we read the comments
Conclusion: jakob-degen's comment here indicates that this is compiler, in that the idea is to stop optimizing as aggressively because we the current optimization is not sound. It is not deciding language semantics or permissible unsafe code. Therefore, we are happy for the time being with the PR.
Some debate about what our general policy should be. Niko advocates for 'reliable first', de-optimize until we know when we can, but there is some concern about unsafe code authors relying on the LLVM attributes we emit not to change. This case is specific to Unpin and so affects primarily async + code like Rust For Linux.
"Tracking issue for deprecation lint
proc_macro_derive_resolution_fallback
" rust#83583Link: https://github.com/rust-lang/rust/issues/83583
pnkfelix: I filed design mtg proposal for this, and removed the I-lang-nominated label. no need to discuss in mtg.
Nominated RFCs, PRs and issues NOT discussed this meeting
"RFC: Start working on a Rust specification" rfcs#3355
Link: https://github.com/rust-lang/rfcs/pull/3355
"inline_const does not evaluate in unused function" rust#106617
Link: https://github.com/rust-lang/rust/issues/106617