- propose case-by-case uplift for clippy lints (scottmcm) & cancel FCP
- merge: Uplift lints from clippy to rustc (rust-lang/rust#53224)
- Centril will do it.
- “Make an issue & ping the teams, escalate to FCP if necessary on case by case basis”
- Centril will do it.
- merge: Uplift lints from clippy to rustc (rust-lang/rust#53224)
- niko to post summary comment on turbofish RFC and postpone - update: thought about it, didn't act yet because pondering
- niko to post comment on #67387 (Pin)
- Niko to summarize their concerns, note the
Deref
trait, and generally encourage doing something for pin now and considering a more general extension separately
- Niko to summarize their concerns, note the
- mem::zeroed/uninit: panic on types that do not permit zero-initialization #66059
- Centril to write a comment
- Didn’t get around to it.
- Centril to write a comment
- centril to comment on concerns re: inline asm rust-lang/rfcs#2836
- should we have a follow-up meeting?
- Niko to comment on Casting or adding type ascription to panic!() triggers unreachable_code
- saying “disabling lint makes sense because these expressions are useful for ensuring type inference succeeds”
- Niko to schedule a “specialization infomercial” design meeting
- Niko to comment on rust-lang/rust#67194 that we should remove the unsound specialization impl
- Niko to schedule with Ralf a design meeting on arc-drop
- Niko to comment on Tracking issue for RFC 2091: Implicit caller location #47809 and say go for it
- Centril to comment on floating point to integer casts can cause undefined behaviour #10184
- Niko to comment or look for someone to implement target_feature 1.1 RFC #2396
- Jan 13 — Coherence can be bypassed by an indirect impl for a trait object #57893
- Jan 20 — ffi-unwind around the “C” vs “C unwind” question
- Jan 27 — (Mozilla all hands)
- Feb 3 — maybe roadmap or organization instead?
inline assembly (Amanieu, Josh)
- lots happening here, expect 1st RFC show up soon
- RFC to create project group not yet merged
- deprecate existing ASM, move to LLVM ASM (RFC 2843) opened
- minutes from meeting:
- discussed whether this is a high enough prioritity to pursue now
- some disagreement :)
safe transmute (Ryan, Josh)
- rust-lang/rfcs#2835 got merged
- been reviewing various libraries, including a relatively new one (typic) with a more general type equivalence mechanism
const evaluation (ecstatic-morse)
- PR implementing syntax for const bounds exists
ffi-unwind (BatmanAod)
- preparing blog post, have to schedule a meeting
- Want to discuss and settle what
extern
"``C``"
should do, and whether to introduceextern
"``C nounwind``"
orextern
"``C unwind``"
.
"dyn Trait" stuff (nikomatsakis)
- Relevant issue: rust-lang/rust#57893
- Meeting next monday (13th Jan)
grammar (qmx)
- no update
~~**never_type**~~
(~~**!**~~
) stabilization (nikomatsakis)
- llogic and I are scheduling a time to pair program and get the lint going next week
None this week
Usage of erroneous constant can be omitted on nightly and beta #67083Replace our fragile safety scheme around erroneous constants #67191- Question at hand: when does an erroneous constant become an error?
- One option: if borrow check would consider a usage of the constant live
- Josh was concerned, but now agrees, upon further reflection
[~~Pin~~](https://github.com/rust-lang/rust/issues/66544)
is unsound due to rogue Deref/DerefMut implementations rust-lang/rust#66544- Scheduled meeting for Jan 6th, which we had.
- Have a pending PR with a fix — let’s discuss briefly?
- Positive witness for negative case
impl<T: ?Sized> !DerefMut for &T
impl<T: ?Sized> !Clone for &mut T
- fcp merge for this change, introduces the
negative_impls
Coherence can be bypassed by an indirect impl for a trait object- (see above)
permit negative impls for non-auto traits #68004- (see above)
mem::zeroed/uninit: panic on types that do not permit zero-initialization#66059- no updates since last meeting
- TL;DR of what we said before
- Centril thinks it would be good to have the full plan as "prose" and FCP that one so we don't have to re-FCP every step.
- Update: crater regressions categorized
- Who will follow up with Ralf? Maybe centril?
- To land this PR we need: (Centril to leave comment)
- Preliminary write-up of the rules around which types permit zero-initialization
- Something we can point to to help people understand when
mem::zeroed
andmem::uninitialized
will panic - (To what extent was this covered in an RFC? Maybe only "suggested"? "Inspired by?")
- Centril to write a comment (see action items)
Pin
is unsound due to transitive effects ofCoerceUnsized
#68015- split off from the other
Pin
issue
- split off from the other
(request) Extend~~#[must_use]~~
to Pin#67387- Niko to summarize their concerns, note the
Deref
trait, and generally encourage doing something for pin now and considering a more general extension separately
- Niko to summarize their concerns, note the
Casting or adding type ascription to panic!() triggers unreachable_code- Centril listed some options
- author gave feedback.
- Niko to write comment: let’s accept this.
- Centril listed some options
Add configurable, per-item instruction limit for CTFE- would prefer if you are able to attach these definitions to the const fn definition more than the use, in contrast to with macros --Niko
- current infinite loop detector is very slow
PartialEq implementation for RangeInclusive is unsound- this is due to unsound specialization implementation
- what do people think we should do here?
- revert this particular case, presumably
- should we try to implement some more rules here?
- should we do an audit?
- would be work to organize — we could write up the heuristic rule
- Niko to leave a comment.
Pin`is unsound due to rogue Deref/DerefMut implementations #66544- see above
Tracking issue for RFC 2645, "Transparent Unions and Enums" #60405- centril is thinking of stabilizing
#[repr(transparent)]
for enums:- Nice to have univariant enums & structs behave the same way in general as a form of "algebraic data types" are sane.
#[repr(transparent)]
applied to a univariant enum behaves as if it were a struct- defer stablization for unions
- Centril to write up a stabilization report & proposal for just enums.
- centril is thinking of stabilizing
Arc::drop has a (potentially) dangling shared ref #55005- still nominated, planning to schedule a meeting
- Let’s have a design meeting.
Tracking issue for RFC 2091: Implicit caller location #47809- nominated because anp has implemented this and would like to extend to trait items, which (contrary to what we previously thought when RFC was accepted) don’t seem to pose much difficulty
- niko requested a summary of impl strategy for rustc-dev-guide plus reference where appropriate, but the belief is that this is generally straightforward
- I believe this works by a modification to the Rust ABI, and when we make a fn pointer we generate a small shim around it, so that as long as you do static dispatch, it works fine, and dynamic dispatch (either through
dyn
orfn
type) will “cut the chain”, but I’ve not read all the PRs. —niko
- I believe this works by a modification to the Rust ABI, and when we make a fn pointer we generate a small shim around it, so that as long as you do static dispatch, it works fine, and dynamic dispatch (either through
- conclusion: let’s do it, even though we don’t have a lot of folks here
floating point to integer casts can cause undefined behaviour #10184- last time we talked, we concluded that it made sense to
- adopt saturated semantics as the default
- maybe offer a
-Z
flag to opt out for a time - there has been plenty of discussion in the meantime
- how do we go forward here?
- a summary might be an amazing contribution --niko
- Centril will leave comment asking for a summary of:
- recommended option from the POV of the summary maker and why :)
- what options have been evaluated and what were the results
- what options exist that have not been evaluated and what are the pros/cons
- last time we talked, we concluded that it made sense to
Calling methods on generic parameters of const fns- We can continue with nightly experimentation without the RFC merged.
- Experimentation is happening.
- Want another meeting? (Monday, 17/18:00 PM)
- We can continue with nightly experimentation without the RFC merged.
Make the turbofish syntax redundant- target_feature 1.1
- Centril wants someone to more convincingly say they’ll implement this.
- Centril will ask T-compiler on Zulip.
- Centril wants someone to more convincingly say they’ll implement this.
- items to discuss this meeting: