--- title: T-spec meeting 2024-11-07 tags: ["T-spec", "meeting", "minutes"] date: 2024-11-07 discussion: https://rust-lang.zulipchat.com/#narrow/stream/399173-t-spec/topic/Meeting.202024-11-07 url: https://hackmd.io/Z7CkgSooSj6xHoHhjBt7AQ --- Attendees: Joel Marcey, Eric Huss, Pierre-Emmanuel Patry, Mara Bos, Connor Horman, Monaidc Cat, Niko Matsakis, (pnk)Felix, TC Regrets: Agenda: * Conformance Testing Followup (Connor) - at most 10 minutes * Spec Team 2025h1 project goal (Niko) - 15 minutes * Spec output formats (Connor) - at most 10 minutes * Lexing (Everyone) - 10 minutes ## Conformance Testing Followup https://rust-lang.zulipchat.com/#narrow/channel/399173-t-spec/topic/Conformance.20Tests Connor Horman: Start with subdirectory under tests/ui. Folks on the compiler team said don't put it under `tests/ui`. Monadic Cat (from chat): Please put it under `tests/` directly, such as `tests/conformance`. Eric: We did an MCP. Connor: That MCP was focused on annotations. A new test suite would warrant a new MCP. Eric: Leverage the work the compiler team does; they are much larger than we are. Duplicating the work they have done would not be productive. Let's leverage what exists. Connor: Using existing UI tests is not efficient for these tests. TC: Eric has already done it. Eric: And so has Ferrous Systems, and they also did it by leveraging the existing test suite. pnkfelix: Is there a middle ground? Make a separate space for that development. But for existing tests, utilize existing practice. Eric: At some point, later, we may need a separate set of tests. TC: Let's check back with the compiler team to make sure everyone is on the same page about this, with respect to the location of the tests. Connor: Also talk to T-bootstrap. ### Action Eric and Connor get together to discuss in order to determine why they are having diverging experiences with the existing test suite. ## Spec Team 2025h1 project goal I propose that the spec team adopts a goal for 2025h1 to publish a first release of the Rust Specification. I can take a point on drafting that goal. It would not include particulars apart from the plan to issue a first release but it would cover the motivation and design axioms and give some general background. I expect to base it on the [RFC draft](https://hackmd.io/3_YmQDnUQAWpT88lv2zLmQ) that I started as well as the writings of TC. That RFC draft already includes for example a first take on the various audiences and what they require from the specification: * The [safety criticial industry](https://hackmd.io/@nikomatsakis/SkzZqIh1Jl#Safety-critical-industry), which requires a professionally present spec with minimal changes from version to version. * [Rust design teams, RFC authors, and contributors](https://hackmd.io/@nikomatsakis/SkzZqIh1Jl#Rust-design-teams-RFC-authors-and-contributors), which require shared vocabulary and precise communication, the integration of the spec into our workflows, links to test coverage, and documented rationale. * [Casual readers](https://hackmd.io/@nikomatsakis/SkzZqIh1Jl#Casual-readers), who require high-level explanations. It would also include a draft of design axioms. If folks agree, I'd like to bring a draft to the next meeting. I'd like to schedule 1:1 or 1:2 meetings with people who want to pre-review, at minimum TC + ehuss, but perhaps others? Alternative goal candidates: * Author an RFC ("goal to make a plan") * Accept an RFC ("goal to commit to a plan") * Integrate specification into lang/compiler team workflow(s) * Drive 2 language changes through a new spec-integrated process Connor: Maybe Long Term (hopefully H2), we have a first public release. ## Spec Output Formats https://rust-lang.zulipchat.com/#narrow/channel/399173-t-spec/topic/Meeting.202024-10-31/near/479755903 Connor: Is the `t-spec` team interested in having non-web based output formats for the specifcaiton. ePub, PDF? I have a mostly working ePub output tool and wants to work on a PDF output. Niko: Sphinx supports ePub and PDF and Latex, just sayin' ;) pnkfelix: These are nice to haves, PDF is a really nice to have. But we have more required needs at his point. Eric: Have you (Connor) tried the existing ePUB renderer? Connor: Yes, but didn't have all the features it needs. Connor: Question here is does the team want to use these output tools that I may be writing? TC: We'd just need to evaluate the tool at the appropriate time, as with any other tool. Eric: The mdBook ePub renderer was written by one of the mdBook authors. ## Lexing https://rust-lang.zulipchat.com/#narrow/channel/399173-t-spec/topic/Lexing/near/476586968 Eric: We are enthusiastic to bringing Matthew Woodcraft's work in to our process, but cannot be done as-is. But there is nothing for Matthew to do at this point. Eric: Would like to work on this at some point, but it is a meaty chunk of work. Would like to talk to Niko and `t-lang` potentially on how this would be integrated. ## JFYI: nikomatsakis exploring sphinx I spent some time digging into Ferrocene and I want to share some observations. First, Sphinx already supports an enhanced variant of markdown that includes rST-like capabilities. I have been working on making it integrate with Ferrocene's existing tooling (e.g., the `dp` annotations on each paragraph). I've got that working now. My goal is to prepare a demonstration of how existing reference + FLS content could be integrated and complement one another. My current plan is to build this on sphinx: all things considered, it seems like a pretty decent setup for doing this sort of thing (much as I love mdbook). Example of the markdown format: https://github.com/nikomatsakis/fls/blob/main/src/macros.md Rendered: https://nikomatsakis.github.io/fls/macros.html ## Chat recap Mara Bos Mara Bos says:i'll have to drop out at :30 8:01 me says:I have to drop out at 45 after the hour. 8:02 PF (pnk)Felix (pnk)Felix says:(I recommend we plan to just end the mtg at 45 after in that case) 8:03 avatar Mara Bos Mara Bos says:👍 8:04 MC Monadic Cat Monadic Cat says:They said "please put it under tests/ directly" basically 8:04 PF (pnk)Felix (pnk)Felix says:+1 to Monadic Cat 8:04 (pnk)Felix says:(in a subdirectory of `tests/` that means; "directly" there does not mean "put files immediately under `test/s`) 8:05 MC Monadic Cat Monadic Cat says:(yeah) 8:05 Monadic Cat says:(the specific suggestion that was stated repeatedly was "tests/conformance") Eric Huss Eric Huss says:i'm also speaking of the experience from ferrocene 8:09 PF (pnk)Felix (pnk)Felix says:yes, this doesn't need to be a full team conversation; a direct 1:1 chat (potentially in public, if you want) makes sense. Niko Matsakis Niko Matsakis says:I'd say y'all come back with some shared thoughts (and/or points of disagreement) 8:15 MC Monadic Cat Monadic Cat says:This doesn't sound like it's gonna be brief 8:15 I like the general idea of the goal to make something that's useful to integrate into team workflows 8:22 Monadic Cat says:(but again, just a lurker :V) 8:22 "Actually try it and see if it works and what needs to change about it" is, yeah, a good idea 8:25 (pnk)Felix (pnk)Felix says:+1 to PDF 8:29 Monadic Cat Monadic Cat says:I think the result here is "yeah it'd be neat but that's not gonna be an official goal for now" then (but I'd personally be interested in helping setup something unofficial lol) 8:33 Niko Matsakis Niko Matsakis says:(+1 to MC) 8:35 gotta drop 😃 I have another meeting at the hour and need to get lunch 8:41 Niko Matsakis says:thanks all 8:41