Skip to content

Commit 8bc80ba

Browse files
committed
Auto merge of #24847 - sfackler:debug-builders-stability, r=aturon
The `debug_builders` feature is up for 1.1 stabilization in #24028. This commit stabilizes the API as-is with no changes. Some nits that @alexcrichton mentioned that may be worth discussing now if anyone cares: * Should `debug_tuple_struct` and `DebugTupleStruct` be used instead of `debug_tuple` and `DebugTuple`? It's more typing but is a technically more correct name. * `DebugStruct` and `DebugTuple` have `field` methods while `DebugSet`, `DebugMap` and `DebugList` have `entry` methods. Should we switch those to something else for consistency? cc @alexcrichton @aturon
2 parents f472403 + e161d5c commit 8bc80ba

File tree

6 files changed

+24
-27
lines changed

6 files changed

+24
-27
lines changed

src/libcollections/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
#![feature(str_char)]
4040
#![feature(str_words)]
4141
#![feature(slice_patterns)]
42-
#![feature(debug_builders)]
4342
#![feature(utf8_error)]
4443
#![cfg_attr(test, feature(rand, rustc_private, test, hash, collections,
4544
collections_drain, collections_range))]

src/libcore/fmt/builders.rs

+18-13
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ impl<'a, 'b: 'a> fmt::Write for PadAdapter<'a, 'b> {
5454
///
5555
/// Constructed by the `Formatter::debug_struct` method.
5656
#[must_use]
57+
#[stable(feature = "debug_builders", since = "1.2.0")]
5758
pub struct DebugStruct<'a, 'b: 'a> {
5859
fmt: &'a mut fmt::Formatter<'b>,
5960
result: fmt::Result,
@@ -72,7 +73,7 @@ pub fn debug_struct_new<'a, 'b>(fmt: &'a mut fmt::Formatter<'b>, name: &str)
7273

7374
impl<'a, 'b: 'a> DebugStruct<'a, 'b> {
7475
/// Adds a new field to the generated struct output.
75-
#[unstable(feature = "debug_builders", reason = "method was just created")]
76+
#[stable(feature = "debug_builders", since = "1.2.0")]
7677
pub fn field(&mut self, name: &str, value: &fmt::Debug) -> &mut DebugStruct<'a, 'b> {
7778
self.result = self.result.and_then(|_| {
7879
let prefix = if self.has_fields {
@@ -94,7 +95,7 @@ impl<'a, 'b: 'a> DebugStruct<'a, 'b> {
9495
}
9596

9697
/// Finishes output and returns any error encountered.
97-
#[unstable(feature = "debug_builders", reason = "method was just created")]
98+
#[stable(feature = "debug_builders", since = "1.2.0")]
9899
pub fn finish(&mut self) -> fmt::Result {
99100
if self.has_fields {
100101
self.result = self.result.and_then(|_| {
@@ -117,6 +118,7 @@ impl<'a, 'b: 'a> DebugStruct<'a, 'b> {
117118
///
118119
/// Constructed by the `Formatter::debug_tuple` method.
119120
#[must_use]
121+
#[stable(feature = "debug_builders", since = "1.2.0")]
120122
pub struct DebugTuple<'a, 'b: 'a> {
121123
fmt: &'a mut fmt::Formatter<'b>,
122124
result: fmt::Result,
@@ -134,7 +136,7 @@ pub fn debug_tuple_new<'a, 'b>(fmt: &'a mut fmt::Formatter<'b>, name: &str) -> D
134136

135137
impl<'a, 'b: 'a> DebugTuple<'a, 'b> {
136138
/// Adds a new field to the generated tuple struct output.
137-
#[unstable(feature = "debug_builders", reason = "method was just created")]
139+
#[stable(feature = "debug_builders", since = "1.2.0")]
138140
pub fn field(&mut self, value: &fmt::Debug) -> &mut DebugTuple<'a, 'b> {
139141
self.result = self.result.and_then(|_| {
140142
let (prefix, space) = if self.has_fields {
@@ -156,7 +158,7 @@ impl<'a, 'b: 'a> DebugTuple<'a, 'b> {
156158
}
157159

158160
/// Finishes output and returns any error encountered.
159-
#[unstable(feature = "debug_builders", reason = "method was just created")]
161+
#[stable(feature = "debug_builders", since = "1.2.0")]
160162
pub fn finish(&mut self) -> fmt::Result {
161163
if self.has_fields {
162164
self.result = self.result.and_then(|_| {
@@ -211,6 +213,7 @@ impl<'a, 'b: 'a> DebugInner<'a, 'b> {
211213
///
212214
/// Constructed by the `Formatter::debug_set` method.
213215
#[must_use]
216+
#[stable(feature = "debug_builders", since = "1.2.0")]
214217
pub struct DebugSet<'a, 'b: 'a> {
215218
inner: DebugInner<'a, 'b>,
216219
}
@@ -228,14 +231,14 @@ pub fn debug_set_new<'a, 'b>(fmt: &'a mut fmt::Formatter<'b>) -> DebugSet<'a, 'b
228231

229232
impl<'a, 'b: 'a> DebugSet<'a, 'b> {
230233
/// Adds a new entry to the set output.
231-
#[unstable(feature = "debug_builders", reason = "method was just created")]
234+
#[stable(feature = "debug_builders", since = "1.2.0")]
232235
pub fn entry(&mut self, entry: &fmt::Debug) -> &mut DebugSet<'a, 'b> {
233236
self.inner.entry(entry);
234237
self
235238
}
236239

237240
/// Adds the contents of an iterator of entries to the set output.
238-
#[unstable(feature = "debug_builders", reason = "method was just created")]
241+
#[stable(feature = "debug_builders", since = "1.2.0")]
239242
pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugSet<'a, 'b>
240243
where D: fmt::Debug, I: IntoIterator<Item=D> {
241244
for entry in entries {
@@ -245,7 +248,7 @@ impl<'a, 'b: 'a> DebugSet<'a, 'b> {
245248
}
246249

247250
/// Finishes output and returns any error encountered.
248-
#[unstable(feature = "debug_builders", reason = "method was just created")]
251+
#[stable(feature = "debug_builders", since = "1.2.0")]
249252
pub fn finish(&mut self) -> fmt::Result {
250253
self.inner.finish();
251254
self.inner.result.and_then(|_| self.inner.fmt.write_str("}"))
@@ -256,6 +259,7 @@ impl<'a, 'b: 'a> DebugSet<'a, 'b> {
256259
///
257260
/// Constructed by the `Formatter::debug_list` method.
258261
#[must_use]
262+
#[stable(feature = "debug_builders", since = "1.2.0")]
259263
pub struct DebugList<'a, 'b: 'a> {
260264
inner: DebugInner<'a, 'b>,
261265
}
@@ -273,14 +277,14 @@ pub fn debug_list_new<'a, 'b>(fmt: &'a mut fmt::Formatter<'b>) -> DebugList<'a,
273277

274278
impl<'a, 'b: 'a> DebugList<'a, 'b> {
275279
/// Adds a new entry to the list output.
276-
#[unstable(feature = "debug_builders", reason = "method was just created")]
280+
#[stable(feature = "debug_builders", since = "1.2.0")]
277281
pub fn entry(&mut self, entry: &fmt::Debug) -> &mut DebugList<'a, 'b> {
278282
self.inner.entry(entry);
279283
self
280284
}
281285

282286
/// Adds the contents of an iterator of entries to the list output.
283-
#[unstable(feature = "debug_builders", reason = "method was just created")]
287+
#[stable(feature = "debug_builders", since = "1.2.0")]
284288
pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>
285289
where D: fmt::Debug, I: IntoIterator<Item=D> {
286290
for entry in entries {
@@ -290,7 +294,7 @@ impl<'a, 'b: 'a> DebugList<'a, 'b> {
290294
}
291295

292296
/// Finishes output and returns any error encountered.
293-
#[unstable(feature = "debug_builders", reason = "method was just created")]
297+
#[stable(feature = "debug_builders", since = "1.2.0")]
294298
pub fn finish(&mut self) -> fmt::Result {
295299
self.inner.finish();
296300
self.inner.result.and_then(|_| self.inner.fmt.write_str("]"))
@@ -301,6 +305,7 @@ impl<'a, 'b: 'a> DebugList<'a, 'b> {
301305
///
302306
/// Constructed by the `Formatter::debug_map` method.
303307
#[must_use]
308+
#[stable(feature = "debug_builders", since = "1.2.0")]
304309
pub struct DebugMap<'a, 'b: 'a> {
305310
fmt: &'a mut fmt::Formatter<'b>,
306311
result: fmt::Result,
@@ -318,7 +323,7 @@ pub fn debug_map_new<'a, 'b>(fmt: &'a mut fmt::Formatter<'b>) -> DebugMap<'a, 'b
318323

319324
impl<'a, 'b: 'a> DebugMap<'a, 'b> {
320325
/// Adds a new entry to the map output.
321-
#[unstable(feature = "debug_builders", reason = "method was just created")]
326+
#[stable(feature = "debug_builders", since = "1.2.0")]
322327
pub fn entry(&mut self, key: &fmt::Debug, value: &fmt::Debug) -> &mut DebugMap<'a, 'b> {
323328
self.result = self.result.and_then(|_| {
324329
if self.is_pretty() {
@@ -336,7 +341,7 @@ impl<'a, 'b: 'a> DebugMap<'a, 'b> {
336341
}
337342

338343
/// Adds the contents of an iterator of entries to the map output.
339-
#[unstable(feature = "debug_builders", reason = "method was just created")]
344+
#[stable(feature = "debug_builders", since = "1.2.0")]
340345
pub fn entries<K, V, I>(&mut self, entries: I) -> &mut DebugMap<'a, 'b>
341346
where K: fmt::Debug, V: fmt::Debug, I: IntoIterator<Item=(K, V)> {
342347
for (k, v) in entries {
@@ -346,7 +351,7 @@ impl<'a, 'b: 'a> DebugMap<'a, 'b> {
346351
}
347352

348353
/// Finishes output and returns any error encountered.
349-
#[unstable(feature = "debug_builders", reason = "method was just created")]
354+
#[stable(feature = "debug_builders", since = "1.2.0")]
350355
pub fn finish(&mut self) -> fmt::Result {
351356
let prefix = if self.is_pretty() && self.has_fields { "\n" } else { "" };
352357
self.result.and_then(|_| write!(self.fmt, "{}}}", prefix))

src/libcore/fmt/mod.rs

+5-10
Original file line numberDiff line numberDiff line change
@@ -719,7 +719,6 @@ impl<'a> Formatter<'a> {
719719
/// # Examples
720720
///
721721
/// ```rust
722-
/// # #![feature(debug_builders, core)]
723722
/// use std::fmt;
724723
///
725724
/// struct Foo {
@@ -739,7 +738,7 @@ impl<'a> Formatter<'a> {
739738
/// // prints "Foo { bar: 10, baz: "Hello World" }"
740739
/// println!("{:?}", Foo { bar: 10, baz: "Hello World".to_string() });
741740
/// ```
742-
#[unstable(feature = "debug_builders", reason = "method was just created")]
741+
#[stable(feature = "debug_builders", since = "1.2.0")]
743742
#[inline]
744743
pub fn debug_struct<'b>(&'b mut self, name: &str) -> DebugStruct<'b, 'a> {
745744
builders::debug_struct_new(self, name)
@@ -751,7 +750,6 @@ impl<'a> Formatter<'a> {
751750
/// # Examples
752751
///
753752
/// ```rust
754-
/// # #![feature(debug_builders, core)]
755753
/// use std::fmt;
756754
///
757755
/// struct Foo(i32, String);
@@ -768,7 +766,7 @@ impl<'a> Formatter<'a> {
768766
/// // prints "Foo(10, "Hello World")"
769767
/// println!("{:?}", Foo(10, "Hello World".to_string()));
770768
/// ```
771-
#[unstable(feature = "debug_builders", reason = "method was just created")]
769+
#[stable(feature = "debug_builders", since = "1.2.0")]
772770
#[inline]
773771
pub fn debug_tuple<'b>(&'b mut self, name: &str) -> DebugTuple<'b, 'a> {
774772
builders::debug_tuple_new(self, name)
@@ -780,7 +778,6 @@ impl<'a> Formatter<'a> {
780778
/// # Examples
781779
///
782780
/// ```rust
783-
/// # #![feature(debug_builders, core)]
784781
/// use std::fmt;
785782
///
786783
/// struct Foo(Vec<i32>);
@@ -794,7 +791,7 @@ impl<'a> Formatter<'a> {
794791
/// // prints "[10, 11]"
795792
/// println!("{:?}", Foo(vec![10, 11]));
796793
/// ```
797-
#[unstable(feature = "debug_builders", reason = "method was just created")]
794+
#[stable(feature = "debug_builders", since = "1.2.0")]
798795
#[inline]
799796
pub fn debug_list<'b>(&'b mut self) -> DebugList<'b, 'a> {
800797
builders::debug_list_new(self)
@@ -806,7 +803,6 @@ impl<'a> Formatter<'a> {
806803
/// # Examples
807804
///
808805
/// ```rust
809-
/// # #![feature(debug_builders, core)]
810806
/// use std::fmt;
811807
///
812808
/// struct Foo(Vec<i32>);
@@ -820,7 +816,7 @@ impl<'a> Formatter<'a> {
820816
/// // prints "{10, 11}"
821817
/// println!("{:?}", Foo(vec![10, 11]));
822818
/// ```
823-
#[unstable(feature = "debug_builders", reason = "method was just created")]
819+
#[stable(feature = "debug_builders", since = "1.2.0")]
824820
#[inline]
825821
pub fn debug_set<'b>(&'b mut self) -> DebugSet<'b, 'a> {
826822
builders::debug_set_new(self)
@@ -832,7 +828,6 @@ impl<'a> Formatter<'a> {
832828
/// # Examples
833829
///
834830
/// ```rust
835-
/// # #![feature(debug_builders, core)]
836831
/// use std::fmt;
837832
///
838833
/// struct Foo(Vec<(String, i32)>);
@@ -846,7 +841,7 @@ impl<'a> Formatter<'a> {
846841
/// // prints "{"A": 10, "B": 11}"
847842
/// println!("{:?}", Foo(vec![("A".to_string(), 10), ("B".to_string(), 11)]));
848843
/// ```
849-
#[unstable(feature = "debug_builders", reason = "method was just created")]
844+
#[stable(feature = "debug_builders", since = "1.2.0")]
850845
#[inline]
851846
pub fn debug_map<'b>(&'b mut self) -> DebugMap<'b, 'a> {
852847
builders::debug_map_new(self)

src/libcoretest/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#![feature(std_misc)]
2121
#![feature(libc)]
2222
#![feature(hash)]
23-
#![feature(debug_builders)]
2423
#![feature(unique)]
2524
#![feature(step_by)]
2625
#![feature(slice_patterns)]

src/libstd/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@
109109
#![feature(box_syntax)]
110110
#![feature(collections)]
111111
#![feature(core)]
112-
#![feature(debug_builders)]
113112
#![feature(into_cow)]
114113
#![feature(lang_items)]
115114
#![feature(libc)]

src/test/run-pass/deriving-associated-types.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![feature(core, debug_builders)]
11+
#![feature(core)]
1212

1313
pub trait DeclaredTrait {
1414
type Type;

0 commit comments

Comments
 (0)