Skip to content

Commit 4ebc1d8

Browse files
committed
allow static before/after for sorted template
1 parent b2fe858 commit 4ebc1d8

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

src/librustdoc/html/render/sorted_template.rs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use std::borrow::Cow;
12
use std::collections::BTreeSet;
23
use std::fmt::{self, Write as _};
34
use std::marker::PhantomData;
@@ -12,8 +13,8 @@ use serde::{Deserialize, Serialize};
1213
#[derive(Debug, Clone)]
1314
pub(crate) struct SortedTemplate<F> {
1415
format: PhantomData<F>,
15-
before: String,
16-
after: String,
16+
before: Cow<'static, str>,
17+
after: Cow<'static, str>,
1718
fragments: BTreeSet<String>,
1819
}
1920

@@ -38,14 +39,20 @@ impl<F> SortedTemplate<F> {
3839
if split.next().is_some() {
3940
return Err(Error("delimiter should appear at most once"));
4041
}
41-
Ok(Self::from_before_after(before, after))
42+
Ok(Self::from_before_after(before.to_string(), after.to_string()))
4243
}
4344

4445
/// Template will insert fragments between `before` and `after`
45-
pub(crate) fn from_before_after<S: ToString, T: ToString>(before: S, after: T) -> Self {
46-
let before = before.to_string();
47-
let after = after.to_string();
48-
Self { format: PhantomData, before, after, fragments: Default::default() }
46+
pub(crate) fn from_before_after(
47+
before: impl Into<Cow<'static, str>>,
48+
after: impl Into<Cow<'static, str>>,
49+
) -> Self {
50+
Self {
51+
format: PhantomData,
52+
before: before.into(),
53+
after: after.into(),
54+
fragments: Default::default(),
55+
}
4956
}
5057
}
5158

@@ -102,8 +109,8 @@ impl<F: FileFormat> FromStr for SortedTemplate<F> {
102109
}
103110
Ok(Self {
104111
format: PhantomData,
105-
before: before.to_string(),
106-
after: s.to_string(),
112+
before: before.to_string().into(),
113+
after: s.to_string().into(),
107114
fragments,
108115
})
109116
}

0 commit comments

Comments
 (0)