Skip to content

Commit 69cb1f1

Browse files
committed
---
yaml --- r: 150459 b: refs/heads/try2 c: 1217cfb h: refs/heads/master i: 150457: 3c19b31 150455: d9501a8 v: v3
1 parent 27b6768 commit 69cb1f1

File tree

306 files changed

+3226
-3116
lines changed

Some content is hidden

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

306 files changed

+3226
-3116
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 5e12e1b1a49134f578e1778f4a1216221417bc5e
8+
refs/heads/try2: 1217cfb9e7e449c9ef5ee0844e7d3be324648f02
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/RELEASES.txt

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,161 @@
1+
Version 0.10 (April 2014)
2+
-------------------------
3+
4+
* ~1500 changes, numerous bugfixes
5+
6+
* Language
7+
* A new RFC process is now in place for modifying the language.
8+
* Patterns with `@`-pointers have been removed from the language.
9+
* Patterns with unique vectors have been removed from the language.
10+
* `@str` has been removed from the language.
11+
* `@[T]` has been removed from the language.
12+
* `@self` has been removed from the language.
13+
* `@Trait` has been removed from the language.
14+
* Headers on `~` allocations which contain `@` boxes inside the type for
15+
reference counting have been removed.
16+
* The semantics around the lifetimes of temporary expressions have changed,
17+
see #3511 and #11585 for more information.
18+
* Cross-crate syntax extensions are now possible, but feature gated. See
19+
#11151 for more information. This includes both `macro_rules!` macros as
20+
well as syntax extensions such as `format!`.
21+
* New lint modes have been added, and older ones have been turned on to be
22+
warn-by-default.
23+
* Unnecessary parentheses
24+
* Uppercase statics
25+
* Camel Case types
26+
* Uppercase variables
27+
* Publicly visible private types
28+
* Unsafe functions can no longer be coerced to closures.
29+
* Various obscure macros such as `log_syntax!` are now behind feature gates.
30+
* The #[simd] attribute is now behind a feature gate.
31+
* Visibility is no longer allowed on `extern crate` statements, and
32+
unnecessary visibility (`priv`) is no longer allowed on `use` statements.
33+
* Trailing commas are now allowed in argument lists and tuple patterns.
34+
* The `do` keyword has been removed, it is now a reserved keyword.
35+
* Default type parameters have been implemented, but are feature gated.
36+
* Borrowed variables through captures in closures are now considered soundly.
37+
* `extern mod` is now `extern crate`
38+
* The `Freeze` trait has been removed.
39+
* The `Share` trait has been added for types that can be shared among
40+
threads.
41+
* Labels in macros are now hygienic.
42+
* Expresson/statement macro invocations can be delimited with `{}` now.
43+
* Treatment of types allowed in `static mut` locations has been tweaked.
44+
* The `*` and `.` operators are now overloadable through the `Deref` and
45+
`DerefMut` traits.
46+
* `~Trait` and `proc` no longer have `Send` bounds by default.
47+
* Partial type hints are now supported with the `_` type marker.
48+
* An `Unsafe` type was introduced for interior mutability. It is now
49+
considered undefined to transmute from `&T` to `&mut T` without using the
50+
`Unsafe` type.
51+
* The #[linkage] attribute was implemented for extern statics/functions.
52+
* The inner attribute syntax has changed from `#[foo];` to `#![foo]`.
53+
* `Pod` was renamed to `Copy`.
54+
55+
* Libraries
56+
* The `libextra` library has been removed. It has now been decomposed into
57+
component libraries with smaller and more focused nuggets of
58+
functionality. The full list of libraries can be found on the
59+
documentation index page.
60+
* std: `std::condition` has been removed. All I/O errors are now propagated
61+
through the `Result` type. In order to assist with error handling, a
62+
`try!` macro for unwrapping errors with an early return and an lint for
63+
unused results has been added. See #12039 for more information.
64+
* std: The `vec` module has been renamed to `slice`.
65+
* std: A new vector type, `Vec<T>`, has been added in preparation for DST.
66+
This will become the only growable vector in the future.
67+
* std: `std::io` now has more public-reexports. Types such as `BufferedReader`
68+
are now found at `std::io::BufferedReader` instead of
69+
`std::io::buffered::BufferedReader`.
70+
* std: `print` and `println` are no longer in the prelude, the `print!` and
71+
`println!` macros are intended to be used instead.
72+
* std: `Rc` now has a `Weak` pointer for breaking cycles, and it no longer
73+
attempts to statically prevent cycles.
74+
* std: The standard distribution is adopting the policy of pushing failure
75+
to the user rather than failing in libraries. Many functions (such as
76+
`slice::last()`) now return `Option<T>` instead of `T` + failing.
77+
* std: `fmt::Default` has been renamed to `fmt::Show`, and it now has a new
78+
deriving mode: `#[deriving(Show)]`.
79+
* std: `ToStr` is now implemented for all types implementing `Show`.
80+
* std: The formatting trait methods now take `&self` instead of `&T`
81+
* std: The `invert()` method on iterators has been renamed to `rev()`
82+
* std: `std::num` has seen a reduction in the genericity of its traits,
83+
consolidating functionality into a few core traits.
84+
* std: Backtraces are now printed on task failure if the environment
85+
variable `RUST_BACKTRACE` is present.
86+
* std: Naming conventions for iterators have been standardized. More details
87+
can be found on the wiki's style guide.
88+
* std: `eof()` has been removed from the `Reader` trait. Specific types may
89+
still implement the function.
90+
* std: Networking types are now cloneable to allow simultaneous reads/writes.
91+
* std: `assert_approx_eq!` has been removed
92+
* std: The `e` and `E` formatting specifiers for floats have been added to
93+
print them in exponential notation.
94+
* std: The `Times` trait has been removed
95+
* std: Indications of variance and opting out of builtin bounds is done
96+
through marker types in `std::kinds::marker` now
97+
* std: `hash` has been rewritten, `IterBytes` has been removed, and
98+
`#[deriving(Hash)]` is now possible.
99+
* std: `SharedChan` has been removed, `Sender` is now cloneable.
100+
* std: `Chan` and `Port` were renamed to `Sender` and `Receiver`.
101+
* std: `Chan::new` is now `channel()`.
102+
* std: A new synchronous channel type has been implemented.
103+
* std: A `select!` macro is now provided for selecting over `Receiver`s.
104+
* std: `hashmap` and `trie` have been moved to `libcollections`
105+
* std: `run` has been rolled into `io::process`
106+
* std: `assert_eq!` now uses `{}` instead of `{:?}`
107+
* std: The equality and comparison traits have seen some reorganization.
108+
* std: `rand` has moved to `librand`.
109+
* std: `to_{lower,upper}case` has been implemented for `char`.
110+
* std: Logging has been moved to `liblog`.
111+
* collections: `HashMap` has been rewritten for higher performance and less
112+
memory usage.
113+
* native: The default runtime is now `libnative`. If `libgreen` is desired,
114+
it can be booted manually. The runtime guide has more information and
115+
examples.
116+
* native: All I/O functionality except signals has been implemented.
117+
* green: Task spawning with `libgreen` has been optimized with stack caching
118+
and various trimming of code.
119+
* green: Tasks spawned by `libgreen` now have an unmapped guard page.
120+
* sync: The `extra::sync` module has been updated to modern rust (and moved
121+
to the `sync` library), tweaking and improving various interfaces while
122+
dropping redundant functionality.
123+
* sync: A new `Barrier` type has been added to the `sync` library.
124+
* sync: An efficient mutex for native and green tasks has been implemented.
125+
* serialize: The `base64` module has seen some improvement. It treats
126+
newlines better, has non-string error values, and has seen general
127+
cleanup.
128+
* fourcc: A `fourcc!` macro was introduced
129+
* hexfloat: A `hexfloat!` macro was implemented for specifying floats via a
130+
hexadecimal literal.
131+
132+
* Tooling
133+
* `rustpkg` has been deprecated and removed from the main repository. Its
134+
replacement, `cargo`, is under development.
135+
* Nightly builds of rust are now available (INSERT URL HERE)
136+
* The memory usage of rustc has been improved many times throughout this
137+
release cycle.
138+
* The build process supports disabling rpath support for the rustc binary
139+
itself.
140+
* Code generation has improved in some cases, giving more information to the
141+
LLVM optimization passes to enable more extensive optimizations.
142+
* Debuginfo compatibility with lldb on OSX has been restored.
143+
* The master branch is now gated on an android bot, making building for
144+
android much more reliable.
145+
* Output flags have been centralized into one `--emit` flag.
146+
* Crate type flags have been centralized into one `--crate-type` flag.
147+
* Codegen flags have been consolidated behind a `-C` flag.
148+
* `rustdoc` now implements syntax highlighting and rendering markdown files.
149+
* `rustdoc --test` now tests all code blocks by default.
150+
* `rustdoc` now shows documented macros.
151+
* `rustdoc` inlines documentation for reexported types.
152+
* `rustdoc` search works across crates now.
153+
* Linking against outdated crates now has improved error messages.
154+
* Error messages with lifetimes will often suggest how to annotate the
155+
function to fix the error.
156+
* Many more types are documented in the standard library, and new guides
157+
were written.
158+
1159
Version 0.9 (January 2014)
2160
--------------------------
3161

branches/try2/mk/dist.mk

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ PKG_FILES := \
5353
driver \
5454
etc \
5555
$(foreach crate,$(CRATES),lib$(crate)) \
56+
libbacktrace \
5657
rt \
5758
rustllvm \
5859
snapshots.txt \
@@ -78,6 +79,7 @@ $(PKG_TAR): $(PKG_FILES)
7879
--exclude=*/llvm/test/*/*/*.td \
7980
--exclude=*/llvm/test/*/*/*.s \
8081
-c $(UNROOTED_PKG_FILES) | tar -x -C tmp/dist/$(PKG_NAME)
82+
@$(call E, making $@)
8183
$(Q)tar -czf $(PKG_TAR) -C tmp/dist $(PKG_NAME)
8284
$(Q)rm -Rf tmp/dist/$(PKG_NAME)
8385

@@ -247,6 +249,7 @@ distcheck-tar-bins: dist-tar-bins
247249
$(Q)mkdir -p tmp/distcheck/tarbininstall
248250
$(Q)sh tmp/distcheck/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix=tmp/distcheck/tarbininstall
249251
$(Q)tmp/distcheck/tarbininstall/bin/rustc --version
252+
$(Q)sh tmp/distcheck/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix=tmp/distcheck/tarbininstall --uninstall
250253
$(Q)rm -Rf tmp/distcheck/$(PKG_NAME)-$(CFG_BUILD)
251254
$(Q)rm -Rf tmp/distcheck/tarbininstall
252255

@@ -280,9 +283,19 @@ distcheck: distcheck-win
280283

281284
else
282285

283-
dist: dist-tar-src dist-osx dist-tar-bins dist-docs
286+
# FIXME #13224: On OS X don't produce tarballs simply because --exclude-vcs don't work.
287+
# This is a huge hack because I just don't have time to figure out another solution.
288+
ifeq ($(CFG_OSTYPE), apple-darwin)
289+
MAYBE_DIST_TAR_SRC=
290+
MAYBE_DISTCHECK_TAR_SRC=
291+
else
292+
MAYBE_DIST_TAR_SRC=dist-tar-src
293+
MAYBE_DISTCHECK_TAR_SRC=distcheck-tar-src
294+
endif
295+
296+
dist: $(MAYBE_DIST_TAR_SRC) dist-osx dist-tar-bins dist-docs
284297

285-
distcheck: distcheck-tar-src distcheck-osx distcheck-tar-bins distcheck-docs
298+
distcheck: $(MAYBE_DISTCHECK_TAR_SRC) distcheck-osx distcheck-tar-bins distcheck-docs
286299
$(Q)rm -Rf tmp/distcheck
287300
@echo
288301
@echo -----------------------------------------------

branches/try2/src/compiletest/common.rs

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,87 +21,87 @@ pub enum mode {
2121
#[deriving(Clone)]
2222
pub struct config {
2323
// The library paths required for running the compiler
24-
compile_lib_path: ~str,
24+
pub compile_lib_path: ~str,
2525

2626
// The library paths required for running compiled programs
27-
run_lib_path: ~str,
27+
pub run_lib_path: ~str,
2828

2929
// The rustc executable
30-
rustc_path: Path,
30+
pub rustc_path: Path,
3131

3232
// The clang executable
33-
clang_path: Option<Path>,
33+
pub clang_path: Option<Path>,
3434

3535
// The llvm binaries path
36-
llvm_bin_path: Option<Path>,
36+
pub llvm_bin_path: Option<Path>,
3737

3838
// The directory containing the tests to run
39-
src_base: Path,
39+
pub src_base: Path,
4040

4141
// The directory where programs should be built
42-
build_base: Path,
42+
pub build_base: Path,
4343

4444
// Directory for auxiliary libraries
45-
aux_base: Path,
45+
pub aux_base: Path,
4646

4747
// The name of the stage being built (stage1, etc)
48-
stage_id: ~str,
48+
pub stage_id: ~str,
4949

5050
// The test mode, compile-fail, run-fail, run-pass
51-
mode: mode,
51+
pub mode: mode,
5252

5353
// Run ignored tests
54-
run_ignored: bool,
54+
pub run_ignored: bool,
5555

5656
// Only run tests that match this filter
57-
filter: Option<~str>,
57+
pub filter: Option<~str>,
5858

5959
// Write out a parseable log of tests that were run
60-
logfile: Option<Path>,
60+
pub logfile: Option<Path>,
6161

6262
// Write out a json file containing any metrics of the run
63-
save_metrics: Option<Path>,
63+
pub save_metrics: Option<Path>,
6464

6565
// Write and ratchet a metrics file
66-
ratchet_metrics: Option<Path>,
66+
pub ratchet_metrics: Option<Path>,
6767

6868
// Percent change in metrics to consider noise
69-
ratchet_noise_percent: Option<f64>,
69+
pub ratchet_noise_percent: Option<f64>,
7070

71-
// "Shard" of the testsuite to run: this has the form of
71+
// "Shard" of the testsuite to pub run: this has the form of
7272
// two numbers (a,b), and causes only those tests with
7373
// positional order equal to a mod b to run.
74-
test_shard: Option<(uint,uint)>,
74+
pub test_shard: Option<(uint,uint)>,
7575

7676
// A command line to prefix program execution with,
7777
// for running under valgrind
78-
runtool: Option<~str>,
78+
pub runtool: Option<~str>,
7979

8080
// Flags to pass to the compiler when building for the host
81-
host_rustcflags: Option<~str>,
81+
pub host_rustcflags: Option<~str>,
8282

8383
// Flags to pass to the compiler when building for the target
84-
target_rustcflags: Option<~str>,
84+
pub target_rustcflags: Option<~str>,
8585

8686
// Run tests using the JIT
87-
jit: bool,
87+
pub jit: bool,
8888

8989
// Target system to be tested
90-
target: ~str,
90+
pub target: ~str,
9191

9292
// Host triple for the compiler being invoked
93-
host: ~str,
93+
pub host: ~str,
9494

9595
// Extra parameter to run adb on arm-linux-androideabi
96-
adb_path: ~str,
96+
pub adb_path: ~str,
9797

9898
// Extra parameter to run test sute on arm-linux-androideabi
99-
adb_test_dir: ~str,
99+
pub adb_test_dir: ~str,
100100

101101
// status whether android device available or not
102-
adb_device_status: bool,
102+
pub adb_device_status: bool,
103103

104104
// Explain what's going on
105-
verbose: bool
105+
pub verbose: bool
106106

107107
}

branches/try2/src/compiletest/errors.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010

1111
use std::io::{BufferedReader, File};
1212

13-
pub struct ExpectedError { line: uint, kind: ~str, msg: ~str }
13+
pub struct ExpectedError {
14+
pub line: uint,
15+
pub kind: ~str,
16+
pub msg: ~str,
17+
}
1418

1519
// Load any test directives embedded in the file
1620
pub fn load_errors(testfile: &Path) -> Vec<ExpectedError> {

branches/try2/src/compiletest/header.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,26 @@ use util;
1414

1515
pub struct TestProps {
1616
// Lines that should be expected, in order, on standard out
17-
error_patterns: Vec<~str> ,
17+
pub error_patterns: Vec<~str> ,
1818
// Extra flags to pass to the compiler
19-
compile_flags: Option<~str>,
19+
pub compile_flags: Option<~str>,
2020
// If present, the name of a file that this test should match when
2121
// pretty-printed
22-
pp_exact: Option<Path>,
22+
pub pp_exact: Option<Path>,
2323
// Modules from aux directory that should be compiled
24-
aux_builds: Vec<~str> ,
24+
pub aux_builds: Vec<~str> ,
2525
// Environment settings to use during execution
26-
exec_env: Vec<(~str,~str)> ,
26+
pub exec_env: Vec<(~str,~str)> ,
2727
// Commands to be given to the debugger, when testing debug info
28-
debugger_cmds: Vec<~str> ,
28+
pub debugger_cmds: Vec<~str> ,
2929
// Lines to check if they appear in the expected debugger output
30-
check_lines: Vec<~str> ,
30+
pub check_lines: Vec<~str> ,
3131
// Flag to force a crate to be built with the host architecture
32-
force_host: bool,
32+
pub force_host: bool,
3333
// Check stdout for error-pattern output as well as stderr
34-
check_stdout: bool,
34+
pub check_stdout: bool,
3535
// Don't force a --crate-type=dylib flag on the command line
36-
no_prefer_dynamic: bool,
36+
pub no_prefer_dynamic: bool,
3737
}
3838

3939
// Load any test directives embedded in the file

0 commit comments

Comments
 (0)