diff options
| author | bors <bors@rust-lang.org> | 2014-06-10 09:49:29 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-06-10 09:49:29 -0700 |
| commit | 9bb8f88d3a79d3f8f10dca8cedf00cf57f6a94f6 (patch) | |
| tree | 6b900931014b0ea0ed76e2b6ee5ab2f78583b165 /src/libsyntax | |
| parent | 0ee6a8e8a564ec0134ebdc0869fab5e4bb28024c (diff) | |
| parent | 8e34f647ee5db795e1ea46715de61cee63f4f4a7 (diff) | |
| download | rust-9bb8f88d3a79d3f8f10dca8cedf00cf57f6a94f6.tar.gz rust-9bb8f88d3a79d3f8f10dca8cedf00cf57f6a94f6.zip | |
auto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichton
This uncovered some dead code, most notably in middle/liveness.rs, which I think suggests there must be something fishy with that part of the code. The #[allow(dead_code)] annotations on some of the fields I am not super happy about but as I understand, marker type may disappear at some point.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax/ext/build.rs | 15 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 5 |
3 files changed, 12 insertions, 17 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 9c3960d0f06..2f5459b6f2e 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1053,6 +1053,15 @@ pub struct StructField_ { pub attrs: Vec<Attribute>, } +impl StructField_ { + pub fn ident(&self) -> Option<Ident> { + match self.kind { + NamedField(ref ident, _) => Some(ident.clone()), + UnnamedField(_) => None + } + } +} + pub type StructField = Spanned<StructField_>; #[deriving(Clone, PartialEq, Eq, Encodable, Decodable, Hash)] diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 7b25f4db980..14769e3e510 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -21,11 +21,6 @@ use parse::token::special_idents; use parse::token::InternedString; use parse::token; -pub struct Field { - ident: ast::Ident, - ex: @ast::Expr -} - // Transitional reexports so qquote can find the paths it is looking for mod syntax { pub use ext; @@ -1000,9 +995,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> { } } -struct Duplicator<'a> { - cx: &'a ExtCtxt<'a>, -} +struct Duplicator<'a>; impl<'a> Folder for Duplicator<'a> { fn new_id(&mut self, _: NodeId) -> NodeId { @@ -1021,10 +1014,8 @@ pub trait Duplicate { } impl Duplicate for @ast::Expr { - fn duplicate(&self, cx: &ExtCtxt) -> @ast::Expr { - let mut folder = Duplicator { - cx: cx, - }; + fn duplicate(&self, _: &ExtCtxt) -> @ast::Expr { + let mut folder = Duplicator; folder.fold_expr(*self) } } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index f22b24b5a29..7cdc93c7314 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -19,7 +19,6 @@ use codemap::{CodeMap, BytePos}; use codemap; use diagnostic; use parse::classify::expr_is_simple_block; -use parse::token::IdentInterner; use parse::token; use parse::lexer::comments; use parse; @@ -30,7 +29,6 @@ use print::pp; use std::io::{IoResult, MemWriter}; use std::io; use std::mem; -use std::rc::Rc; use std::str; use std::string::String; @@ -58,7 +56,6 @@ pub struct CurrentCommentAndLiteral { pub struct State<'a> { pub s: pp::Printer, cm: Option<&'a CodeMap>, - intr: Rc<token::IdentInterner>, comments: Option<Vec<comments::Comment> >, literals: Option<Vec<comments::Literal> >, cur_cmnt_and_lit: CurrentCommentAndLiteral, @@ -76,7 +73,6 @@ pub fn rust_printer_annotated<'a>(writer: Box<io::Writer>, State { s: pp::mk_printer(writer, default_columns), cm: None, - intr: token::get_ident_interner(), comments: None, literals: None, cur_cmnt_and_lit: CurrentCommentAndLiteral { @@ -111,7 +107,6 @@ pub fn print_crate<'a>(cm: &'a CodeMap, let mut s = State { s: pp::mk_printer(out, default_columns), cm: Some(cm), - intr: token::get_ident_interner(), comments: Some(cmnts), // If the code is post expansion, don't use the table of // literals, since it doesn't correspond with the literals |
