@@ -149,12 +149,11 @@ unsafe impl<#[may_dangle] K, #[may_dangle] V> Drop for BTreeMap<K, V> {
149149#[ stable( feature = "rust1" , since = "1.0.0" ) ]
150150impl < K : Clone , V : Clone > Clone for BTreeMap < K , V > {
151151 fn clone ( & self ) -> BTreeMap < K , V > {
152- fn clone_subtree < K : Clone , V : Clone > ( node : node:: NodeRef < marker:: Immut ,
153- K ,
154- V ,
155- marker:: LeafOrInternal > )
156- -> BTreeMap < K , V > {
157-
152+ fn clone_subtree < ' a , K : Clone , V : Clone > (
153+ node : node:: NodeRef < marker:: Immut < ' a > , K , V , marker:: LeafOrInternal >
154+ ) -> BTreeMap < K , V >
155+ where K : ' a , V : ' a ,
156+ {
158157 match node. force ( ) {
159158 Leaf ( leaf) => {
160159 let mut out_tree = BTreeMap {
@@ -1040,7 +1039,11 @@ impl<K: Ord, V> BTreeMap<K, V> {
10401039
10411040 /// Calculates the number of elements if it is incorrect.
10421041 fn recalc_length ( & mut self ) {
1043- fn dfs < K , V > ( node : NodeRef < marker:: Immut , K , V , marker:: LeafOrInternal > ) -> usize {
1042+ fn dfs < ' a , K , V > (
1043+ node : NodeRef < marker:: Immut < ' a > , K , V , marker:: LeafOrInternal >
1044+ ) -> usize
1045+ where K : ' a , V : ' a
1046+ {
10441047 let mut res = node. len ( ) ;
10451048
10461049 if let Internal ( node) = node. force ( ) {
0 commit comments