Extended save-analysis to support generated code, alterned some spans in format_args! and derive to maintain compatability

This commit is contained in:
Daniel Campbell
2016-01-22 11:58:09 +13:00
committed by DanielJCampbell
parent 9ae76b363c
commit 616bfb6f15
8 changed files with 248 additions and 198 deletions

View File

@@ -13,7 +13,7 @@ use deriving::generic::ty::*;
use syntax::ast;
use syntax::ast::{MetaItem, Expr};
use syntax::codemap::{Span, respan};
use syntax::codemap::{Span, respan, DUMMY_SP};
use syntax::ext::base::{ExtCtxt, Annotatable};
use syntax::ext::build::AstBuilder;
use syntax::parse::token;
@@ -87,7 +87,7 @@ fn show_substructure(cx: &mut ExtCtxt, span: Span,
fmt,
token::str_to_ident("debug_tuple"),
vec![name]);
stmts.push(cx.stmt_let(span, true, builder, expr));
stmts.push(cx.stmt_let(DUMMY_SP, true, builder, expr));
for field in fields {
// Use double indirection to make sure this works for unsized types
@@ -109,7 +109,7 @@ fn show_substructure(cx: &mut ExtCtxt, span: Span,
fmt,
token::str_to_ident("debug_struct"),
vec![name]);
stmts.push(cx.stmt_let(span, true, builder, expr));
stmts.push(cx.stmt_let(DUMMY_SP, true, builder, expr));
for field in fields {
let name = cx.expr_lit(field.span, ast::Lit_::LitStr(