|  | //@ add-core-stubs | 
|  | //@ needs-llvm-components: avr | 
|  | //@ compile-flags: --target=avr-none -C target-cpu=atmega328p --crate-type=rlib | 
|  | #![no_core] | 
|  | #![feature(no_core, lang_items)] | 
|  |  | 
|  | extern crate minicore; | 
|  | use minicore::*; | 
|  |  | 
|  | // Test that the AVR interrupt ABI cannot be used when avr_interrupt | 
|  | // feature gate is not used. | 
|  |  | 
|  | extern "avr-non-blocking-interrupt" fn fu() {} | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  | extern "avr-interrupt" fn f() {} | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  |  | 
|  | trait T { | 
|  | extern "avr-interrupt" fn m(); | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | extern "avr-non-blocking-interrupt" fn mu(); | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  |  | 
|  | extern "avr-interrupt" fn dm() {} | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | extern "avr-non-blocking-interrupt" fn dmu() {} | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  | } | 
|  |  | 
|  | struct S; | 
|  | impl T for S { | 
|  | extern "avr-interrupt" fn m() {} | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | extern "avr-non-blocking-interrupt" fn mu() {} | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  | } | 
|  |  | 
|  | impl S { | 
|  | extern "avr-interrupt" fn im() {} | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | extern "avr-non-blocking-interrupt" fn imu() {} | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  | } | 
|  |  | 
|  | type TA = extern "avr-interrupt" fn(); | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | type TAU = extern "avr-non-blocking-interrupt" fn(); | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental | 
|  |  | 
|  | extern "avr-interrupt" {} | 
|  | //~^ ERROR extern "avr-interrupt" ABI is experimental | 
|  | extern "avr-non-blocking-interrupt" {} | 
|  | //~^ ERROR extern "avr-non-blocking-interrupt" ABI is experimental |