Return nonzero exit code if there are errors at a stop point

This commit is contained in:
Florian Hahn 2015-02-09 20:01:45 +01:00
parent 7a5754b330
commit 2a24e97c80
215 changed files with 440 additions and 6 deletions

View File

@ -52,11 +52,11 @@ pub fn compile_input(sess: Session,
output: &Option<PathBuf>, output: &Option<PathBuf>,
addl_plugins: Option<Vec<String>>, addl_plugins: Option<Vec<String>>,
control: CompileController) { control: CompileController) {
macro_rules! controller_entry_point{($point: ident, $make_state: expr) => ({ macro_rules! controller_entry_point{($point: ident, $tsess: expr, $make_state: expr) => ({
{ let state = $make_state;
let state = $make_state; (control.$point.callback)(state);
(control.$point.callback)(state);
} $tsess.abort_if_errors();
if control.$point.stop == Compilation::Stop { if control.$point.stop == Compilation::Stop {
return; return;
} }
@ -70,6 +70,7 @@ pub fn compile_input(sess: Session,
let krate = phase_1_parse_input(&sess, cfg, input); let krate = phase_1_parse_input(&sess, cfg, input);
controller_entry_point!(after_parse, controller_entry_point!(after_parse,
sess,
CompileState::state_after_parse(input, CompileState::state_after_parse(input,
&sess, &sess,
outdir, outdir,
@ -96,6 +97,7 @@ pub fn compile_input(sess: Session,
}; };
controller_entry_point!(after_expand, controller_entry_point!(after_expand,
sess,
CompileState::state_after_expand(input, CompileState::state_after_expand(input,
&sess, &sess,
outdir, outdir,
@ -109,6 +111,7 @@ pub fn compile_input(sess: Session,
write_out_deps(&sess, input, &outputs, &id[..]); write_out_deps(&sess, input, &outputs, &id[..]);
controller_entry_point!(after_write_deps, controller_entry_point!(after_write_deps,
sess,
CompileState::state_after_write_deps(input, CompileState::state_after_write_deps(input,
&sess, &sess,
outdir, outdir,
@ -123,6 +126,7 @@ pub fn compile_input(sess: Session,
control.make_glob_map); control.make_glob_map);
controller_entry_point!(after_analysis, controller_entry_point!(after_analysis,
analysis.ty_cx.sess,
CompileState::state_after_analysis(input, CompileState::state_after_analysis(input,
&analysis.ty_cx.sess, &analysis.ty_cx.sess,
outdir, outdir,
@ -149,6 +153,7 @@ pub fn compile_input(sess: Session,
phase_5_run_llvm_passes(&sess, &trans, &outputs); phase_5_run_llvm_passes(&sess, &trans, &outputs);
controller_entry_point!(after_llvm, controller_entry_point!(after_llvm,
sess,
CompileState::state_after_llvm(input, CompileState::state_after_llvm(input,
&sess, &sess,
outdir, outdir,

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
mod mod_file_disambig_aux; //~ ERROR file for module `mod_file_disambig_aux` found at both mod mod_file_disambig_aux; //~ ERROR file for module `mod_file_disambig_aux` found at both
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern: cannot declare a new module at this location // error-pattern: cannot declare a new module at this location
mod mod_file_not_owning_aux1; mod mod_file_not_owning_aux1;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Test that the old fixed length array syntax is a parsing error. // Test that the old fixed length array syntax is a parsing error.
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let x = "\x80"; //~ ERROR may only be used let x = "\x80"; //~ ERROR may only be used
let y = "\xff"; //~ ERROR may only be used let y = "\xff"; //~ ERROR may only be used

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Test you can't use a higher-ranked trait bound inside of a qualified // Test you can't use a higher-ranked trait bound inside of a qualified
// path (just won't parse). // path (just won't parse).

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected `]` // error-pattern:expected `]`
// asterisk is bogus // asterisk is bogus

View File

@ -8,4 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
#[derive(Debug)] //~ERROR expected item after attributes #[derive(Debug)] //~ERROR expected item after attributes

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
#[attr] //~ ERROR expected item after attributes #[attr] //~ ERROR expected item after attributes
println!("hi"); println!("hi");

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
#[attr] //~ ERROR expected item #[attr] //~ ERROR expected item
let __isize = 0; let __isize = 0;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected item // error-pattern:expected item
fn f() { fn f() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected item // error-pattern:expected item
fn f() { fn f() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected item // error-pattern:expected item
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
#![feature(lang_items)] #![feature(lang_items)]
fn main() {} fn main() {}

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Constants (static variables) can be used to match in patterns, but mutable // Constants (static variables) can be used to match in patterns, but mutable
// statics cannot. This ensures that there's some form of error if this is // statics cannot. This ensures that there's some form of error if this is
// attempted. // attempted.

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// ignore-tidy-cr // ignore-tidy-cr
// ignore-tidy-tab // ignore-tidy-tab
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
extern extern
"C"suffix //~ ERROR ABI spec with a suffix is illegal "C"suffix //~ ERROR ABI spec with a suffix is illegal

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern: expected // error-pattern: expected
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern: expected // error-pattern: expected
fn main() { fn main() {

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn false() { } //~ ERROR expected identifier, found keyword `false` fn false() { } //~ ERROR expected identifier, found keyword `false`
fn main() { } fn main() { }

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn true() { } //~ ERROR expected identifier, found keyword `true` fn true() { } //~ ERROR expected identifier, found keyword `true`
fn main() { } fn main() { }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let x: [isize 3]; //~ ERROR expected one of `(`, `+`, `::`, `;`, `<`, or `]`, found `3` let x: [isize 3]; //~ ERROR expected one of `(`, `+`, `::`, `;`, `<`, or `]`, found `3`
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
struct Foo { x: isize } struct Foo { x: isize }
match (Foo { x: 10 }) { match (Foo { x: 10 }) {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// ignore-tidy-tab // ignore-tidy-tab

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// ignore-tidy-tab // ignore-tidy-tab

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// ignore-test: this is an auxiliary file for circular-modules-main.rs // ignore-test: this is an auxiliary file for circular-modules-main.rs
mod circular_modules_main; mod circular_modules_main;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
#[path = "circular_modules_hello.rs"] #[path = "circular_modules_hello.rs"]
mod circular_modules_hello; //~ ERROR: circular modules mod circular_modules_hello; //~ ERROR: circular modules

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:nonexistent // error-pattern:nonexistent
class cat : nonexistent { class cat : nonexistent {
let meows: usize; let meows: usize;

View File

@ -8,4 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
# //~ ERROR 11:1: 11:2 error: expected `[`, found `<eof>` // compile-flags: -Z parse-only
# //~ ERROR 13:1: 13:2 error: expected `[`, found `<eof>`

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
/// hi /// hi
#[derive(Debug)] //~ERROR expected item after attributes #[derive(Debug)] //~ERROR expected item after attributes

View File

@ -8,4 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
/// hi //~ERROR expected item after doc comment /// hi //~ERROR expected item after doc comment

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
extern { extern {
/// hi /// hi
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
/// hi /// hi
println!("hi"); println!("hi");

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
println!("Hi"); /// hi println!("Hi"); /// hi
//~^ ERROR expected item after doc comment //~^ ERROR expected item after doc comment

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
/// hi /// hi
; ;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:unmatched visibility `pub` // error-pattern:unmatched visibility `pub`
extern { extern {
pub pub fn foo(); pub pub fn foo();

View File

@ -8,4 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
impl Foo; //~ ERROR expected one of `(`, `+`, `..`, `::`, `<`, `for`, `where`, or `{`, found `;` impl Foo; //~ ERROR expected one of `(`, `+`, `..`, `::`, `<`, `for`, `where`, or `{`, found `;`

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Verifies that the expected token errors for `extern crate` are // Verifies that the expected token errors for `extern crate` are
// raised // raised

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Verifies that the expected token errors for `extern crate` are // Verifies that the expected token errors for `extern crate` are
// raised // raised

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
extern { extern {
f(); //~ ERROR expected one of `fn`, `pub`, `static`, `unsafe`, or `}`, found `f` f(); //~ ERROR expected one of `fn`, `pub`, `static`, `unsafe`, or `}`, found `f`
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct Heap; struct Heap;
struct Vec<A = Heap, T>; //~ ERROR type parameters with a default must be trailing struct Vec<A = Heap, T>; //~ ERROR type parameters with a default must be trailing

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected // error-pattern:expected
use foo::{bar}::baz use foo::{bar}::baz

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected // error-pattern:expected
use foo::{bar} as baz; use foo::{bar} as baz;

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected // error-pattern:expected
use foo::*::bar use foo::*::bar

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected // error-pattern:expected
use foo::* as baz; use foo::* as baz;

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// issue #17123 // issue #17123
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct A { foo: isize } struct A { foo: isize }
fn a() -> A { panic!() } fn a() -> A { panic!() }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct A { foo: isize } struct A { foo: isize }
fn a() -> A { panic!() } fn a() -> A { panic!() }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
trait Serializable<'self, T> { //~ ERROR no longer a special lifetime trait Serializable<'self, T> { //~ ERROR no longer a special lifetime
fn serialize(val : &'self T) -> Vec<u8> ; //~ ERROR no longer a special lifetime fn serialize(val : &'self T) -> Vec<u8> ; //~ ERROR no longer a special lifetime

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct Obj { //~ NOTE: unclosed delimiter struct Obj { //~ NOTE: unclosed delimiter
member: usize member: usize
) //~ ERROR: incorrect close delimiter ) //~ ERROR: incorrect close delimiter

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
pub fn trace_option(option: Option<isize>) { pub fn trace_option(option: Option<isize>) {
option.map(|some| 42; //~ NOTE: unclosed delimiter option.map(|some| 42; //~ NOTE: unclosed delimiter
} //~ ERROR: incorrect close delimiter } //~ ERROR: incorrect close delimiter

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// For style and consistency reasons, non-parametrized enum variants must // For style and consistency reasons, non-parametrized enum variants must
// be used simply as `ident` instead of `ident ()`. // be used simply as `ident` instead of `ident ()`.
// This test-case covers enum declaration. // This test-case covers enum declaration.

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// ignore-test FIXME(japari) remove test // ignore-test FIXME(japari) remove test
struct Foo { struct Foo {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
enum X<'a, T, 'b> { enum X<'a, T, 'b> {
//~^ ERROR lifetime parameters must be declared prior to type parameters //~^ ERROR lifetime parameters must be declared prior to type parameters
A(&'a T) A(&'a T)

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn foo<'a, T, 'b>(x: &'a T) {} fn foo<'a, T, 'b>(x: &'a T) {}
//~^ ERROR lifetime parameters must be declared prior to type parameters //~^ ERROR lifetime parameters must be declared prior to type parameters

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
(0..4) (0..4)
.map(|x| x * 2) .map(|x| x * 2)

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct X { x: isize } struct X { x: isize }
impl<'a, T, 'b> X {} impl<'a, T, 'b> X {}

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {} fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
//~^ ERROR lifetime parameters must be declared prior to type parameters //~^ ERROR lifetime parameters must be declared prior to type parameters

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct X<'a, T, 'b> { struct X<'a, T, 'b> {
//~^ ERROR lifetime parameters must be declared prior to type parameters //~^ ERROR lifetime parameters must be declared prior to type parameters
x: &'a T x: &'a T

View File

@ -8,5 +8,7 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
trait Foo<'a, T, 'b> {} trait Foo<'a, T, 'b> {}
//~^ ERROR lifetime parameters must be declared prior to type parameters //~^ ERROR lifetime parameters must be declared prior to type parameters

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let ref let ref
(); //~ ERROR expected identifier, found `(` (); //~ ERROR expected identifier, found `(`

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:expected `[`, found `vec` // error-pattern:expected `[`, found `vec`
mod blade_runner { mod blade_runner {
#vec[doc( #vec[doc(

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
enum X { enum X {
A = A =
b'a' //~ ERROR discriminator values can only be used with a c-like enum b'a' //~ ERROR discriminator values can only be used with a c-like enum

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
const const
mut //~ ERROR: const globals cannot be mutable mut //~ ERROR: const globals cannot be mutable
//~^ HELP did you mean to declare a static? //~^ HELP did you mean to declare a static?

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct Baz<U> where U: Eq(U); //This is parsed as the new Fn* style parenthesis syntax. struct Baz<U> where U: Eq(U); //This is parsed as the new Fn* style parenthesis syntax.
struct Baz<U> where U: Eq(U) -> R; // Notice this parses as well. struct Baz<U> where U: Eq(U) -> R; // Notice this parses as well.
struct Baz<U>(U) where U: Eq; // This rightfully signals no error as well. struct Baz<U>(U) where U: Eq; // This rightfully signals no error as well.

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:no valid digits found for number // error-pattern:no valid digits found for number
fn main() { fn main() {
log(error, 0b); log(error, 0b);

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// error-pattern:no valid digits found for number // error-pattern:no valid digits found for number
fn main() { fn main() {
log(error, 0b_usize); log(error, 0b_usize);

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let t = (42, 42); let t = (42, 42);
t.0::<isize>; //~ ERROR expected one of `.`, `;`, `}`, or an operator, found `::` t.0::<isize>; //~ ERROR expected one of `.`, `;`, `}`, or an operator, found `::`

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
trait T { trait T {
extern "Rust" unsafe fn foo(); //~ ERROR expected `fn`, found `unsafe` extern "Rust" unsafe fn foo(); //~ ERROR expected `fn`, found `unsafe`
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct Foo; struct Foo;
impl Foo { impl Foo {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
struct Foo; struct Foo;
impl Foo { impl Foo {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
trait MyTrait<T>: Iterator { trait MyTrait<T>: Iterator {
Item = T; //~ ERROR expected one of `extern`, `fn`, `type`, or `unsafe`, found `Item` Item = T; //~ ERROR expected one of `extern`, `fn`, `type`, or `unsafe`, found `Item`
} }

View File

@ -8,4 +8,6 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
static foo: isize = 2; } //~ ERROR incorrect close delimiter: static foo: isize = 2; } //~ ERROR incorrect close delimiter:

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn foo() { //~ HELP did you mean to close this delimiter? fn foo() { //~ HELP did you mean to close this delimiter?
match Some(x) { match Some(x) {
Some(y) { panic!(); } Some(y) { panic!(); }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// Testing that semicolon tokens are printed correctly in errors // Testing that semicolon tokens are printed correctly in errors
fn main() fn main()

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let __isize = 18446744073709551616; // 2^64 let __isize = 18446744073709551616; // 2^64
//~^ ERROR int literal is too large //~^ ERROR int literal is too large

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let __isize = 0xff_ffff_ffff_ffff_ffff; let __isize = 0xff_ffff_ffff_ffff_ffff;
//~^ ERROR int literal is too large //~^ ERROR int literal is too large

View File

@ -13,6 +13,8 @@
// ignore-openbsd // ignore-openbsd
// ignore-bitrig // ignore-bitrig
// compile-flags: -Z parse-only
#[path = "../compile-fail"] #[path = "../compile-fail"]
mod foo; //~ ERROR: a directory mod foo; //~ ERROR: a directory

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
trait Foo { fn a() } //~ ERROR expected `;` or `{`, found `}` trait Foo { fn a() } //~ ERROR expected `;` or `{`, found `}`
fn main() {} fn main() {}

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
pub extern pub extern
"invalid-ab_isize" //~ ERROR illegal ABI "invalid-ab_isize" //~ ERROR illegal ABI
fn foo() {} fn foo() {}

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let abstract = (); //~ ERROR `abstract` is a reserved keyword let abstract = (); //~ ERROR `abstract` is a reserved keyword
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py as' // This file was auto-generated using 'src/etc/generate-keyword-tests.py as'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py break' // This file was auto-generated using 'src/etc/generate-keyword-tests.py break'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let do = "bar"; //~ error: ident let do = "bar"; //~ error: ident
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py else' // This file was auto-generated using 'src/etc/generate-keyword-tests.py else'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py enum' // This file was auto-generated using 'src/etc/generate-keyword-tests.py enum'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py extern' // This file was auto-generated using 'src/etc/generate-keyword-tests.py extern'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let final = (); //~ ERROR `final` is a reserved keyword let final = (); //~ ERROR `final` is a reserved keyword
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py fn' // This file was auto-generated using 'src/etc/generate-keyword-tests.py fn'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py for' // This file was auto-generated using 'src/etc/generate-keyword-tests.py for'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py if' // This file was auto-generated using 'src/etc/generate-keyword-tests.py if'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py impl' // This file was auto-generated using 'src/etc/generate-keyword-tests.py impl'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py let' // This file was auto-generated using 'src/etc/generate-keyword-tests.py let'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py loop' // This file was auto-generated using 'src/etc/generate-keyword-tests.py loop'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py match' // This file was auto-generated using 'src/etc/generate-keyword-tests.py match'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py mod' // This file was auto-generated using 'src/etc/generate-keyword-tests.py mod'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py mut' // This file was auto-generated using 'src/etc/generate-keyword-tests.py mut'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
fn main() { fn main() {
let override = (); //~ ERROR `override` is a reserved keyword let override = (); //~ ERROR `override` is a reserved keyword
} }

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py priv' // This file was auto-generated using 'src/etc/generate-keyword-tests.py priv'
fn main() { fn main() {

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
// compile-flags: -Z parse-only
// This file was auto-generated using 'src/etc/generate-keyword-tests.py pub' // This file was auto-generated using 'src/etc/generate-keyword-tests.py pub'
fn main() { fn main() {

Some files were not shown because too many files have changed in this diff Show More