diff options
| author | bors <bors@rust-lang.org> | 2015-02-19 18:36:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-02-19 18:36:59 +0000 |
| commit | 522d09dfecbeca1595f25ac58c6d0178bbd21d7d (patch) | |
| tree | cc0252dd3413e5f890d0ebcfdaa096e5b002be0b /src/test/parse-fail/qquote-2.rs | |
| parent | 0b664bb8436f2cfda7f13a6f302ab486f332816f (diff) | |
| parent | 49771bafa5fca16486bfd06741dac3de2c587adf (diff) | |
| download | rust-1.0.0-alpha.2.tar.gz rust-1.0.0-alpha.2.zip | |
Auto merge of #22541 - Manishearth:rollup, r=Gankro 1.0.0-alpha.2
Continued from #22520
Diffstat (limited to 'src/test/parse-fail/qquote-2.rs')
| -rw-r--r-- | src/test/parse-fail/qquote-2.rs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/parse-fail/qquote-2.rs b/src/test/parse-fail/qquote-2.rs new file mode 100644 index 00000000000..978287a681e --- /dev/null +++ b/src/test/parse-fail/qquote-2.rs @@ -0,0 +1,61 @@ +// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-test Can't use syntax crate here + +#![feature(quote)] + +extern crate syntax; + +use syntax::diagnostic; +use syntax::ast; +use syntax::codemap; +use syntax::parse::parser; +use syntax::print::*; + +trait fake_ext_ctxt { + fn cfg() -> ast::CrateConfig; + fn parse_sess() -> parse::parse_sess; + fn call_site() -> span; + fn ident_of(st: &str) -> ast::ident; +} + +type fake_session = parse::parse_sess; + +impl fake_ext_ctxt for fake_session { + fn cfg() -> ast::CrateConfig { Vec::new() } + fn parse_sess() -> parse::parse_sess { self } + fn call_site() -> span { + codemap::span { + lo: codemap::BytePos(0), + hi: codemap::BytePos(0), + expn_id: codemap::NO_EXPANSION + } + } + fn ident_of(st: &str) -> ast::ident { + self.interner.intern(st) + } +} + +fn mk_ctxt() -> fake_ext_ctxt { + parse::new_parse_sess(None) as fake_ext_ctxt +} + + +fn main() { + let cx = mk_ctxt(); + + let stmt = quote_stmt!(cx, let x isize = 20;); //~ ERROR expected end-of-string + check_pp(*stmt, pprust::print_stmt, ""); +} + +fn check_pp<T>(expr: T, f: |pprust::ps, T|, expect: str) { + panic!(); +} |
