Skip to content

Commit 5111019

Browse files
committed
---
yaml --- r: 110207 b: refs/heads/auto c: dd3e553 h: refs/heads/master i: 110205: 0e29d95 110203: a0e516a 110199: 1f8d23d 110191: f511be4 110175: 39f36a1 110143: dc29752 110079: 71f5569 v: v3
1 parent 836029e commit 5111019

File tree

227 files changed

+1508
-1298
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

227 files changed

+1508
-1298
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1313
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1414
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1515
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16-
refs/heads/auto: b5ef3afd50a1f5dc8a0ecb9baf267b58b9176a7e
16+
refs/heads/auto: dd3e5531204840c62097d23c50e87b96b0dafdd1
1717
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1818
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1919
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/mk/crates.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@
4949
# automatically generated for all stage/host/target combinations.
5050
################################################################################
5151

52-
TARGET_CRATES := std green rustuv native flate arena glob term semver \
52+
TARGET_CRATES := libc std green rustuv native flate arena glob term semver \
5353
uuid serialize sync getopts collections num test time rand \
5454
workcache url log
5555
HOST_CRATES := syntax rustc rustdoc fourcc hexfloat
5656
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
5757
TOOLS := compiletest rustdoc rustc
5858

59-
DEPS_std := native:rustrt native:compiler-rt native:backtrace
59+
DEPS_std := libc native:rustrt native:compiler-rt native:backtrace
6060
DEPS_green := std rand native:context_switch
6161
DEPS_rustuv := std native:uv native:uv_support
6262
DEPS_native := std

branches/auto/src/compiletest/procsrv.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ pub fn run(lib_path: &str,
8484

8585
Some(Result {
8686
status: status,
87-
out: str::from_utf8_owned(output).unwrap(),
88-
err: str::from_utf8_owned(error).unwrap()
87+
out: str::from_utf8(output.as_slice()).unwrap().to_owned(),
88+
err: str::from_utf8(error.as_slice()).unwrap().to_owned()
8989
})
9090
},
9191
Err(..) => None

branches/auto/src/compiletest/runtest.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ fn run_pretty_test(config: &config, props: &TestProps, testfile: &Path) {
153153
match props.pp_exact { Some(_) => 1, None => 2 };
154154

155155
let src = File::open(testfile).read_to_end().unwrap();
156-
let src = str::from_utf8_owned(src).unwrap();
156+
let src = str::from_utf8(src.as_slice()).unwrap().to_owned();
157157
let mut srcs = vec!(src);
158158

159159
let mut round = 0;
@@ -177,7 +177,7 @@ fn run_pretty_test(config: &config, props: &TestProps, testfile: &Path) {
177177
Some(ref file) => {
178178
let filepath = testfile.dir_path().join(file);
179179
let s = File::open(&filepath).read_to_end().unwrap();
180-
str::from_utf8_owned(s).unwrap()
180+
str::from_utf8(s.as_slice()).unwrap().to_owned()
181181
}
182182
None => { (*srcs.get(srcs.len() - 2u)).clone() }
183183
};
@@ -1163,7 +1163,7 @@ fn disassemble_extract(config: &config, _props: &TestProps,
11631163
11641164
fn count_extracted_lines(p: &Path) -> uint {
11651165
let x = File::open(&p.with_extension("ll")).read_to_end().unwrap();
1166-
let x = str::from_utf8_owned(x).unwrap();
1166+
let x = str::from_utf8(x.as_slice()).unwrap();
11671167
x.lines().len()
11681168
}
11691169

branches/auto/src/doc/complement-cheatsheet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Use the [`lines`](http://static.rust-lang.org/doc/master/std/io/trait.Buffer.htm
9696
use std::io::BufferedReader;
9797
# use std::io::MemReader;
9898
99-
# let reader = MemReader::new(~[]);
99+
# let reader = MemReader::new(vec!());
100100
101101
let mut reader = BufferedReader::new(reader);
102102
for line in reader.lines() {

branches/auto/src/doc/guide-ffi.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ The following is a minimal example of calling a foreign function which will
1212
compile if snappy is installed:
1313

1414
~~~~ {.ignore}
15-
use std::libc::size_t;
15+
extern crate libc;
16+
use libc::size_t;
1617
1718
#[link(name = "snappy")]
1819
extern {
@@ -44,7 +45,8 @@ keeping the binding correct at runtime.
4445
The `extern` block can be extended to cover the entire snappy API:
4546

4647
~~~~ {.ignore}
47-
use std::libc::{c_int, size_t};
48+
extern crate libc;
49+
use libc::{c_int, size_t};
4850
4951
#[link(name = "snappy")]
5052
extern {
@@ -402,7 +404,7 @@ global state. In order to access these variables, you declare them in `extern`
402404
blocks with the `static` keyword:
403405

404406
~~~{.ignore}
405-
use std::libc;
407+
extern crate libc;
406408
407409
#[link(name = "readline")]
408410
extern {
@@ -420,7 +422,7 @@ interface. To do this, statics can be declared with `mut` so rust can mutate
420422
them.
421423

422424
~~~{.ignore}
423-
use std::libc;
425+
extern crate libc;
424426
use std::ptr;
425427
426428
#[link(name = "readline")]
@@ -444,11 +446,15 @@ calling foreign functions. Some foreign functions, most notably the Windows API,
444446
conventions. Rust provides a way to tell the compiler which convention to use:
445447

446448
~~~~
449+
extern crate libc;
450+
447451
#[cfg(target_os = "win32", target_arch = "x86")]
448452
#[link(name = "kernel32")]
449453
extern "stdcall" {
450-
fn SetEnvironmentVariableA(n: *u8, v: *u8) -> std::libc::c_int;
454+
fn SetEnvironmentVariableA(n: *u8, v: *u8) -> libc::c_int;
451455
}
456+
457+
# fn main() { }
452458
~~~~
453459

454460
This applies to the entire `extern` block. The list of supported ABI constraints

branches/auto/src/doc/guide-unsafe.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ As an example, we give a reimplementation of owned boxes by wrapping
192192
reimplementation is as safe as the built-in `~` type.
193193

194194
```
195-
use std::libc::{c_void, size_t, malloc, free};
195+
extern crate libc;
196+
use libc::{c_void, size_t, malloc, free};
196197
use std::mem;
197198
use std::ptr;
198199

branches/auto/src/doc/index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ li {list-style-type: none; }
3636
* [The `glob` file path matching library](glob/index.html)
3737
* [The `green` M:N runtime library](green/index.html)
3838
* [The `hexfloat` library for hexadecimal floating-point literals](hexfloat/index.html)
39+
* [The `libc` bindings](libc/index.html)
3940
* [The `native` 1:1 threading runtime](native/index.html)
4041
* [The `num` arbitrary precision numerics library](num/index.html)
4142
* [The `rand` library for random numbers and distributions](rand/index.html)
@@ -66,6 +67,10 @@ li {list-style-type: none; }
6667

6768
# External resources
6869

69-
* The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
70+
* The Rust IRC channels on [irc.mozilla.org](http://irc.mozilla.org/)
71+
* [`#rust`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - general discussion
72+
* [`#rust-gamedev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-gamedev) - game development
73+
* [`#rust-internals`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-internals) - compiler and libraries
74+
* [`#rust-osdev`](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-osdev) - operating system development
7075
* The Rust community on [Reddit](http://reddit.com/r/rust)
7176
* The Rust [wiki](http://github.com/mozilla/rust/wiki)

branches/auto/src/doc/rust.md

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,11 +1471,13 @@ with the exception that they may not have a body
14711471
and are instead terminated by a semicolon.
14721472

14731473
~~~~
1474-
# use std::libc::{c_char, FILE};
1474+
extern crate libc;
1475+
use libc::{c_char, FILE};
14751476
14761477
extern {
14771478
fn fopen(filename: *c_char, mode: *c_char) -> *FILE;
14781479
}
1480+
# fn main() {}
14791481
~~~~
14801482

14811483
Functions within external blocks may be called by Rust code,
@@ -3420,8 +3422,21 @@ x = bo(5,7);
34203422

34213423
### Closure types
34223424

3423-
The type of a closure mapping an input of type `A` to an output of type `B` is `|A| -> B`. A closure with no arguments or return values has type `||`.
3425+
~~~~ {.notrust .ebnf .notation}
3426+
closure_type := [ 'unsafe' ] [ '<' lifetime-list '>' ] '|' arg-list '|'
3427+
[ ':' bound-list ] [ '->' type ]
3428+
procedure_type := 'proc' [ '<' lifetime-list '>' ] '(' arg-list ')'
3429+
[ ':' bound-list ] [ '->' type ]
3430+
lifetime-list := lifetime | lifetime ',' lifetime-list
3431+
arg-list := ident ':' type | ident ':' type ',' arg-list
3432+
bound-list := bound | bound '+' bound-list
3433+
bound := path | lifetime
3434+
~~~~
34243435

3436+
The type of a closure mapping an input of type `A` to an output of type `B` is
3437+
`|A| -> B`. A closure with no arguments or return values has type `||`.
3438+
Similarly, a procedure mapping `A` to `B` is `proc(A) -> B` and a no-argument
3439+
and no-return value closure has type `proc()`.
34253440

34263441
An example of creating and calling a closure:
34273442

@@ -3444,6 +3459,30 @@ call_closure(closure_no_args, closure_args);
34443459

34453460
```
34463461

3462+
Unlike closures, procedures may only be invoked once, but own their
3463+
environment, and are allowed to move out of their environment. Procedures are
3464+
allocated on the heap (unlike closures). An example of creating and calling a
3465+
procedure:
3466+
3467+
```rust
3468+
let string = ~"Hello";
3469+
3470+
// Creates a new procedure, passing it to the `spawn` function.
3471+
spawn(proc() {
3472+
println!("{} world!", string);
3473+
});
3474+
3475+
// the variable `string` has been moved into the previous procedure, so it is
3476+
// no longer usable.
3477+
3478+
3479+
// Create an invoke a procedure. Note that the procedure is *moved* when
3480+
// invoked, so it cannot be invoked again.
3481+
let f = proc(n: int) { n + 22 };
3482+
println!("answer: {}", f(20));
3483+
3484+
```
3485+
34473486
### Object types
34483487

34493488
Every trait item (see [traits](#traits)) defines a type with the same name as the trait.

branches/auto/src/etc/kate/rust.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
<RegExpr String="[0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?" attribute="Number" context="#stay"/>
203203
<RegExpr String="[0-9][0-9_]*&rustIntSuf;" attribute="Number" context="#stay"/>
204204
<Detect2Chars char="#" char1="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
205-
<Detect2Chars char="#" char1="!" char2="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
205+
<StringDetect String="#![" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
206206
<RegExpr String="&rustIdent;::" attribute="Scope"/>
207207
<RegExpr String="&rustIdent;!" attribute="Macro"/>
208208
<RegExpr String="&apos;&rustIdent;(?!&apos;)" attribute="Lifetime"/>

branches/auto/src/etc/zsh/_rust

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ _rustc_opts_switches=(
3636
--target'[Target triple cpu-manufacturer-kernel\[-os\] to compile]'
3737
--target-cpu'[Select target processor (llc -mcpu=help for details)]'
3838
--target-feature'[Target specific attributes (llc -mattr=help for details)]'
39+
--relocation-model'[Relocation model (llc --help for details)]'
3940
{-v,--version}'[Print version info and exit]'
4041
)
4142
_rustc_opts_lint=(
4243
'attribute-usage[detects bad use of attributes]'
43-
'ctypes[proper use of std::libc types in foreign modules]'
44+
'ctypes[proper use of libc types in foreign modules]'
4445
'dead-assignment[detect assignments that will never be read]'
4546
'dead-code[detect piece of code that will never be used]'
4647
'default-type-param-usage[prevents explicitly setting a type parameter with a default]'

branches/auto/src/libcollections/hashmap.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ use std::result::{Ok, Err};
3030
use std::slice::ImmutableVector;
3131

3232
mod table {
33+
extern crate libc;
34+
3335
use std::clone::Clone;
3436
use std::cmp::Eq;
3537
use std::hash::{Hash, Hasher};
3638
use std::kinds::marker;
37-
use std::libc;
3839
use std::num::CheckedMul;
3940
use std::option::{Option, Some, None};
4041
use std::prelude::Drop;

branches/auto/src/libflate/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ Simple compression
2626

2727
#[cfg(test)] #[phase(syntax, link)] extern crate log;
2828

29-
use std::libc::{c_void, size_t, c_int};
30-
use std::libc;
29+
extern crate libc;
30+
3131
use std::c_vec::CVec;
32+
use libc::{c_void, size_t, c_int};
3233

33-
pub mod rustrt {
34-
use std::libc::{c_int, c_void, size_t};
3534

35+
pub mod rustrt {
36+
use libc::{c_void, size_t, c_int};
3637
#[link(name = "miniz", kind = "static")]
3738
extern {
3839
pub fn tdefl_compress_mem_to_heap(psrc_buf: *c_void,

branches/auto/src/libgreen/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
#[cfg(test)] #[phase(syntax, link)] extern crate log;
200200
#[cfg(test)] extern crate rustuv;
201201
extern crate rand;
202+
extern crate libc;
202203

203204
use std::mem::replace;
204205
use std::os;

branches/auto/src/libgreen/macros.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ macro_rules! rtabort (
5252

5353
pub fn dumb_println(args: &fmt::Arguments) {
5454
use std::io;
55-
use std::libc;
55+
use libc;
5656

5757
struct Stderr;
5858
impl io::Writer for Stderr {

branches/auto/src/libgreen/sched.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,7 @@ fn new_sched_rng() -> XorShiftRng {
976976
}
977977
#[cfg(unix)]
978978
fn new_sched_rng() -> XorShiftRng {
979-
use std::libc;
979+
use libc;
980980
use std::mem;
981981
use rand::SeedableRng;
982982

branches/auto/src/libgreen/stack.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use std::rt::env::max_cached_stacks;
1212
use std::os::{errno, page_size, MemoryMap, MapReadable, MapWritable,
1313
MapNonStandardFlags, MapVirtual};
14-
use std::libc;
14+
use libc;
1515

1616
/// A task's stack. The name "Stack" is a vestige of segmented stacks.
1717
pub struct Stack {

0 commit comments

Comments
 (0)