From: Tobias Bucher Date: Fri, 12 Sep 2014 13:03:50 +0000 (+0200) Subject: Document why `core::str::Searcher::new` doesn't overflow X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=259930e2a304249d9b06557e6d25cab651e0860b;p=rust.git Document why `core::str::Searcher::new` doesn't overflow --- diff --git a/src/libcore/str.rs b/src/libcore/str.rs index d6f35b0dcc6..6837f3b9af7 100644 --- a/src/libcore/str.rs +++ b/src/libcore/str.rs @@ -574,6 +574,9 @@ enum Searcher { impl Searcher { fn new(haystack: &[u8], needle: &[u8]) -> Searcher { // FIXME: Tune this. + // FIXME(#16715): This unsigned integer addition will probably not + // overflow because that would mean that the memory almost solely + // consists of the needle. Needs #16715 to be formally fixed. if needle.len() + 20 > haystack.len() { Naive(NaiveSearcher::new()) } else {