]> git.lizzy.rs Git - rust.git/blob - src/test/ui/feature-gates/feature-gate-abi-avr-interrupt.rs
parser will not give wrong help message for 'public'
[rust.git] / src / test / ui / feature-gates / feature-gate-abi-avr-interrupt.rs
1 // needs-llvm-components: avr
2 // compile-flags: --target=avr-unknown-gnu-atmega328 --crate-type=rlib
3 #![no_core]
4 #![feature(no_core, lang_items)]
5 #[lang="sized"]
6 trait Sized { }
7
8 // Test that the AVR interrupt ABI cannot be used when avr_interrupt
9 // feature gate is not used.
10
11 extern "avr-non-blocking-interrupt" fn fu() {}
12 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
13 extern "avr-interrupt" fn f() {}
14 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
15
16 trait T {
17     extern "avr-interrupt" fn m();
18     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
19     extern "avr-non-blocking-interrupt" fn mu();
20     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
21
22     extern "avr-interrupt" fn dm() {}
23     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
24     extern "avr-non-blocking-interrupt" fn dmu() {}
25     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
26 }
27
28 struct S;
29 impl T for S {
30     extern "avr-interrupt" fn m() {}
31     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
32     extern "avr-non-blocking-interrupt" fn mu() {}
33     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
34 }
35
36 impl S {
37     extern "avr-interrupt" fn im() {}
38     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
39     extern "avr-non-blocking-interrupt" fn imu() {}
40     //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
41 }
42
43 type TA = extern "avr-interrupt" fn();
44 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
45 type TAU = extern "avr-non-blocking-interrupt" fn();
46 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
47
48 extern "avr-interrupt" {}
49 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental
50 extern "avr-non-blocking-interrupt" {}
51 //~^ ERROR avr-interrupt and avr-non-blocking-interrupt ABIs are experimental