From 9f481b85142362e725e6eb6b33a2eba062453c95 Mon Sep 17 00:00:00 2001 From: Theo Belaire Date: Tue, 14 Apr 2015 13:53:23 -0400 Subject: include_bytes! now registers the file included This is a little bit tricky, since with include_str!, we know that we are including utf-8 content, so it's safe to store the source as a String in a FileMap. We don't know that for include_bytes!, but I don't think we actually need to track the contents anyways, so I'm passing "". new_filemap does check for the zero length content, and it should be reasonable, howeven I'm not sure if it would be better to pass None instead of Some(Rc::new("")) as the src component of a FileMap. Fixes bug #24348 --- src/libsyntax/ext/source_util.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/libsyntax/ext') diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs index a4c2d2dc030..d91659bafe4 100644 --- a/src/libsyntax/ext/source_util.rs +++ b/src/libsyntax/ext/source_util.rs @@ -184,6 +184,11 @@ pub fn expand_include_bytes(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) return DummyResult::expr(sp); } Ok(..) => { + // Add this input file to the code map to make it available as + // dependency information, but don't enter it's contents + let filename = format!("{}", file.display()); + cx.codemap().new_filemap(filename, "".to_string()); + base::MacEager::expr(cx.expr_lit(sp, ast::LitBinary(Rc::new(bytes)))) } } -- cgit 1.4.1-3-g733a5