Skip to content

Commit e0db2e6

Browse files
print_crate returns String instead of taking an out pointer
1 parent 7e37914 commit e0db2e6

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

src/librustc/hir/print.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,17 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
9393
krate: &hir::Crate,
9494
filename: FileName,
9595
input: String,
96-
out: &'a mut String,
97-
ann: &'a dyn PpAnn)
98-
{
99-
let mut s = State::new_from_input(cm, sess, filename, input, out, ann);
96+
ann: &'a dyn PpAnn) -> String {
97+
let mut out = String::new();
98+
let mut s = State::new_from_input(cm, sess, filename, input, &mut out, ann);
10099

101100
// When printing the AST, we sometimes need to inject `#[no_std]` here.
102101
// Since you can't compile the HIR, it's not necessary.
103102

104103
s.print_mod(&krate.module, &krate.attrs);
105104
s.print_remaining_comments();
106-
s.s.eof()
105+
s.s.eof();
106+
out
107107
}
108108

109109
impl<'a> State<'a> {

src/librustc_driver/pretty.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -725,12 +725,11 @@ pub fn print_after_parsing(sess: &Session,
725725
s.call_with_pp_support(sess, None, move |annotation| {
726726
debug!("pretty printing source code {:?}", s);
727727
let sess = annotation.sess();
728-
pprust::print_crate(sess.source_map(),
728+
*out = pprust::print_crate(sess.source_map(),
729729
&sess.parse_sess,
730730
krate,
731731
src_name,
732732
src,
733-
out,
734733
annotation.pp_ann(),
735734
false)
736735
})
@@ -771,12 +770,11 @@ pub fn print_after_hir_lowering<'tcx>(
771770
s.call_with_pp_support(tcx.sess, Some(tcx), move |annotation| {
772771
debug!("pretty printing source code {:?}", s);
773772
let sess = annotation.sess();
774-
pprust::print_crate(sess.source_map(),
773+
*out = pprust::print_crate(sess.source_map(),
775774
&sess.parse_sess,
776775
krate,
777776
src_name,
778777
src,
779-
out,
780778
annotation.pp_ann(),
781779
true)
782780
})
@@ -788,12 +786,11 @@ pub fn print_after_hir_lowering<'tcx>(
788786
s.call_with_pp_support_hir(tcx, move |annotation, krate| {
789787
debug!("pretty printing source code {:?}", s);
790788
let sess = annotation.sess();
791-
pprust_hir::print_crate(sess.source_map(),
789+
*out = pprust_hir::print_crate(sess.source_map(),
792790
&sess.parse_sess,
793791
krate,
794792
src_name,
795793
src,
796-
out,
797794
annotation.pp_ann())
798795
})
799796
}

src/libsyntax/print/pprust.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
102102
krate: &ast::Crate,
103103
filename: FileName,
104104
input: String,
105-
out: &mut String,
106105
ann: &'a dyn PpAnn,
107-
is_expanded: bool) {
108-
let mut s = State::new_from_input(cm, sess, filename, input, out, ann, is_expanded);
106+
is_expanded: bool) -> String {
107+
let mut out = String::new();
108+
let mut s = State::new_from_input(cm, sess, filename, input, &mut out, ann, is_expanded);
109109

110110
if is_expanded && std_inject::injected_crate_name().is_some() {
111111
// We need to print `#![no_std]` (and its feature gate) so that
@@ -128,7 +128,8 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
128128

129129
s.print_mod(&krate.module, &krate.attrs);
130130
s.print_remaining_comments();
131-
s.s.eof()
131+
s.s.eof();
132+
out
132133
}
133134

134135
impl<'a> State<'a> {

0 commit comments

Comments
 (0)