Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation on str::starts_with #120764

Merged
merged 3 commits into from
Feb 10, 2024
Merged

Add documentation on str::starts_with #120764

merged 3 commits into from
Feb 10, 2024

Conversation

vcfxb
Copy link
Contributor

@vcfxb vcfxb commented Feb 8, 2024

Add documentation about a current footgun of str::starts_with

Add documentation about a current footgun of `str::starts_with`
@rustbot
Copy link
Collaborator

rustbot commented Feb 8, 2024

r? @m-ou-se

rustbot has assigned @m-ou-se.
They will have a look at your PR within the next two weeks and either review your PR or
reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Feb 8, 2024
@rust-log-analyzer

This comment has been minimized.

Comment on lines 1163 to 1167
/// Note that there is a footgun to this method when using a slice of [`char`]s.
/// Some users may expect that a slice of chars will behave similarly to a `&str` with this method.
/// That is not currently the case. When you pass a slice of [`char`]s to this method, it will return true
/// if any of the [`char`]s in the slice is the first [`char`] of this string slice. It does not work for
/// sequentially comparing a slice of [`char`]s to a string slice. See the second example below.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this wording (with "footgun", "some users", "currently", etc.) is very useful.

How about instead just adding a bit more detail to the paragraph above? Maybe something in this direction?

-    /// The [pattern] can be a `&str`, [`char`], a slice of [`char`]s, or a
-    /// function or closure that determines if a character matches.
+    /// The [pattern] can be a `&str` to check for a prefix,
+    /// or a [`char`], slice of [`char`]s, or function or closure 
+    /// to check the first character for a match.

@m-ou-se m-ou-se added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 8, 2024
@vcfxb
Copy link
Contributor Author

vcfxb commented Feb 10, 2024

@m-ou-se how does that look?

@vcfxb vcfxb requested a review from m-ou-se February 10, 2024 03:25
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 10, 2024
@m-ou-se
Copy link
Member

m-ou-se commented Feb 10, 2024

Thanks!

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Feb 10, 2024

📌 Commit d7263d7 has been approved by m-ou-se

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 10, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 10, 2024
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#117614 (static mut: allow mutable reference to arbitrary types, not just slices and arrays)
 - rust-lang#120719 (Remove support for `associated_type_bound` nested in `dyn` types)
 - rust-lang#120764 (Add documentation on `str::starts_with`)
 - rust-lang#120823 (Clarify that atomic and regular integers can differ in alignment)
 - rust-lang#120859 (Loosen an assertion to account for stashed errors.)
 - rust-lang#120865 (Turn the "no saved object file in work product" ICE into a translatable fatal error)
 - rust-lang#120866 (Remove unnecessary `#![feature(min_specialization)]`)
 - rust-lang#120870 (Allow restricted trait impls under `#[allow_internal_unstable(min_specialization)]`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 2eda0c7 into rust-lang:master Feb 10, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 10, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 10, 2024
Rollup merge of rust-lang#120764 - Alfriadox:master, r=m-ou-se

Add documentation on `str::starts_with`

Add documentation about a current footgun of `str::starts_with`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants