parent
67350bc868
commit
d788588dce
47 changed files with 76 additions and 22 deletions
|
@ -2467,6 +2467,12 @@ The currently implemented features of the reference compiler are:
|
||||||
|
|
||||||
* `associated_types` - Allows type aliases in traits. Experimental.
|
* `associated_types` - Allows type aliases in traits. Experimental.
|
||||||
|
|
||||||
|
* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
|
||||||
|
`extern crate std`. This typically requires use of the unstable APIs
|
||||||
|
behind the libstd "facade", such as libcore and libcollections. It
|
||||||
|
may also cause problems when using syntax extensions, including
|
||||||
|
`#[derive]`.
|
||||||
|
|
||||||
If a feature is promoted to a language feature, then all existing programs will
|
If a feature is promoted to a language feature, then all existing programs will
|
||||||
start to receive compilation warnings about #[feature] directives which enabled
|
start to receive compilation warnings about #[feature] directives which enabled
|
||||||
the new feature (because the directive is no longer necessary). However, if a
|
the new feature (because the directive is no longer necessary). However, if a
|
||||||
|
|
|
@ -433,6 +433,7 @@ attribute attached to the crate.
|
||||||
```ignore
|
```ignore
|
||||||
// a minimal library
|
// a minimal library
|
||||||
#![crate_type="lib"]
|
#![crate_type="lib"]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
# // fn main() {} tricked you, rustdoc!
|
# // fn main() {} tricked you, rustdoc!
|
||||||
```
|
```
|
||||||
|
@ -446,8 +447,8 @@ The function marked `#[start]` is passed the command line parameters
|
||||||
in the same format as C:
|
in the same format as C:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, start)]
|
|
||||||
|
|
||||||
// Pull in the system libc library for what crt0.o likely requires
|
// Pull in the system libc library for what crt0.o likely requires
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
@ -473,6 +474,7 @@ correct ABI and the correct name, which requires overriding the
|
||||||
compiler's name mangling too:
|
compiler's name mangling too:
|
||||||
|
|
||||||
```ignore
|
```ignore
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![no_main]
|
#![no_main]
|
||||||
#![feature(lang_items, start)]
|
#![feature(lang_items, start)]
|
||||||
|
@ -528,8 +530,8 @@ As an example, here is a program that will calculate the dot product of two
|
||||||
vectors provided from C, using idiomatic Rust practices.
|
vectors provided from C, using idiomatic Rust practices.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, start)]
|
|
||||||
|
|
||||||
# extern crate libc;
|
# extern crate libc;
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
@ -652,8 +654,8 @@ and one for deallocation. A freestanding program that uses the `Box`
|
||||||
sugar for dynamic allocations via `malloc` and `free`:
|
sugar for dynamic allocations via `malloc` and `free`:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
#![feature(lang_items, box_syntax, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, box_syntax, start)]
|
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
||||||
html_root_url = "http://doc.rust-lang.org/nightly/")]
|
html_root_url = "http://doc.rust-lang.org/nightly/")]
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, unsafe_destructor)]
|
#![feature(lang_items, unsafe_destructor)]
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#![cfg_attr(test, feature(test))]
|
#![cfg_attr(test, feature(test))]
|
||||||
#![cfg_attr(test, allow(deprecated))] // rand
|
#![cfg_attr(test, allow(deprecated))] // rand
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
html_root_url = "http://doc.rust-lang.org/nightly/",
|
html_root_url = "http://doc.rust-lang.org/nightly/",
|
||||||
html_playground_url = "http://play.rust-lang.org/")]
|
html_playground_url = "http://play.rust-lang.org/")]
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![allow(raw_pointer_derive)]
|
#![allow(raw_pointer_derive)]
|
||||||
#![deny(missing_docs)]
|
#![deny(missing_docs)]
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
|
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
|
||||||
#![cfg_attr(not(feature = "cargo-build"), feature(core))]
|
#![cfg_attr(not(feature = "cargo-build"), feature(core))]
|
||||||
#![feature(int_uint)]
|
#![feature(int_uint)]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
||||||
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
html_root_url = "http://doc.rust-lang.org/nightly/",
|
html_root_url = "http://doc.rust-lang.org/nightly/",
|
||||||
html_playground_url = "http://play.rust-lang.org/")]
|
html_playground_url = "http://play.rust-lang.org/")]
|
||||||
#![feature(int_uint)]
|
#![feature(int_uint)]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![unstable(feature = "rand")]
|
#![unstable(feature = "rand")]
|
||||||
#![feature(staged_api)]
|
#![feature(staged_api)]
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#![feature(staged_api)]
|
#![feature(staged_api)]
|
||||||
#![staged_api]
|
#![staged_api]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![unstable(feature = "rustc_private")]
|
#![unstable(feature = "rustc_private")]
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct RH<'a> {
|
||||||
sub: &'a [RH<'a>]
|
sub: &'a [RH<'a>]
|
||||||
}
|
}
|
||||||
|
|
||||||
static EMPTY_SOURCE_STR: &'static str = "#![no_std]";
|
static EMPTY_SOURCE_STR: &'static str = "#![feature(no_std)] #![no_std]";
|
||||||
|
|
||||||
struct ExpectErrorEmitter {
|
struct ExpectErrorEmitter {
|
||||||
messages: Vec<String>
|
messages: Vec<String>
|
||||||
|
|
|
@ -124,6 +124,7 @@
|
||||||
#![cfg_attr(test, feature(test))]
|
#![cfg_attr(test, feature(test))]
|
||||||
|
|
||||||
// Don't link to std. We are std.
|
// Don't link to std. We are std.
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#![deny(missing_docs)]
|
#![deny(missing_docs)]
|
||||||
|
|
|
@ -122,7 +122,10 @@ static KNOWN_FEATURES: &'static [(&'static str, &'static str, Status)] = &[
|
||||||
("staged_api", "1.0.0", Active),
|
("staged_api", "1.0.0", Active),
|
||||||
|
|
||||||
// Allows using items which are missing stability attributes
|
// Allows using items which are missing stability attributes
|
||||||
("unmarked_api", "1.0.0", Active)
|
("unmarked_api", "1.0.0", Active),
|
||||||
|
|
||||||
|
// Allows using #![no_std]
|
||||||
|
("no_std", "1.0.0", Active),
|
||||||
];
|
];
|
||||||
|
|
||||||
enum Status {
|
enum Status {
|
||||||
|
@ -466,6 +469,11 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> {
|
||||||
attr.span,
|
attr.span,
|
||||||
"language items are subject to change");
|
"language items are subject to change");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if attr.check_name("no_std") {
|
||||||
|
self.gate_feature("no_std", attr.span,
|
||||||
|
"no_std is experimental");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_pat(&mut self, pattern: &ast::Pat) {
|
fn visit_pat(&mut self, pattern: &ast::Pat) {
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
|
||||||
html_root_url = "http://doc.rust-lang.org/nightly/",
|
html_root_url = "http://doc.rust-lang.org/nightly/",
|
||||||
html_playground_url = "http://play.rust-lang.org/")]
|
html_playground_url = "http://play.rust-lang.org/")]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(slicing_syntax)]
|
#![feature(slicing_syntax)]
|
||||||
#![feature(int_uint)]
|
#![feature(int_uint)]
|
||||||
|
|
|
@ -8,6 +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.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
#![feature(lang_items)]
|
||||||
|
|
||||||
|
|
|
@ -8,6 +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.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
pub fn foo() {}
|
pub fn foo() {}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
// This aux-file will require the eh_personality function to be codegen'd, but
|
// This aux-file will require the eh_personality function to be codegen'd, but
|
||||||
// it hasn't been defined just yet. Make sure we don't explode.
|
// it hasn't been defined just yet. Make sure we don't explode.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![crate_type = "rlib"]
|
#![crate_type = "rlib"]
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![feature(lang_items)]
|
#![feature(lang_items)]
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#[lang="sized"]
|
#[lang="sized"]
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
// ignore-tidy-linelength
|
// ignore-tidy-linelength
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
#![feature(lang_items)]
|
||||||
|
|
||||||
|
|
|
@ -8,6 +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.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
|
13
src/test/compile-fail/gated-no-std.rs
Normal file
13
src/test/compile-fail/gated-no-std.rs
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Copyright 2105 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 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
#![no_std] //~ ERROR no_std is experimental
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
// error-pattern: requires `copy` lang_item
|
// error-pattern: requires `copy` lang_item
|
||||||
|
|
||||||
#![feature(lang_items, start)]
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#[lang = "sized"]
|
#[lang = "sized"]
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
|
|
||||||
// error-pattern: requires `sized` lang_item
|
// error-pattern: requires `sized` lang_item
|
||||||
|
|
||||||
|
#![feature(start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(start)]
|
|
||||||
|
|
||||||
#[start]
|
#[start]
|
||||||
fn start(argc: isize, argv: *const *const u8) -> isize {
|
fn start(argc: isize, argv: *const *const u8) -> isize {
|
||||||
|
|
|
@ -8,6 +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.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![allow(unused_variables)]
|
#![allow(unused_variables)]
|
||||||
#![allow(non_camel_case_types)]
|
#![allow(non_camel_case_types)]
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(lang_items, start)]
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
||||||
|
|
||||||
#[lang="sized"]
|
#[lang="sized"]
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(start)]
|
#![feature(start, no_std)]
|
||||||
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
||||||
|
|
||||||
// Test to make sure that globs don't leak in regular `use` statements.
|
// Test to make sure that globs don't leak in regular `use` statements.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(start)]
|
#![feature(start, no_std)]
|
||||||
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
||||||
|
|
||||||
// Test to make sure that private items imported through globs remain private
|
// Test to make sure that private items imported through globs remain private
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(lang_items, start)]
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
#![no_std] // makes debugging this test *a lot* easier (during resolve)
|
||||||
|
|
||||||
#[lang = "sized"] pub trait Sized {}
|
#[lang = "sized"] pub trait Sized {}
|
||||||
|
|
|
@ -8,8 +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.
|
||||||
|
|
||||||
|
#![feature(lang_items, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
|
||||||
|
|
||||||
// Check that explicit region bounds are allowed on the various
|
// Check that explicit region bounds are allowed on the various
|
||||||
// nominal types (but not on other types) and that they are type
|
// nominal types (but not on other types) and that they are type
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
// Various examples of structs whose fields are not well-formed.
|
// Various examples of structs whose fields are not well-formed.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(lang_items)]
|
#![feature(lang_items, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#[lang="sized"] pub trait Sized {}
|
#[lang="sized"] pub trait Sized {}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
// error-pattern: language item required, but not found: `stack_exhausted`
|
// error-pattern: language item required, but not found: `stack_exhausted`
|
||||||
// error-pattern: language item required, but not found: `eh_personality`
|
// error-pattern: language item required, but not found: `eh_personality`
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#[prelude_import]
|
#[prelude_import]
|
||||||
use std::prelude::v1::*;
|
use std::prelude::v1::*;
|
||||||
|
|
|
@ -7,5 +7,6 @@
|
||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
// 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.
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
extern crate foo;
|
extern crate foo;
|
||||||
|
|
|
@ -7,5 +7,6 @@
|
||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
// 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.
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
|
|
|
@ -8,8 +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.
|
||||||
|
|
||||||
|
#![feature(lang_items, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
|
||||||
#![crate_type = "dylib"]
|
#![crate_type = "dylib"]
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
|
@ -8,8 +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.
|
||||||
|
|
||||||
|
#![feature(lang_items, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items)]
|
|
||||||
#![crate_type = "dylib"]
|
#![crate_type = "dylib"]
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
// minimal junk
|
// minimal junk
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
// minimal junk
|
// minimal junk
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
macro_rules! foo {
|
macro_rules! foo {
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
// we can compile to a variety of platforms, because we don't need
|
// we can compile to a variety of platforms, because we don't need
|
||||||
// cross-compiled standard libraries.
|
// cross-compiled standard libraries.
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#![feature(simd, simd_ffi, link_llvm_intrinsics, lang_items)]
|
#![feature(simd, simd_ffi, link_llvm_intrinsics, lang_items)]
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(lang_items)]
|
#![feature(lang_items, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
#[lang="copy"]
|
#[lang="copy"]
|
||||||
|
|
|
@ -8,6 +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.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate core;
|
extern crate core;
|
||||||
|
|
|
@ -8,8 +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.
|
||||||
|
|
||||||
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, start)]
|
|
||||||
|
|
||||||
extern crate "std" as other;
|
extern crate "std" as other;
|
||||||
|
|
||||||
|
|
|
@ -8,8 +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.
|
||||||
|
|
||||||
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, start)]
|
|
||||||
|
|
||||||
extern crate "std" as other;
|
extern crate "std" as other;
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
// ignore-android
|
// ignore-android
|
||||||
// ignore-windows #13361
|
// ignore-windows #13361
|
||||||
|
|
||||||
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(lang_items, start)]
|
|
||||||
|
|
||||||
extern crate "lang-item-public" as lang_lib;
|
extern crate "lang-item-public" as lang_lib;
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
// This tests that libraries built with #[no_std] can be linked to crates with
|
// This tests that libraries built with #[no_std] can be linked to crates with
|
||||||
// #[no_std] and actually run.
|
// #[no_std] and actually run.
|
||||||
|
|
||||||
|
#![feature(no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate no_std_crate;
|
extern crate no_std_crate;
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
|
|
||||||
// Smallest "hello world" with a libc runtime
|
// Smallest "hello world" with a libc runtime
|
||||||
|
|
||||||
|
#![feature(intrinsics, lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
#![feature(intrinsics, lang_items, start)]
|
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
#![allow(unused_imports)]
|
#![allow(unused_imports)]
|
||||||
#![feature(start)]
|
#![feature(start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate std;
|
extern crate std;
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
#![feature(lang_items, start)]
|
#![feature(lang_items, start, no_std)]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate "std" as other;
|
extern crate "std" as other;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue