@@ -1700,6 +1700,8 @@ pub trait Iterator {
1700
1700
///
1701
1701
/// # Examples
1702
1702
///
1703
+ /// Basic usage:
1704
+ ///
1703
1705
/// ```
1704
1706
/// #![feature(iter_dedup)]
1705
1707
///
@@ -1713,6 +1715,15 @@ pub trait Iterator {
1713
1715
/// assert_eq!(iter.next(), Some(2));
1714
1716
/// assert_eq!(iter.next(), None);
1715
1717
/// ```
1718
+ ///
1719
+ /// Example of an infinite loop:
1720
+ ///
1721
+ /// ```no_run
1722
+ /// #![feature(iter_dedup)]
1723
+ ///
1724
+ /// // this will never terminate
1725
+ /// let _ = std::iter::repeat(2).dedup().next();
1726
+ /// ```
1716
1727
#[ unstable( feature = "iter_dedup" , reason = "recently added" , issue = "83748" ) ]
1717
1728
#[ inline]
1718
1729
fn dedup ( self ) -> Dedup < Self , ByPartialEq , Self :: Item >
@@ -1736,6 +1747,8 @@ pub trait Iterator {
1736
1747
///
1737
1748
/// # Examples
1738
1749
///
1750
+ /// Basic usage:
1751
+ ///
1739
1752
/// ```
1740
1753
/// #![feature(iter_dedup)]
1741
1754
///
@@ -1749,6 +1762,15 @@ pub trait Iterator {
1749
1762
/// assert_eq!(iter.next(), Some("bar"));
1750
1763
/// assert_eq!(iter.next(), None);
1751
1764
/// ```
1765
+ ///
1766
+ /// Example of an infinite loop:
1767
+ ///
1768
+ /// ```no_run
1769
+ /// #![feature(iter_dedup)]
1770
+ ///
1771
+ /// // this will never terminate
1772
+ /// let _ = std::iter::repeat(2).dedup_by(|a, b| a == b).next();
1773
+ /// ```
1752
1774
#[ unstable( feature = "iter_dedup" , reason = "recently added" , issue = "83748" ) ]
1753
1775
#[ inline]
1754
1776
fn dedup_by < F > ( self , same_bucket : F ) -> Dedup < Self , F , Self :: Item >
@@ -1769,6 +1791,8 @@ pub trait Iterator {
1769
1791
///
1770
1792
/// # Examples
1771
1793
///
1794
+ /// Basic usage:
1795
+ ///
1772
1796
/// ```
1773
1797
/// #![feature(iter_dedup)]
1774
1798
///
@@ -1782,6 +1806,15 @@ pub trait Iterator {
1782
1806
/// assert_eq!(iter.next(), Some(20));
1783
1807
/// assert_eq!(iter.next(), None);
1784
1808
/// ```
1809
+ ///
1810
+ /// Example of an infinite loop:
1811
+ ///
1812
+ /// ```no_run
1813
+ /// #![feature(iter_dedup)]
1814
+ ///
1815
+ /// // this will never terminate
1816
+ /// let _ = std::iter::repeat(2).dedup_by_key(|&n| n).next();
1817
+ /// ```
1785
1818
#[ unstable( feature = "iter_dedup" , reason = "recently added" , issue = "83748" ) ]
1786
1819
#[ inline]
1787
1820
fn dedup_by_key < F , K > ( self , key : F ) -> Dedup < Self , ByKey < F > , Self :: Item >
0 commit comments