diff --git a/packages/yew/src/html/classes.rs b/packages/yew/src/html/classes.rs
index febd454ef..f72172784 100644
--- a/packages/yew/src/html/classes.rs
+++ b/packages/yew/src/html/classes.rs
@@ -157,6 +157,16 @@ impl IntoIterator for Classes {
}
}
+impl IntoIterator for &Classes {
+ type IntoIter = indexmap::set::IntoIter;
+ type Item = AttrValue;
+
+ #[inline]
+ fn into_iter(self) -> Self::IntoIter {
+ (*self.set).clone().into_iter()
+ }
+}
+
impl ToString for Classes {
fn to_string(&self) -> String {
let mut iter = self.set.iter().cloned();
@@ -347,6 +357,7 @@ mod tests {
other.push("foo");
other.push("bar");
let mut subject = Classes::new();
+ subject.extend(&other);
subject.extend(other);
assert!(subject.contains("foo"));
assert!(subject.contains("bar"));