Skip to content

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
Collaborator

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
@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