Auto merge of #46029 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 6 pull requests - Successful merges: #45951, #45973, #45984, #45993, #46005, #46010 - Failed merges:
This commit is contained in:
commit
58d8761ab3
15 changed files with 144 additions and 190 deletions
|
@ -232,7 +232,7 @@ impl<'a, B: ?Sized> Cow<'a, B>
|
||||||
///
|
///
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// cow.into_owned(),
|
/// cow.into_owned(),
|
||||||
/// Cow::Owned(String::from(s))
|
/// String::from(s)
|
||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
|
@ -246,7 +246,7 @@ impl<'a, B: ?Sized> Cow<'a, B>
|
||||||
///
|
///
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// cow.into_owned(),
|
/// cow.into_owned(),
|
||||||
/// Cow::Owned(String::from(s))
|
/// String::from(s)
|
||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
|
|
@ -47,27 +47,27 @@ struct CheckAttrVisitor<'a> {
|
||||||
|
|
||||||
impl<'a> CheckAttrVisitor<'a> {
|
impl<'a> CheckAttrVisitor<'a> {
|
||||||
/// Check any attribute.
|
/// Check any attribute.
|
||||||
fn check_attribute(&self, attr: &ast::Attribute, target: Target) {
|
fn check_attribute(&self, attr: &ast::Attribute, item: &ast::Item, target: Target) {
|
||||||
if let Some(name) = attr.name() {
|
if let Some(name) = attr.name() {
|
||||||
match &*name.as_str() {
|
match &*name.as_str() {
|
||||||
"inline" => self.check_inline(attr, target),
|
"inline" => self.check_inline(attr, item, target),
|
||||||
"repr" => self.check_repr(attr, target),
|
"repr" => self.check_repr(attr, item, target),
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check if an `#[inline]` is applied to a function.
|
/// Check if an `#[inline]` is applied to a function.
|
||||||
fn check_inline(&self, attr: &ast::Attribute, target: Target) {
|
fn check_inline(&self, attr: &ast::Attribute, item: &ast::Item, target: Target) {
|
||||||
if target != Target::Fn {
|
if target != Target::Fn {
|
||||||
struct_span_err!(self.sess, attr.span, E0518, "attribute should be applied to function")
|
struct_span_err!(self.sess, attr.span, E0518, "attribute should be applied to function")
|
||||||
.span_label(attr.span, "requires a function")
|
.span_label(item.span, "not a function")
|
||||||
.emit();
|
.emit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check if an `#[repr]` attr is valid.
|
/// Check if an `#[repr]` attr is valid.
|
||||||
fn check_repr(&self, attr: &ast::Attribute, target: Target) {
|
fn check_repr(&self, attr: &ast::Attribute, item: &ast::Item, target: Target) {
|
||||||
let words = match attr.meta_item_list() {
|
let words = match attr.meta_item_list() {
|
||||||
Some(words) => words,
|
Some(words) => words,
|
||||||
None => {
|
None => {
|
||||||
|
@ -139,7 +139,7 @@ impl<'a> CheckAttrVisitor<'a> {
|
||||||
_ => continue,
|
_ => continue,
|
||||||
};
|
};
|
||||||
struct_span_err!(self.sess, attr.span, E0517, "{}", message)
|
struct_span_err!(self.sess, attr.span, E0517, "{}", message)
|
||||||
.span_label(attr.span, format!("requires {}", label))
|
.span_label(item.span, format!("not {}", label))
|
||||||
.emit();
|
.emit();
|
||||||
}
|
}
|
||||||
if conflicting_reprs > 1 {
|
if conflicting_reprs > 1 {
|
||||||
|
@ -153,7 +153,7 @@ impl<'a> Visitor<'a> for CheckAttrVisitor<'a> {
|
||||||
fn visit_item(&mut self, item: &'a ast::Item) {
|
fn visit_item(&mut self, item: &'a ast::Item) {
|
||||||
let target = Target::from_item(item);
|
let target = Target::from_item(item);
|
||||||
for attr in &item.attrs {
|
for attr in &item.attrs {
|
||||||
self.check_attribute(attr, target);
|
self.check_attribute(attr, item, target);
|
||||||
}
|
}
|
||||||
visit::walk_item(self, item);
|
visit::walk_item(self, item);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1471,8 +1471,15 @@ pub fn build_session_options_and_crate_config(matches: &getopts::Matches)
|
||||||
Some("human") => ErrorOutputType::HumanReadable(color),
|
Some("human") => ErrorOutputType::HumanReadable(color),
|
||||||
Some("json") => ErrorOutputType::Json(false),
|
Some("json") => ErrorOutputType::Json(false),
|
||||||
Some("pretty-json") => ErrorOutputType::Json(true),
|
Some("pretty-json") => ErrorOutputType::Json(true),
|
||||||
Some("short") => ErrorOutputType::Short(color),
|
Some("short") => {
|
||||||
|
if nightly_options::is_unstable_enabled(matches) {
|
||||||
|
ErrorOutputType::Short(color)
|
||||||
|
} else {
|
||||||
|
early_error(ErrorOutputType::default(),
|
||||||
|
&format!("the `-Z unstable-options` flag must also be passed to \
|
||||||
|
enable the short error message option"));
|
||||||
|
}
|
||||||
|
}
|
||||||
None => ErrorOutputType::HumanReadable(color),
|
None => ErrorOutputType::HumanReadable(color),
|
||||||
|
|
||||||
Some(arg) => {
|
Some(arg) => {
|
||||||
|
|
|
@ -117,6 +117,7 @@ use std::mem::replace;
|
||||||
use std::ops::{self, Deref};
|
use std::ops::{self, Deref};
|
||||||
use syntax::abi::Abi;
|
use syntax::abi::Abi;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
use syntax::attr;
|
||||||
use syntax::codemap::{self, original_sp, Spanned};
|
use syntax::codemap::{self, original_sp, Spanned};
|
||||||
use syntax::feature_gate::{GateIssue, emit_feature_err};
|
use syntax::feature_gate::{GateIssue, emit_feature_err};
|
||||||
use syntax::ptr::P;
|
use syntax::ptr::P;
|
||||||
|
@ -1561,12 +1562,15 @@ pub fn check_enum<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
||||||
let def = tcx.adt_def(def_id);
|
let def = tcx.adt_def(def_id);
|
||||||
def.destructor(tcx); // force the destructor to be evaluated
|
def.destructor(tcx); // force the destructor to be evaluated
|
||||||
|
|
||||||
if vs.is_empty() && tcx.has_attr(def_id, "repr") {
|
if vs.is_empty() {
|
||||||
struct_span_err!(
|
let attributes = tcx.get_attrs(def_id);
|
||||||
tcx.sess, sp, E0084,
|
if let Some(attr) = attr::find_by_name(&attributes, "repr") {
|
||||||
"unsupported representation for zero-variant enum")
|
struct_span_err!(
|
||||||
.span_label(sp, "unsupported enum representation")
|
tcx.sess, attr.span, E0084,
|
||||||
.emit();
|
"unsupported representation for zero-variant enum")
|
||||||
|
.span_label(sp, "zero-variant enum")
|
||||||
|
.emit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let repr_type_ty = def.repr.discr_type().to_ty(tcx);
|
let repr_type_ty = def.repr.discr_type().to_ty(tcx);
|
||||||
|
|
|
@ -1683,7 +1683,7 @@ impl<'a> Item<'a> {
|
||||||
format!("{}-{}", self.item.source.loline, self.item.source.hiline)
|
format!("{}-{}", self.item.source.loline, self.item.source.hiline)
|
||||||
};
|
};
|
||||||
Some(format!("{root}src/{krate}/{path}#{lines}",
|
Some(format!("{root}src/{krate}/{path}#{lines}",
|
||||||
root = root,
|
root = Escape(&root),
|
||||||
krate = krate,
|
krate = krate,
|
||||||
path = path,
|
path = path,
|
||||||
lines = lines))
|
lines = lines))
|
||||||
|
|
|
@ -29,6 +29,7 @@ use std_inject;
|
||||||
use symbol::Symbol;
|
use symbol::Symbol;
|
||||||
use symbol::keywords;
|
use symbol::keywords;
|
||||||
use syntax_pos::{Span, DUMMY_SP};
|
use syntax_pos::{Span, DUMMY_SP};
|
||||||
|
use syntax_pos::hygiene::ExpnFormat;
|
||||||
use tokenstream::{TokenStream, TokenTree};
|
use tokenstream::{TokenStream, TokenTree};
|
||||||
use util::small_vector::SmallVector;
|
use util::small_vector::SmallVector;
|
||||||
use visit::Visitor;
|
use visit::Visitor;
|
||||||
|
@ -151,6 +152,26 @@ impl ExpansionKind {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn macro_bang_format(path: &ast::Path) -> ExpnFormat {
|
||||||
|
// We don't want to format a path using pretty-printing,
|
||||||
|
// `format!("{}", path)`, because that tries to insert
|
||||||
|
// line-breaks and is slow.
|
||||||
|
let mut path_str = String::with_capacity(64);
|
||||||
|
for (i, segment) in path.segments.iter().enumerate() {
|
||||||
|
if i != 0 {
|
||||||
|
path_str.push_str("::");
|
||||||
|
}
|
||||||
|
|
||||||
|
if segment.identifier.name != keywords::CrateRoot.name() &&
|
||||||
|
segment.identifier.name != keywords::DollarCrate.name()
|
||||||
|
{
|
||||||
|
path_str.push_str(&segment.identifier.name.as_str())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MacroBang(Symbol::intern(&path_str))
|
||||||
|
}
|
||||||
|
|
||||||
pub struct Invocation {
|
pub struct Invocation {
|
||||||
pub kind: InvocationKind,
|
pub kind: InvocationKind,
|
||||||
expansion_kind: ExpansionKind,
|
expansion_kind: ExpansionKind,
|
||||||
|
@ -517,7 +538,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
|
||||||
mark.set_expn_info(ExpnInfo {
|
mark.set_expn_info(ExpnInfo {
|
||||||
call_site: span,
|
call_site: span,
|
||||||
callee: NameAndSpan {
|
callee: NameAndSpan {
|
||||||
format: MacroBang(Symbol::intern(&format!("{}", path))),
|
format: macro_bang_format(path),
|
||||||
span: def_site_span,
|
span: def_site_span,
|
||||||
allow_internal_unstable,
|
allow_internal_unstable,
|
||||||
allow_internal_unsafe,
|
allow_internal_unsafe,
|
||||||
|
@ -564,7 +585,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
|
||||||
invoc.expansion_data.mark.set_expn_info(ExpnInfo {
|
invoc.expansion_data.mark.set_expn_info(ExpnInfo {
|
||||||
call_site: span,
|
call_site: span,
|
||||||
callee: NameAndSpan {
|
callee: NameAndSpan {
|
||||||
format: MacroBang(Symbol::intern(&format!("{}", path))),
|
format: macro_bang_format(path),
|
||||||
span: tt_span,
|
span: tt_span,
|
||||||
allow_internal_unstable,
|
allow_internal_unstable,
|
||||||
allow_internal_unsafe: false,
|
allow_internal_unsafe: false,
|
||||||
|
@ -600,7 +621,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
|
||||||
invoc.expansion_data.mark.set_expn_info(ExpnInfo {
|
invoc.expansion_data.mark.set_expn_info(ExpnInfo {
|
||||||
call_site: span,
|
call_site: span,
|
||||||
callee: NameAndSpan {
|
callee: NameAndSpan {
|
||||||
format: MacroBang(Symbol::intern(&format!("{}", path))),
|
format: macro_bang_format(path),
|
||||||
// FIXME procedural macros do not have proper span info
|
// FIXME procedural macros do not have proper span info
|
||||||
// yet, when they do, we should use it here.
|
// yet, when they do, we should use it here.
|
||||||
span: None,
|
span: None,
|
||||||
|
|
|
@ -8,10 +8,8 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#[repr(i32)]
|
#[repr(i32)] //~ ERROR: E0084
|
||||||
enum Foo {}
|
enum Foo {} //~ NOTE: zero-variant enum
|
||||||
//~^ ERROR E0084
|
|
||||||
//~| unsupported enum representation
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,21 +8,17 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#[repr(C)] //~ ERROR E0517
|
#[repr(C)] //~ ERROR: E0517
|
||||||
//~| requires a struct, enum or union
|
type Foo = u8; //~ NOTE: not a struct, enum or union
|
||||||
type Foo = u8;
|
|
||||||
|
|
||||||
#[repr(packed)] //~ ERROR E0517
|
#[repr(packed)] //~ ERROR: E0517
|
||||||
//~| requires a struct
|
enum Foo2 {Bar, Baz} //~ NOTE: not a struct
|
||||||
enum Foo2 {Bar, Baz}
|
|
||||||
|
|
||||||
#[repr(u8)] //~ ERROR E0517
|
#[repr(u8)] //~ ERROR: E0517
|
||||||
//~| requires an enum
|
struct Foo3 {bar: bool, baz: bool} //~ NOTE: not an enum
|
||||||
struct Foo3 {bar: bool, baz: bool}
|
|
||||||
|
|
||||||
#[repr(C)] //~ ERROR E0517
|
#[repr(C)] //~ ERROR: E0517
|
||||||
//~| requires a struct, enum or union
|
impl Foo3 { //~ NOTE: not a struct, enum or union
|
||||||
impl Foo3 {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -8,13 +8,11 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#[inline(always)] //~ ERROR E0518
|
#[inline(always)] //~ ERROR: E0518
|
||||||
//~| requires a function
|
struct Foo; //~ NOTE: not a function
|
||||||
struct Foo;
|
|
||||||
|
|
||||||
#[inline(never)] //~ ERROR E0518
|
#[inline(never)] //~ ERROR: E0518
|
||||||
//~| requires a function
|
impl Foo { //~ NOTE: not a function
|
||||||
impl Foo {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -26,10 +26,8 @@ pub fn body_not_exported_to_metadata() -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn body_not_exported_to_metadata() -> u32 {
|
pub fn body_not_exported_to_metadata() -> u32 {
|
||||||
|
@ -49,10 +47,8 @@ pub fn body_exported_to_metadata_because_of_inline() -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_dirty(cfg="cfail2")]
|
#[rustc_metadata_dirty(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[inline]
|
#[inline]
|
||||||
|
@ -73,10 +69,8 @@ pub fn body_exported_to_metadata_because_of_generic() -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_dirty(cfg="cfail2")]
|
#[rustc_metadata_dirty(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|
|
@ -36,10 +36,8 @@ pub fn change_condition(x: bool) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized,TypeckTables")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_condition(x: bool) -> u32 {
|
pub fn change_condition(x: bool) -> u32 {
|
||||||
|
@ -61,10 +59,8 @@ pub fn change_then_branch(x: bool) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_then_branch(x: bool) -> u32 {
|
pub fn change_then_branch(x: bool) -> u32 {
|
||||||
|
@ -88,10 +84,8 @@ pub fn change_else_branch(x: bool) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_else_branch(x: bool) -> u32 {
|
pub fn change_else_branch(x: bool) -> u32 {
|
||||||
|
@ -110,24 +104,22 @@ pub fn add_else_branch(x: bool) -> u32 {
|
||||||
let mut ret = 1;
|
let mut ret = 1;
|
||||||
|
|
||||||
if x {
|
if x {
|
||||||
ret += 1;
|
ret = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,TypeckTables")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn add_else_branch(x: bool) -> u32 {
|
pub fn add_else_branch(x: bool) -> u32 {
|
||||||
let mut ret = 1;
|
let mut ret = 1;
|
||||||
|
|
||||||
if x {
|
if x {
|
||||||
ret += 1;
|
ret = 2;
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,10 +139,8 @@ pub fn change_condition_if_let(x: Option<u32>) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized,TypeckTables")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_condition_if_let(x: Option<u32>) -> u32 {
|
pub fn change_condition_if_let(x: Option<u32>) -> u32 {
|
||||||
|
@ -174,10 +164,8 @@ pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized,TypeckTables")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
|
pub fn change_then_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
|
@ -201,10 +189,8 @@ pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
|
pub fn change_else_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
|
@ -223,24 +209,22 @@ pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
let mut ret = 1;
|
let mut ret = 1;
|
||||||
|
|
||||||
if let Some(x) = x {
|
if let Some(x) = x {
|
||||||
ret += x;
|
ret = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,TypeckTables")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
|
pub fn add_else_branch_if_let(x: Option<u32>) -> u32 {
|
||||||
let mut ret = 1;
|
let mut ret = 1;
|
||||||
|
|
||||||
if let Some(x) = x {
|
if let Some(x) = x {
|
||||||
ret += x;
|
ret = x;
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
|
|
||||||
// This test case tests the incremental compilation hash (ICH) implementation
|
// This test case tests the incremental compilation hash (ICH) implementation
|
||||||
// for closure expression.
|
// for indexing expression.
|
||||||
|
|
||||||
// The general pattern followed here is: Change one thing between rev1 and rev2
|
// The general pattern followed here is: Change one thing between rev1 and rev2
|
||||||
// and make sure that the hash has changed, then change nothing between rev2 and
|
// and make sure that the hash has changed, then change nothing between rev2 and
|
||||||
|
|
|
@ -34,10 +34,8 @@ pub fn indexing(slice: &[u8]) -> u8 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn indexing(slice: &[u8]) -> u8 {
|
pub fn indexing(slice: &[u8]) -> u8 {
|
||||||
|
@ -52,10 +50,8 @@ pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
||||||
|
@ -70,10 +66,8 @@ pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
||||||
|
@ -88,10 +82,8 @@ pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
||||||
|
@ -106,10 +98,8 @@ pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
||||||
|
@ -124,10 +114,8 @@ pub fn division_by_zero(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn division_by_zero(val: i32) -> i32 {
|
pub fn division_by_zero(val: i32) -> i32 {
|
||||||
|
@ -141,10 +129,8 @@ pub fn mod_by_zero(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn mod_by_zero(val: i32) -> i32 {
|
pub fn mod_by_zero(val: i32) -> i32 {
|
||||||
|
@ -159,10 +145,8 @@ pub fn shift_left(val: i32, shift: usize) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn shift_left(val: i32, shift: usize) -> i32 {
|
pub fn shift_left(val: i32, shift: usize) -> i32 {
|
||||||
|
@ -177,10 +161,8 @@ pub fn shift_right(val: i32, shift: usize) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn shift_right(val: i32, shift: usize) -> i32 {
|
pub fn shift_right(val: i32, shift: usize) -> i32 {
|
||||||
|
@ -197,10 +179,8 @@ pub fn bitwise(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn bitwise(val: i32) -> i32 {
|
pub fn bitwise(val: i32) -> i32 {
|
||||||
|
@ -215,10 +195,8 @@ pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
||||||
|
|
|
@ -41,10 +41,8 @@ pub fn indexing(slice: &[u8]) -> u8 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn indexing(slice: &[u8]) -> u8 {
|
pub fn indexing(slice: &[u8]) -> u8 {
|
||||||
|
@ -60,10 +58,8 @@ pub fn arithmetic_overflow_plus_inherit(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[rustc_inherit_overflow_checks]
|
#[rustc_inherit_overflow_checks]
|
||||||
|
@ -80,10 +76,8 @@ pub fn arithmetic_overflow_minus_inherit(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[rustc_inherit_overflow_checks]
|
#[rustc_inherit_overflow_checks]
|
||||||
|
@ -100,10 +94,8 @@ pub fn arithmetic_overflow_mult_inherit(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[rustc_inherit_overflow_checks]
|
#[rustc_inherit_overflow_checks]
|
||||||
|
@ -120,10 +112,8 @@ pub fn arithmetic_overflow_negation_inherit(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
#[rustc_inherit_overflow_checks]
|
#[rustc_inherit_overflow_checks]
|
||||||
|
@ -139,10 +129,8 @@ pub fn division_by_zero(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn division_by_zero(val: i32) -> i32 {
|
pub fn division_by_zero(val: i32) -> i32 {
|
||||||
|
@ -156,10 +144,8 @@ pub fn mod_by_zero(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2", except="HirBody,MirValidated,MirOptimized")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_dirty(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn mod_by_zero(val: i32) -> i32 {
|
pub fn mod_by_zero(val: i32) -> i32 {
|
||||||
|
@ -177,10 +163,8 @@ pub fn bitwise(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn bitwise(val: i32) -> i32 {
|
pub fn bitwise(val: i32) -> i32 {
|
||||||
|
@ -195,10 +179,8 @@ pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
pub fn logical(val1: bool, val2: bool, val3: bool) -> bool {
|
||||||
|
@ -212,10 +194,8 @@ pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
pub fn arithmetic_overflow_plus(val: i32) -> i32 {
|
||||||
|
@ -230,10 +210,8 @@ pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
pub fn arithmetic_overflow_minus(val: i32) -> i32 {
|
||||||
|
@ -248,10 +226,8 @@ pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
pub fn arithmetic_overflow_mult(val: i32) -> i32 {
|
||||||
|
@ -266,10 +242,8 @@ pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(cfail1))]
|
#[cfg(not(cfail1))]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail2")]
|
#[rustc_clean(cfg="cfail2")]
|
||||||
#[rustc_clean(label="Hir", cfg="cfail3")]
|
#[rustc_clean(cfg="cfail3")]
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail2")]
|
|
||||||
#[rustc_clean(label="HirBody", cfg="cfail3")]
|
|
||||||
#[rustc_metadata_clean(cfg="cfail2")]
|
#[rustc_metadata_clean(cfg="cfail2")]
|
||||||
#[rustc_metadata_clean(cfg="cfail3")]
|
#[rustc_metadata_clean(cfg="cfail3")]
|
||||||
pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
pub fn arithmetic_overflow_negation(val: i32) -> i32 {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
// compile-flags: --error-format=short
|
// compile-flags: --error-format=short -Zunstable-options
|
||||||
|
|
||||||
fn foo(_: u32) {}
|
fn foo(_: u32) {}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue