2023-04-29 07:57:26 -05:00
|
|
|
#![feature(builtin_syntax)]
|
|
|
|
|
2023-04-22 09:29:34 -05:00
|
|
|
// For the exposed macro we already test these errors in the other files,
|
|
|
|
// but this test helps to make sure the builtin construct also errors.
|
|
|
|
// This has the same examples as offset-of-arg-count.rs
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
builtin # offset_of(NotEnoughArguments); //~ ERROR expected one of
|
|
|
|
}
|
|
|
|
fn t1() {
|
|
|
|
// Already errored upon at the macro level. Yielding an error would require
|
|
|
|
// extra effort.
|
|
|
|
builtin # offset_of(NotEnoughArgumentsWithAComma, );
|
|
|
|
}
|
|
|
|
fn t2() {
|
|
|
|
builtin # offset_of(Container, field, too many arguments); //~ ERROR expected identifier, found
|
|
|
|
//~| ERROR found `,`
|
|
|
|
//~| ERROR found `many`
|
|
|
|
//~| ERROR found `arguments`
|
|
|
|
}
|
|
|
|
fn t3() {
|
|
|
|
builtin # offset_of(S, f); // compiles fine
|
|
|
|
}
|
|
|
|
fn t4() {
|
|
|
|
// Already errored upon at the macro level. Yielding an error would require
|
|
|
|
// extra effort.
|
|
|
|
builtin # offset_of(S, f);
|
|
|
|
}
|
|
|
|
fn t5() {
|
|
|
|
builtin # offset_of(S, f.); //~ ERROR expected identifier
|
|
|
|
}
|
|
|
|
fn t6() {
|
|
|
|
builtin # offset_of(S, f.,); //~ ERROR expected identifier
|
|
|
|
}
|
|
|
|
fn t7() {
|
|
|
|
builtin # offset_of(S, f..); //~ ERROR expected one of
|
|
|
|
}
|
|
|
|
fn t8() {
|
|
|
|
// Already errored upon at the macro level. Yielding an error would require
|
|
|
|
// extra effort.
|
|
|
|
builtin # offset_of(S, f..,);
|
|
|
|
}
|
|
|
|
|
|
|
|
struct S { f: u8, }
|