diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index 45d81ff0f65..0073c0b0610 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -872,11 +872,8 @@ pub fn collect_crate_types(session: &Session, None } _ => { - session.add_lint(lint::builtin::UNKNOWN_CRATE_TYPES, - ast::CRATE_NODE_ID, - a.span, - "`crate_type` requires a \ - value".to_string()); + session.span_err(a.span, "`crate_type` requires a value"); + session.note("for example: `#![crate_type=\"lib\"]`"); None } } diff --git a/src/test/compile-fail/invalid_crate_type_syntax.rs b/src/test/compile-fail/invalid_crate_type_syntax.rs new file mode 100644 index 00000000000..6d42515704e --- /dev/null +++ b/src/test/compile-fail/invalid_crate_type_syntax.rs @@ -0,0 +1,14 @@ +// Copyright 2015 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// regression test for issue 16974 +#![crate_type(lib)] //~ ERROR `crate_type` requires a value + +fn my_lib_fn() {}