error[E0573]: expected type, found built-in attribute `export_name` --> $DIR/issue-83471.rs:15:13 | LL | fn call(export_name); | ^^^^^^^^^^^ not a type error[E0658]: language items are subject to change --> $DIR/issue-83471.rs:7:1 | LL | #[lang = "sized"] | ^^^^^^^^^^^^^^^^^ | = help: add `#![feature(lang_items)]` to the crate attributes to enable error[E0658]: language items are subject to change --> $DIR/issue-83471.rs:11:1 | LL | #[lang = "fn"] | ^^^^^^^^^^^^^^ | = help: add `#![feature(lang_items)]` to the crate attributes to enable warning: anonymous parameters are deprecated and will be removed in the next edition --> $DIR/issue-83471.rs:15:13 | LL | fn call(export_name); | ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: export_name` | = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! = note: for more information, see issue #41686 = note: `#[warn(anonymous_parameters)]` on by default error[E0718]: `fn` language item must be applied to a trait with 1 generic argument --> $DIR/issue-83471.rs:11:1 | LL | #[lang = "fn"] | ^^^^^^^^^^^^^^ ... LL | trait Fn { | - this trait has 0 generic arguments error[E0425]: cannot find function `a` in this scope --> $DIR/issue-83471.rs:21:5 | LL | a() | ^ not found in this scope error: aborting due to 5 previous errors; 1 warning emitted Some errors have detailed explanations: E0425, E0573, E0658, E0718. For more information about an error, try `rustc --explain E0425`.