Skip to content

Commit 944e350

Browse files
committed
---
yaml --- r: 55261 b: refs/heads/master c: e4edfa0 h: refs/heads/master i: 55259: 882f046 v: v3
1 parent 0e78f3a commit 944e350

File tree

14 files changed

+681
-584
lines changed

14 files changed

+681
-584
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: a3e2d6ea81b93bf41b4387be935b5f488e47ef73
2+
refs/heads/master: e4edfa046af08a345c607ec9c80426d9eabc7c82
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 79a2b2eafc3c766cecec8a5f76317693bae9ed17
55
refs/heads/try: 8eb2bab100b42f0ba751552d8eff00eb2134c55a

trunk/COPYRIGHT

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ terms.
66

77
Longer version:
88

9-
The Rust Project is copyright 2012, The Rust Project
9+
The Rust Project is copyright 2013, The Rust Project
1010
Developers (given in the file AUTHORS.txt).
1111

1212
Licensed under the Apache License, Version 2.0
@@ -257,7 +257,7 @@ their own copyright notices and license terms:
257257
* LLVM and Clang. Code for this package is found in
258258
src/llvm.
259259

260-
Copyright (c) 2003-2012 University of Illinois at
260+
Copyright (c) 2003-2013 University of Illinois at
261261
Urbana-Champaign. All rights reserved.
262262

263263
Developed by:

trunk/LICENSE-MIT

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright (c) 2006-2012 Graydon Hoare
2-
Copyright (c) 2009-2012 Mozilla Foundation
1+
Copyright (c) 2006-2009 Graydon Hoare
2+
Copyright (c) 2009-2013 Mozilla Foundation
33

44
Permission is hereby granted, free of charge, to any
55
person obtaining a copy of this software and associated

trunk/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ packages:
4242
Assuming you're on a relatively modern *nix system and have met the
4343
prerequisites, something along these lines should work.
4444

45-
$ curl -O http://static.rust-lang.org/dist/rust-0.5.tar.gz
46-
$ tar -xzf rust-0.5.tar.gz
47-
$ cd rust-0.5
45+
$ curl -O http://static.rust-lang.org/dist/rust-0.6.tar.gz
46+
$ tar -xzf rust-0.6.tar.gz
47+
$ cd rust-0.6
4848
$ ./configure
4949
$ make && make install
5050

@@ -59,8 +59,8 @@ When complete, `make install` will place several programs into
5959
API-documentation tool, and `rustpkg`, the Rust package manager and build system.
6060

6161
[wiki-start]: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
62-
[tarball]: http://static.rust-lang.org/dist/rust-0.5.tar.gz
63-
[win-exe]: http://static.rust-lang.org/dist/rust-0.5-install.exe
62+
[tarball]: http://static.rust-lang.org/dist/rust-0.6.tar.gz
63+
[win-exe]: http://static.rust-lang.org/dist/rust-0.6-install.exe
6464

6565

6666
## License

trunk/doc/rust.md

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1420,13 +1420,111 @@ names are effectively reserved. Some significant attributes include:
14201420

14211421
* The `doc` attribute, for documenting code in-place.
14221422
* The `cfg` attribute, for conditional-compilation by build-configuration.
1423+
* The `lang` attribute, for custom definitions of traits and functions that are known to the Rust compiler (see [Language items](#language-items)).
14231424
* The `link` attribute, for describing linkage metadata for a crate.
14241425
* The `test` attribute, for marking functions as unit tests.
1425-
* The `allow`, `warn`, `forbid`, and `deny` attributes, for controling lint checks. Lint checks supported
1426+
* The `allow`, `warn`, `forbid`, and `deny` attributes, for controlling lint checks. Lint checks supported
14261427
by the compiler can be found via `rustc -W help`.
14271428

14281429
Other attributes may be added or removed during development of the language.
14291430

1431+
### Language items
1432+
1433+
Some primitive Rust operations are defined in Rust code,
1434+
rather than being implemented directly in C or assembly language.
1435+
The definitions of these operations have to be easy for the compiler to find.
1436+
The `lang` attribute makes it possible to declare these operations.
1437+
For example, the `str` module in the Rust core library defines the string equality function:
1438+
1439+
~~~ {.xfail-test}
1440+
#[lang="str_eq"]
1441+
pub fn eq_slice(a: &str, b: &str) -> bool {
1442+
// details elided
1443+
}
1444+
~~~
1445+
1446+
The name `str_eq` has a special meaning to the Rust compiler,
1447+
and the presence of this definition means that it will use this definition
1448+
when generating calls to the string equality function.
1449+
1450+
A complete list of the built-in language items follows:
1451+
1452+
#### Traits
1453+
1454+
`const`
1455+
: Cannot be mutated.
1456+
`copy`
1457+
: Can be implicitly copied.
1458+
`owned`
1459+
: Are uniquely owned.
1460+
`durable`
1461+
: Contain borrowed pointers.
1462+
`drop`
1463+
: Have finalizers.
1464+
`add`
1465+
: Elements can be added (for example, integers and floats).
1466+
`sub`
1467+
: Elements can be subtracted.
1468+
`mul`
1469+
: Elements can be multiplied.
1470+
`div`
1471+
: Elements can be divided.
1472+
`mod`
1473+
: Elements have a modulo operation.
1474+
`neg`
1475+
: Elements can be negated arithmetically.
1476+
`not`
1477+
: Elements can be negated logically.
1478+
`bitxor`
1479+
: Elements have an exclusive-or operation.
1480+
`bitand`
1481+
: Elements have a bitwise `and` operation.
1482+
`bitor`
1483+
: Elements have a bitwise `or` operation.
1484+
`shl`
1485+
: Elements have a left shift operation.
1486+
`shr`
1487+
: Elements have a right shift operation.
1488+
`index`
1489+
: Elements can be indexed.
1490+
`eq`
1491+
: Elements can be compared for equality.
1492+
`ord`
1493+
: Elements have a partial ordering.
1494+
1495+
#### Operations
1496+
1497+
`str_eq`
1498+
: Compare two strings for equality.
1499+
`uniq_str_eq`
1500+
: Compare two owned strings for equality.
1501+
`annihilate`
1502+
: Destroy a box before freeing it.
1503+
`log_type`
1504+
: Generically print a string representation of any type.
1505+
`fail_`
1506+
: Abort the program with an error.
1507+
`fail_bounds_check`
1508+
: Abort the program with a bounds check error.
1509+
`exchange_malloc`
1510+
: Allocate memory on the exchange heap.
1511+
`exchange_free`
1512+
: Free memory that was allocated on the exchange heap.
1513+
`malloc`
1514+
: Allocate memory on the managed heap.
1515+
`free`
1516+
: Free memory that was allocated on the managed heap.
1517+
`borrow_as_imm`
1518+
: Create an immutable borrowed pointer to a mutable value.
1519+
`return_to_mut`
1520+
: Release a borrowed pointer created with `return_to_mut`
1521+
`check_not_borrowed`
1522+
: Fail if a value has existing borrowed pointers to it.
1523+
`strdup_uniq`
1524+
: Return a new unique string containing a copy of the contents of a unique string.
1525+
1526+
> **Note:** This list is likely to become out of date. We should auto-generate it
1527+
> from `librustc/middle/lang_items.rs`.
14301528
14311529
# Statements and expressions
14321530

trunk/doc/tutorial.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ If you've fulfilled those prerequisites, something along these lines
9999
should work.
100100

101101
~~~~ {.notrust}
102-
$ curl -O http://static.rust-lang.org/dist/rust-0.5.tar.gz
103-
$ tar -xzf rust-0.5.tar.gz
104-
$ cd rust-0.5
102+
$ curl -O http://static.rust-lang.org/dist/rust-0.6.tar.gz
103+
$ tar -xzf rust-0.6.tar.gz
104+
$ cd rust-0.6
105105
$ ./configure
106106
$ make && make install
107107
~~~~
@@ -119,8 +119,8 @@ API-documentation tool; `rustpkg`, the Rust package manager;
119119
interface for them, and for a few common command line scenarios.
120120

121121
[wiki-start]: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
122-
[tarball]: http://static.rust-lang.org/dist/rust-0.5.tar.gz
123-
[win-exe]: http://static.rust-lang.org/dist/rust-0.5-install.exe
122+
[tarball]: http://static.rust-lang.org/dist/rust-0.6.tar.gz
123+
[win-exe]: http://static.rust-lang.org/dist/rust-0.6-install.exe
124124

125125
## Compiling your first program
126126

trunk/src/etc/pkg/rust.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
SetupIconFile=rust-logo.ico
66
AppName=Rust
77
AppVersion={#CFG_VERSION}
8-
AppCopyright=Copyright (C) 2006-2012 Mozilla Foundation, MIT license
8+
AppCopyright=Copyright (C) 2006-2013 Mozilla Foundation, MIT license
99
AppPublisher=Mozilla Foundation
1010
AppPublisherURL=http://www.rust-lang.org
1111
VersionInfoVersion={#CFG_VERSION}

trunk/src/libcore/core.rc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ pub mod rand;
212212
pub mod run;
213213
pub mod sys;
214214
pub mod cast;
215-
pub mod mutable;
216215
pub mod flate;
217216
pub mod repr;
218217
pub mod cleanup;

0 commit comments

Comments
 (0)