Lang team proactive agenda


#1

This thread is intended for discussion of what the lang team will discuss in their proactive weeks. Please feel free to float ideas, I will try to keep this top-post updated with the calendar and decisions. Where applicable, I will make a link to the thread where we summarize and continue the conversation.

Calendar

  • 2017-07-13 Module system changes (aturon)
  • 2017-06-22 Copy ergonomics (aturon)
  • 2017-06-08 Module system (woboats)
  • 2017-06-01 Coercions
  • 2017-05-25 Async-await
  • 2017-05-18 (canceled due to low attendance)
  • 2017-05-04 Elision 2.0 (thread)
  • 2017-04-13 Ergonomics checkin + const generics (thread)
  • 2017-03-30 - impl Trait refined RFC (discussed RFC 1951; summary here)
  • 2017-03-16 - Non-lexical lifetimes (discussed NLL and nested method calls)
  • 2017-02-27 - Implied bounds (thread)
  • 2017-02-13 - Module system proposal and privacy system (thread)

Stuff “in the air”

  • immovable types, coroutines, async-await
  • coercion story (e.g. applying to functions, improving story around generics)
  • ergonomic Copy types (by making references to them less significant, e.g. auto-deref)
  • implied bounds (not sure offhand what the current blockers are)
  • NLL open questions
  • dyn Trait
  • String literal ergonomics
  • Integer ergonomics (e.g. implicit widening)
  • Eliding type names in a match
  • PartialEq/PartialOrd
  • Delegation of impls

#2

I propose immovable types for 2017-05-18. (And perhaps async-await / yield more generally.) Thoughts?


#3

I don’t think we’re ready to talk about async/await in general, but immovable types would be good to cover at some point.

That said, it’s probably worth focusing primarily on near-term ergonomics improvements, to make sure we’re making steady progress toward our roadmap (it may be that immoveable types are on that list, depending on how things shake out). Here are some ideas in that direction:

  • The overall coercion story (e.g. applying to functions, improving story around generics)
  • Making Copy types more ergonomic (by making references to them less significant, e.g. auto-deref)
  • Implied bounds (not sure offhand what the current blockers are)
  • NLL open questions
  • dyn Trait
  • String literal ergonomics
  • Integer ergonomics (e.g. implicit widening)
  • Eliding type names in a match
  • PartialEq/PartialOrd

#4

We should talk about delegation stuff at some point.


#5

Good point, it’s probably good to keep our “eye on the ball” in that respect. Of that list, I think that reviewing coercions would make a lot of sense. I was going to volunteer to lead this, but then I remembered that I’m not available next Thursday anyhow (unless we wanted to move the meeting to a different day).

That said, the reason I was thinking about coercions:

  • We could review and discuss CoerceUnsize, which is one of those things in stabilization limbo
  • There are a number of ergonomic initiatives affected by it:
    • auto-wrap for Ok values (cc @scottmcm)
    • &T to T coercions when T: Copy
    • AsRef coercions
    • potentially other interactions to make &i32 behave more like i32 :slight_smile:
  • Not to mention the broader stuff we’ve been talking about:
    • how to fix some of the inference pitfalls around coercion without making compilation exponential and ridiculous
    • the chalk model
    • whether we want a Coerce trait

#6

Last week’s meeting was cancelled because Niko was out. This week (5/25) we’ll be talking about async/await.


#7

For next week’s proactive meeting, I propose we discuss coercions. @nikomatsakis previously volunteered to lead this session; want to do so?

Also, should we consider moving the lang team over to dropbox paper as we have been with other teams, and starting to gather materials there?


#8

sure ok


#9

I’ve added the module system for this week’s discussion, led by @withoutboats.


#10

I’d like to talk over lint policy – and how we can improve lint ergonomics.


#11

We were thinking of maybe talking about this next week? Or perhaps string literals? @aturon, thoughts?


#12

Copy type improvements sound good – I’d be happy to lead.


#13

I thought it seemed like a natural follow-up to the match ergonomics RFC, and also something where we’ve not dug too deeply in the past.