diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-01-22 15:26:19 +0300 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-01-22 15:29:31 +0300 |
| commit | 4c92ef03acc5dc983a4ed6c587257e396ef507c0 (patch) | |
| tree | bd38a2767c17f4b4de2a429c1961b11528d36ee6 /docs/dev | |
| parent | f67a2eedf5118990a9aa17c307176b8b355e9759 (diff) | |
| download | rust-4c92ef03acc5dc983a4ed6c587257e396ef507c0.tar.gz rust-4c92ef03acc5dc983a4ed6c587257e396ef507c0.zip | |
Style: use the right string
Diffstat (limited to 'docs/dev')
| -rw-r--r-- | docs/dev/style.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/dev/style.md b/docs/dev/style.md index 3896493980b..7e6cd49e07f 100644 --- a/docs/dev/style.md +++ b/docs/dev/style.md @@ -6,6 +6,9 @@ Our approach to "clean code" is two-fold: It is explicitly OK for a reviewer to flag only some nits in the PR, and then send a follow-up cleanup PR for things which are easier to explain by example, cc-ing the original author. Sending small cleanup PRs (like renaming a single local variable) is encouraged. +When reviewing pull requests prefer extending this document to leaving +non-reusable comments on the pull request itself. + # General ## Scale of Changes @@ -375,6 +378,15 @@ This allows for exceptionally good performance, but leads to increased compile t Runtime performance obeys 80%/20% rule -- only a small fraction of code is hot. Compile time **does not** obey this rule -- all code has to be compiled. +## Appropriate String Types + +When interfacing with OS APIs, use `OsString`, even if the original source of +data is utf-8 encoded. **Rationale:** cleanly delineates the boundary when the +data goes into the OS-land. + +Use `AbsPathBuf` and `AbsPath` over `std::Path`. **Rationale:** rust-analyzer is +a long-lived process which handles several projects at the same time. It is +important not to leak cwd by accident. # Premature Pessimization |
