rust/src/test/compile-fail/macros-nonfatal-errors.rs
Simon Sapin 108b8b6dc7 Deprecate the bytes!() macro.
Replace its usage with byte string literals, except in `bytes!()` tests.
Also add a new snapshot, to be able to use the new b"foo" syntax.

The src/etc/2014-06-rewrite-bytes-macros.py script automatically
rewrites `bytes!()` invocations into byte string literals.
Pass it filenames as arguments to generate a diff that you can inspect,
or `--apply` followed by filenames to apply the changes in place.
Diffs can be piped into `tip` or `pygmentize -l diff` for coloring.
2014-06-18 17:02:22 -07:00

51 lines
1.5 KiB
Rust

// Copyright 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.
// test that errors in a (selection) of macros don't kill compilation
// immediately, so that we get more errors listed at a time.
#![feature(asm)]
#![feature(trace_macros, concat_idents)]
#[deriving(Default, //~ ERROR
Rand, //~ ERROR
Zero)] //~ ERROR
enum CantDeriveThose {}
fn main() {
doesnt_exist!(); //~ ERROR
bytes!(invalid); //~ ERROR non-literal in bytes!
//~^ WARN `bytes!` is deprecated
asm!(invalid); //~ ERROR
concat_idents!("not", "idents"); //~ ERROR
option_env!(invalid); //~ ERROR
env!(invalid); //~ ERROR
env!(foo, abr, baz); //~ ERROR
env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); //~ ERROR
foo::blah!(); //~ ERROR
format!(); //~ ERROR
format!(invalid); //~ ERROR
include!(invalid); //~ ERROR
include_str!(invalid); //~ ERROR
include_str!("i'd be quite surprised if a file with this name existed"); //~ ERROR
include_bin!(invalid); //~ ERROR
include_bin!("i'd be quite surprised if a file with this name existed"); //~ ERROR
trace_macros!(invalid); //~ ERROR
}