// Copyright 2014 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. #![deny(unused_result, unused_must_use)] #![allow(dead_code)] #[must_use] enum MustUse { Test } #[must_use = "some message"] enum MustUseMsg { Test2 } fn foo() -> T { fail!() } fn bar() -> int { return foo::(); } fn baz() -> MustUse { return foo::(); } fn qux() -> MustUseMsg { return foo::(); } #[allow(unused_result)] fn test() { foo::(); foo::(); //~ ERROR: unused result which must be used foo::(); //~ ERROR: unused result which must be used: some message } #[allow(unused_result, unused_must_use)] fn test2() { foo::(); foo::(); foo::(); } fn main() { foo::(); //~ ERROR: unused result foo::(); //~ ERROR: unused result which must be used foo::(); //~ ERROR: unused result which must be used: some message let _ = foo::(); let _ = foo::(); let _ = foo::(); }