// { dg-additional-options "-frust-compile-until=compilation -frust-borrowcheck -fdiagnostics-show-caret -fdiagnostics-show-line-numbers" }
// { dg-enable-nn-line-numbers "" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-frust-compile-until=compilation -frust-borrowcheck -fdiagnostics-show-caret -fdiagnostics-show-line-numbers" }
// { dg-enable-nn-line-numbers "" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
-#![feature(optin_builtin_traits)]
+#![feature(optin_builtin_traits, lang_items)]
pub unsafe auto trait Send {}
#[lang = "sync"]
-#![feature(optin_builtin_traits)]
+#![feature(optin_builtin_traits, lang_items)]
pub unsafe auto trait Send {}
#[lang = "sync"]
-#![feature(optin_builtin_traits)]
+#![feature(optin_builtin_traits, lang_items)]
pub unsafe auto trait Send {}
#[lang = "sync"]
// { dg-additional-options "-frust-compile-until=typecheck" }
-#![feature(optin_builtin_traits)]
+#![feature(optin_builtin_traits, lang_items)]
pub unsafe auto trait Send {}
#[lang = "sync"]
-#![feature(optin_builtin_traits)]
+#![feature(optin_builtin_traits, lang_items)]
pub unsafe auto trait Send {}
#[lang = "sync"]
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
// { dg-options "-fdump-tree-gimple" }
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-frust-compile-until=lowering" }
+#![feature(lang_items)]
#[lang = "owned_box"]
pub struct Box<T>;
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w -fdump-tree-gimple -frust-crate=example" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
// taken from https://github.com/rust-lang/rust/blob/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/cmp.rs#L98
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// There are errors about unused generic parameters, but we can't handle that yet.
// Still, this code is invalid Rust.
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
// { dg-options "-w" }
-
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
// { dg-options "-w" }
-
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
-
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[derive(Default)]
struct Foo { _a: i32, _b: i64, _c: u8 }
+#![feature(lang_items)]
+
mod core {
mod cmp {
#[lang = "eq"]
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
#[lang = "sized"]
trait Sized {}
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "clone"]
trait Clone {
pub fn clone(&self) -> Self;
+#![feature(lang_items)]
+
#[lang = "clone"]
trait Clone {
pub fn clone(&self) -> Self;
+#![feature(lang_items)]
+
#[lang = "clone"]
trait Clone {
pub fn clone(&self) -> Self;
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
// this SEGVs in lowering for now
// { dg-additional-options "-frust-compile-until=nameresolution" }
+#![feature(lang_items)]
macro_rules! forward_ref_binop {
(impl $imp:ident, $method:ident for $t:ty, $u:ty) => {
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
-#[lang="sized"]
+#![feature(lang_items)]
+#[lang = "sized"]
trait Sized {}
// { dg-output "loop\r*\nloop\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
// { dg-output "1\r*\n2\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! format_args {
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! format_args {
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! format_args {
// { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-error "mismatched types, expected .i32. but got .i8." "" { target *-*-* } 0 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
// { dg-options "-w" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
trait Trait: ?Sized {} // { dg-error ".?Trait. is not permitted in supertraits" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(lang_items)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
pub trait Sized {
// Empty.
+#![feature(lang_items)]
+
#[lang = "sized"]
pub trait Sized {
// Empty.
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
// { dg-options "-w" } Currently there are a lot of warnings produced from inside clone/copy
// builtins
+#![feature(lang_items)]
#[lang = "copy"]
trait Copy {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
#![feature(negative_impls)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
-#![feature(negative_impls)]
+#![feature(negative_impls, lang_items)]
#[lang = "sized"]
trait Sized {}
-#![feature(negative_impls)]
+#![feature(negative_impls, lang_items)]
#[lang = "sized"]
trait Sized {}
-#![feature(negative_impls)]
+#![feature(negative_impls, lang_items)]
#[lang = "copy"]
trait Copy {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
-#![feature(dropck_eyepatch)]
+#![feature(dropck_eyepatch, lang_items)]
#[allow(dead_code)]
#[lang = "sized"]
-#![feature(dropck_eyepatch)]
+#![feature(dropck_eyepatch, lang_items)]
#[allow(dead_code)]
#[lang = "sized"]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
pub struct Foo {
a: i32,
// { dg-warning "field is never read" "" { target *-*-* } .-1 }
+#![feature(lang_items)]
+
pub struct Bar(i32);
#[lang = "sized"]
+#![feature(lang_items)]
+
pub struct Foo {
a: i32,
// { dg-warning "field is never read" "" { target *-*-* } .-1 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
+
mod core {
mod option {
pub enum Option<T> {
// { dg-additional-options "-frust-compile-until=lowering" }
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
pub trait Sized {
// Empty.
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
mod core {
mod marker {
#[lang = "sized"]
+#![feature(lang_items)]
+
mod core {
mod marker {
#[lang = "sized"]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
pub use result::Result::{self, Err, Ok};
#[lang = "sized"]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! option_env {
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! option_env {
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! option_env {
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-frust-compile-until=lowering" }
+#![feature(lang_items)]
macro_rules! impl_fn_for_zst {
($(
// { dg-additional-options "-frust-compile-until=lowering" }
+#![feature(lang_items)]
macro_rules! impl_fn_for_zst {
($(
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-frust-compile-until=typecheck" }
// TODO: this should typecheck
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "structural_peq"]
pub trait StructuralPartialEq {
// Empty.
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-frust-compile-until=typecheck" }
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
// { dg-additional-options "-frust-edition=2018" }
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options -frust-mangling=v0 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options -frust-mangling=v0 }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
// use self::Ordering::*;
// use Ordering::*;
/* { dg-output "Value is: 42\r*\n" } */
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
extern "C" {
fn printf(s: *const i8, ...);
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "less\r*" }*/
+#![feature(lang_items)]
+
mod core {
mod option {
pub enum Option<T> {
/* { dg-output "<><=>=\r*" } */
/* { dg-options "-w" } */
+#![feature(lang_items)]
+
mod core {
mod option {
pub enum Option<T> {
// { dg-output "VALUE\r*\nVALUE\r*\n" }
// { dg-set-compiler-env-var ENV_MACRO_TEST "VALUE" }
-#![feature(rustc_attrs)]
+#![feature(rustc_attrs, lang_items)]
#[rustc_builtin_macro]
macro_rules! option_env {
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-output "3\r*\n" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "3\r*\n" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "123\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "123\r*\n" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[derive(Default)]
struct Foo { a: i32 }
#[derive(Default)]
// { dg-output "true\r*\nfalse\r*\nfalse\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
#[lang = "sized"]
trait Sized {}
// { dg-output "true\r*\nfalse\r*\nfalse\r*\nfalse\r*\nfalse\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub mod core {
pub mod intrinsics {
+#![feature(lang_items)]
+
#[lang = "clone"]
trait Clone {
pub fn clone(&self) -> Self;
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "0\r*\n2\r*\n" } */
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-output "loop\r*\nloop\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
// { dg-output "loop1\r*\nloop2\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
/* { dg-output "Hello from Message\r*\n" } */
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "foo_deref\r*\nimm_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "slice_access=3\r*\n" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
// { dg-output "1\r*\n2\r*\n" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "called Foo::print\\(\\)\r*" } */
/* { dg-options "-w" } */
+#![feature(lang_items)]
#[lang = "sized"]
trait Sized {}
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
/* { dg-output "foo_deref\r*\nimm_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
/* { dg-output "WORKS\r?\n" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-output "123\r*\n" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-output "123\r*\n" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "child\r*\n" }*/
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "Err: 15\r*\n" } */
+#![feature(lang_items)]
+
#[lang = "sized"]
trait Sized {}
/* { dg-output "parent 123\r*\nchild\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-options "-w" }
// { dg-output "less\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "Hello World 123\r*\n" }*/
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "Foo::bar\r*\n" }
// { dg-additional-options "-w" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "Result: 123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "Result: 123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "1\r*\n2\r*\n" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
pub use option::Option::{self, None, Some};
pub use result::Result::{self, Err, Ok};
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
// { dg-output "foo_deref\r*\nimm_deref\r*\n" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-additional-options "-w" }
// { dg-output "mut_deref\r*\nfoobar: 123\r*\n" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-additional-options "-w" }
// { dg-output "mut_deref\r*\nfoobar: 123\r*\n" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
-#![feature(min_specialization)]
+#![feature(min_specialization, lang_items)]
#[lang = "sized"]
trait Sized {}
-#![feature(min_specialization)]
+#![feature(min_specialization, lang_items)]
#[lang = "sized"]
trait Sized {}
/* { dg-output "3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "foo_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "1\r*\n" }
// { dg-additional-options "-w" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-output "1\r*\n" }
// { dg-additional-options "-w" }
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "3\r*\n3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "neg\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "not\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "add_assign\r*\n3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "imm_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "imm_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "mut_deref\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "a == b\r*\na != c\r*\n" }*/
/* { dg-options "-w" } */
+#![feature(lang_items)]
mod core {
mod marker {
/* { dg-output "a == b\r*\na != c\r*\n" }*/
/* { dg-options "-w" } */
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "a == b\r*\na != c\r*\n" }*/
/* { dg-options "-w" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "a == b\r*\na != c\r*\n" }*/
/* { dg-options "-w" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "x == y\r*\nx > z\r*\n" }*/
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "x == y\r*\nx > z\r*\n" }*/
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "x == y\r*\nx > z\r*\nx < z\r*\nx >= y\r*\nx <= y\r*\n" } */
/* { dg-options "-w" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "a == b\r*\na != c\r*\n" }*/
/* { dg-options "-w" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
/* { dg-output "a == b\r*\na != c\r*\na >= c\r*\na <= b\r*\na > c\r*\nc < b\r*\n" } */
/* { dg-options "-w" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
// { dg-additional-options "-w" }
/* { dg-output "Foo A < B\r?\nFoo B < C\r?\nFoo C == C\r?\nBar x < y\r?\nBarFull s1 < s2\r?\n" } */
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
mod core {
mod option {
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-skip-if "" { *-*-* } { "-m32" } { "" } }
// { dg-options "-w" }
// { dg-output "Hash: 0x63d53fd2170bbb8c\r*\n" }
-#![feature(intrinsics)]
-#![feature(rustc_attrs)]
+#![feature(intrinsics, lang_items, rustc_attrs)]
#[lang = "sized"]
trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-additional-options "-w" }
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
// { dg-output "t1sz=5 t2sz=10\r*" }
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "S::f\r*\nT1::f\r*\nT2::f\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "3\r*\n" } */
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
/* { dg-output "3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n456\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "parent123\r*\nchild\r*\n" } */
+#![feature(lang_items)]
extern "C" {
fn printf(s: *const i8, ...);
/* { dg-output "parent123\r*\nchild\r*\n" } */
// Testing generics passing with supertraits
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "Bar::A = 456\r*\n<Foo as Bar>::A = 456\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123, 777\r*" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n" }*/
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "123\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
/* { dg-output "3\r*\n" } */
+#![feature(lang_items)]
+
extern "C" {
fn printf(s: *const i8, ...);
}
// { dg-additional-options "-w" }
-#![feature(intrinsics)]
+#![feature(intrinsics, lang_items)]
extern "rust-intrinsic" {
fn transmute<T, U>(value: T) -> U;
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
#![feature(intrinsics)]
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}
+#![feature(lang_items)]
#[lang = "sized"]
pub trait Sized {}