Skip to content

What to do about the things our chapters don't cover #394

Description

@felix91gr

I think there's a slight mismatch between the Chapter divisions that we have, which is based on the FLS' division of the Rust Language:

Note: the first 3 chapters of the FLS were omitted: "General", "Lexical Elements", and "Items"

Coding Guidelines' Chapters

  1. Types and Traits
  2. Patterns
  3. Expressions
  4. Values
  5. Statements
  6. Functions
  7. Associated Items
  8. Implementations
  9. Generics
  10. Attributes
  11. Entities And Resolution
  12. Ownership And Destruction
  13. Exceptions And Errors
  14. Concurrency
  15. Program Structure And Compilation
  16. Unsafety
  17. Macros
  18. Ffi
  19. Inline Assembly

FLS Chapters

  1. Types and Traits
  2. Patterns
  3. Expressions
  4. Values
  5. Statements
  6. Functions
  7. Associated Items
  8. Implementations
  9. Generics
  10. Attributes
  11. Entities and Resolution
  12. Ownership and Destruction
  13. Exceptions and Errors
  14. Concurrency
  15. Program Structure and Compilation
  16. Unsafety
  17. Macros
  18. FFI
  19. Inline Assembly

The FLS division makes a lot of sense, at least as a baseline, for talking about elements of the language in a normative fashion. But it has two important caveats: Where does the interaction with system APIs fall?, and more generally perhaps: Where does the usage of core, std and other foundational libraries fall?

This mismatch means that the guidelines that stem from #392 (baseline recommendations for filesystem API usage) currently have nowhere to go. It also means that currently #370 is getting added to the Program Structure and Compilation chapter.

I believe this is a mismatch that will continue asking us to place guidelines in chapters where they don't really make sense, just to be able to include them in the document.

How should we solve this?

I'm thinking that perhaps we could have another chapter. I'm not sure. Using the FLS as a skeleton makes sense from a normative standpoint, but it might have other problems apart from this one. Maybe we could use something else. I don't know yet.

Metadata

Metadata

Assignees

Labels

contributor experienceRelated to making contributions easierenhancementNew feature or requesthelp wantedExtra attention is neededquestionFurther information is requested

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions