Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 345f539

Browse files
committedApr 26, 2017
Update stage0 boostrap compiler
We've got a freshly minted beta compiler, let's update to use that on nightly! This has a few other changes associated with it as well * A bump to the rustc version number (to 1.19.0) * Movement of the `cargo` and `rls` submodules to their "proper" location in `src/tools/{cargo,rls}`. Now that Cargo workspaces support the `exclude` option this can work. * Updates of the `cargo` and `rls` submodules to their master branches. * Tweak to the `src/stage0.txt` format to be more amenable for Cargo version numbers. On the beta channel Cargo will bootstrap from a different version than rustc (e.g. the version numbers are different), so we need different configuration for this. * Addition of `dev` as a readable key in the `src/stage0.txt` format. If present then stage0 compilers are downloaded from `dev-static.rust-lang.org` instead of `static.rust-lang.org`. This is added to accomodate our updated release process with Travis and AppVeyor.
1 parent 2b4c911 commit 345f539

File tree

22 files changed

+75
-143
lines changed

22 files changed

+75
-143
lines changed
 

‎.gitmodules

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@
2222
path = src/doc/nomicon
2323
url = https://github.com/rust-lang-nursery/nomicon.git
2424
[submodule "src/tools/cargo"]
25-
path = cargo
26-
url = https://github.com/rust-lang/cargo.git
25+
path = src/tools/cargo
26+
url = https://github.com/rust-lang/cargo
2727
[submodule "reference"]
2828
path = src/doc/reference
2929
url = https://github.com/rust-lang-nursery/reference.git
3030
[submodule "book"]
3131
path = src/doc/book
3232
url = https://github.com/rust-lang/book.git
33-
[submodule "rls"]
34-
path = rls
35-
url = https://github.com/rust-lang-nursery/rls.git
36-
33+
[submodule "src/tools/rls"]
34+
path = src/tools/rls
35+
url = https://github.com/rust-lang-nursery/rls

‎cargo

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎rls

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎src/Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ members = [
1515
"tools/qemu-test-server",
1616
]
1717

18+
# These projects have their own Cargo.lock
19+
exclude = [
20+
"tools/cargo",
21+
"tools/rls",
22+
]
23+
1824
# Curiously, compiletest will segfault if compiled with opt-level=3 on 64-bit
1925
# MSVC when running the compile-fail test suite when a should-fail test panics.
2026
# But hey if this is removed and it gets past the bots, sounds good to me.

‎src/bootstrap/bootstrap.py

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -159,40 +159,41 @@ def format_build_time(duration):
159159
class RustBuild(object):
160160
def download_stage0(self):
161161
cache_dst = os.path.join(self.build_dir, "cache")
162-
rustc_cache = os.path.join(cache_dst, self.stage0_rustc_date())
162+
rustc_cache = os.path.join(cache_dst, self.stage0_date())
163163
if not os.path.exists(rustc_cache):
164164
os.makedirs(rustc_cache)
165165

166-
channel = self.stage0_rustc_channel()
166+
rustc_channel = self.stage0_rustc_channel()
167+
cargo_channel = self.stage0_cargo_channel()
167168

168169
if self.rustc().startswith(self.bin_root()) and \
169170
(not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
170171
self.print_what_it_means_to_bootstrap()
171172
if os.path.exists(self.bin_root()):
172173
shutil.rmtree(self.bin_root())
173-
filename = "rust-std-{}-{}.tar.gz".format(channel, self.build)
174-
url = "https://static.rust-lang.org/dist/" + self.stage0_rustc_date()
174+
filename = "rust-std-{}-{}.tar.gz".format(rustc_channel, self.build)
175+
url = self._download_url + "/dist/" + self.stage0_date()
175176
tarball = os.path.join(rustc_cache, filename)
176177
if not os.path.exists(tarball):
177178
get("{}/{}".format(url, filename), tarball, verbose=self.verbose)
178179
unpack(tarball, self.bin_root(),
179180
match="rust-std-" + self.build,
180181
verbose=self.verbose)
181182

182-
filename = "rustc-{}-{}.tar.gz".format(channel, self.build)
183-
url = "https://static.rust-lang.org/dist/" + self.stage0_rustc_date()
183+
filename = "rustc-{}-{}.tar.gz".format(rustc_channel, self.build)
184+
url = self._download_url + "/dist/" + self.stage0_date()
184185
tarball = os.path.join(rustc_cache, filename)
185186
if not os.path.exists(tarball):
186187
get("{}/{}".format(url, filename), tarball, verbose=self.verbose)
187188
unpack(tarball, self.bin_root(), match="rustc", verbose=self.verbose)
188189
self.fix_executable(self.bin_root() + "/bin/rustc")
189190
self.fix_executable(self.bin_root() + "/bin/rustdoc")
190191
with open(self.rustc_stamp(), 'w') as f:
191-
f.write(self.stage0_rustc_date())
192+
f.write(self.stage0_date())
192193

193194
if "pc-windows-gnu" in self.build:
194-
filename = "rust-mingw-{}-{}.tar.gz".format(channel, self.build)
195-
url = "https://static.rust-lang.org/dist/" + self.stage0_rustc_date()
195+
filename = "rust-mingw-{}-{}.tar.gz".format(rustc_channel, self.build)
196+
url = self._download_url + "/dist/" + self.stage0_date()
196197
tarball = os.path.join(rustc_cache, filename)
197198
if not os.path.exists(tarball):
198199
get("{}/{}".format(url, filename), tarball, verbose=self.verbose)
@@ -201,15 +202,15 @@ def download_stage0(self):
201202
if self.cargo().startswith(self.bin_root()) and \
202203
(not os.path.exists(self.cargo()) or self.cargo_out_of_date()):
203204
self.print_what_it_means_to_bootstrap()
204-
filename = "cargo-{}-{}.tar.gz".format(channel, self.build)
205-
url = "https://static.rust-lang.org/dist/" + self.stage0_rustc_date()
205+
filename = "cargo-{}-{}.tar.gz".format(cargo_channel, self.build)
206+
url = self._download_url + "/dist/" + self.stage0_date()
206207
tarball = os.path.join(rustc_cache, filename)
207208
if not os.path.exists(tarball):
208209
get("{}/{}".format(url, filename), tarball, verbose=self.verbose)
209210
unpack(tarball, self.bin_root(), match="cargo", verbose=self.verbose)
210211
self.fix_executable(self.bin_root() + "/bin/cargo")
211212
with open(self.cargo_stamp(), 'w') as f:
212-
f.write(self.stage0_rustc_date())
213+
f.write(self.stage0_date())
213214

214215
def fix_executable(self, fname):
215216
# If we're on NixOS we need to change the path to the dynamic loader
@@ -264,12 +265,15 @@ def fix_executable(self, fname):
264265
print("warning: failed to call patchelf: %s" % e)
265266
return
266267

267-
def stage0_rustc_date(self):
268-
return self._rustc_date
268+
def stage0_date(self):
269+
return self._date
269270

270271
def stage0_rustc_channel(self):
271272
return self._rustc_channel
272273

274+
def stage0_cargo_channel(self):
275+
return self._cargo_channel
276+
273277
def rustc_stamp(self):
274278
return os.path.join(self.bin_root(), '.rustc-stamp')
275279

@@ -280,13 +284,13 @@ def rustc_out_of_date(self):
280284
if not os.path.exists(self.rustc_stamp()) or self.clean:
281285
return True
282286
with open(self.rustc_stamp(), 'r') as f:
283-
return self.stage0_rustc_date() != f.read()
287+
return self.stage0_date() != f.read()
284288

285289
def cargo_out_of_date(self):
286290
if not os.path.exists(self.cargo_stamp()) or self.clean:
287291
return True
288292
with open(self.cargo_stamp(), 'r') as f:
289-
return self.stage0_rustc_date() != f.read()
293+
return self.stage0_date() != f.read()
290294

291295
def bin_root(self):
292296
return os.path.join(self.build_dir, self.build, "stage0")
@@ -572,7 +576,13 @@ def bootstrap():
572576
shutil.rmtree('.cargo')
573577

574578
data = stage0_data(rb.rust_root)
575-
rb._rustc_channel, rb._rustc_date = data['rustc'].split('-', 1)
579+
rb._date = data['date']
580+
rb._rustc_channel = data['rustc']
581+
rb._cargo_channel = data['cargo']
582+
if 'dev' in data:
583+
rb._download_url = 'https://dev-static.rust-lang.org'
584+
else:
585+
rb._download_url = 'https://static.rust-lang.org'
576586

577587
# Fetch/build the bootstrap
578588
rb.build = rb.build_triple()

‎src/bootstrap/channel.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use build_helper::output;
2323
use Build;
2424

2525
// The version number
26-
pub const CFG_RELEASE_NUM: &'static str = "1.18.0";
26+
pub const CFG_RELEASE_NUM: &'static str = "1.19.0";
2727

2828
// An optional number to put after the label, e.g. '.2' -> '-beta.2'
2929
// Be sure to make this starts with a dot to conform to semver pre-release

‎src/bootstrap/compile.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -442,10 +442,7 @@ pub fn tool(build: &Build, stage: u32, target: &str, tool: &str) {
442442
let compiler = Compiler::new(stage, &build.config.build);
443443

444444
let mut cargo = build.cargo(&compiler, Mode::Tool, target, "build");
445-
let mut dir = build.src.join(tool);
446-
if !dir.exists() {
447-
dir = build.src.join("src/tools").join(tool);
448-
}
445+
let dir = build.src.join("src/tools").join(tool);
449446
cargo.arg("--manifest-path").arg(dir.join("Cargo.toml"));
450447

451448
// We don't want to build tools dynamically as they'll be running across

‎src/bootstrap/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ impl Build {
234234
None => false,
235235
};
236236
let rust_info = channel::GitInfo::new(&src);
237-
let cargo_info = channel::GitInfo::new(&src.join("cargo"));
238-
let rls_info = channel::GitInfo::new(&src.join("rls"));
237+
let cargo_info = channel::GitInfo::new(&src.join("src/tools/cargo"));
238+
let rls_info = channel::GitInfo::new(&src.join("src/tools/rls"));
239239
let src_is_git = src.join(".git").exists();
240240

241241
Build {

‎src/bootstrap/metadata.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ fn build_krate(build: &mut Build, krate: &str) {
5858
// the dependency graph and what `-p` arguments there are.
5959
let mut cargo = Command::new(&build.cargo);
6060
cargo.arg("metadata")
61+
.arg("--format-version=1")
6162
.arg("--manifest-path").arg(build.src.join(krate).join("Cargo.toml"));
6263
let output = output(&mut cargo);
6364
let output: Output = json::decode(&output).unwrap();

‎src/liballoc/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
#![feature(needs_allocator)]
8888
#![feature(optin_builtin_traits)]
8989
#![feature(placement_in_syntax)]
90-
#![cfg_attr(stage0, feature(pub_restricted))]
9190
#![feature(shared)]
9291
#![feature(staged_api)]
9392
#![feature(unboxed_closures)]

‎src/libcore/intrinsics.rs

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
issue = "0")]
4747
#![allow(missing_docs)]
4848

49-
#[cfg(not(stage0))]
5049
#[stable(feature = "drop_in_place", since = "1.8.0")]
5150
#[rustc_deprecated(reason = "no longer an intrinsic - use `ptr::drop_in_place` directly",
5251
since = "1.18.0")]
@@ -645,27 +644,6 @@ extern "rust-intrinsic" {
645644
pub fn size_of_val<T: ?Sized>(_: &T) -> usize;
646645
pub fn min_align_of_val<T: ?Sized>(_: &T) -> usize;
647646

648-
#[cfg(stage0)]
649-
/// Executes the destructor (if any) of the pointed-to value.
650-
///
651-
/// This has two use cases:
652-
///
653-
/// * It is *required* to use `drop_in_place` to drop unsized types like
654-
/// trait objects, because they can't be read out onto the stack and
655-
/// dropped normally.
656-
///
657-
/// * It is friendlier to the optimizer to do this over `ptr::read` when
658-
/// dropping manually allocated memory (e.g. when writing Box/Rc/Vec),
659-
/// as the compiler doesn't need to prove that it's sound to elide the
660-
/// copy.
661-
///
662-
/// # Undefined Behavior
663-
///
664-
/// This has all the same safety problems as `ptr::read` with respect to
665-
/// invalid pointers, types, and double drops.
666-
#[stable(feature = "drop_in_place", since = "1.8.0")]
667-
pub fn drop_in_place<T: ?Sized>(to_drop: *mut T);
668-
669647
/// Gets a static string slice containing the name of a type.
670648
pub fn type_name<T: ?Sized>() -> &'static str;
671649

@@ -1261,11 +1239,9 @@ extern "rust-intrinsic" {
12611239

12621240
/// Performs an unchecked left shift, resulting in undefined behavior when
12631241
/// y < 0 or y >= N, where N is the width of T in bits.
1264-
#[cfg(not(stage0))]
12651242
pub fn unchecked_shl<T>(x: T, y: T) -> T;
12661243
/// Performs an unchecked right shift, resulting in undefined behavior when
12671244
/// y < 0 or y >= N, where N is the width of T in bits.
1268-
#[cfg(not(stage0))]
12691245
pub fn unchecked_shr<T>(x: T, y: T) -> T;
12701246

12711247
/// Returns (a + b) mod 2<sup>N</sup>, where N is the width of T in bits.

‎src/libcore/marker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ mod impls {
559559
/// any `UnsafeCell` internally, but not through an indirection.
560560
/// This affects, for example, whether a `static` of that type is
561561
/// placed in read-only static memory or writable static memory.
562-
#[cfg_attr(not(stage0), lang = "freeze")]
562+
#[lang = "freeze"]
563563
unsafe trait Freeze {}
564564

565565
unsafe impl Freeze for .. {}

‎src/libcore/num/mod.rs

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -778,21 +778,12 @@ macro_rules! int_impl {
778778
/// ```
779779
#[stable(feature = "num_wrapping", since = "1.2.0")]
780780
#[inline(always)]
781-
#[cfg(not(stage0))]
782781
pub fn wrapping_shl(self, rhs: u32) -> Self {
783782
unsafe {
784783
intrinsics::unchecked_shl(self, (rhs & ($BITS - 1)) as $SelfT)
785784
}
786785
}
787786

788-
/// Stage 0
789-
#[stable(feature = "num_wrapping", since = "1.2.0")]
790-
#[inline(always)]
791-
#[cfg(stage0)]
792-
pub fn wrapping_shl(self, rhs: u32) -> Self {
793-
self.overflowing_shl(rhs).0
794-
}
795-
796787
/// Panic-free bitwise shift-right; yields `self >> mask(rhs)`,
797788
/// where `mask` removes any high-order bits of `rhs` that
798789
/// would cause the shift to exceed the bitwidth of the type.
@@ -814,21 +805,12 @@ macro_rules! int_impl {
814805
/// ```
815806
#[stable(feature = "num_wrapping", since = "1.2.0")]
816807
#[inline(always)]
817-
#[cfg(not(stage0))]
818808
pub fn wrapping_shr(self, rhs: u32) -> Self {
819809
unsafe {
820810
intrinsics::unchecked_shr(self, (rhs & ($BITS - 1)) as $SelfT)
821811
}
822812
}
823813

824-
/// Stage 0
825-
#[stable(feature = "num_wrapping", since = "1.2.0")]
826-
#[inline(always)]
827-
#[cfg(stage0)]
828-
pub fn wrapping_shr(self, rhs: u32) -> Self {
829-
self.overflowing_shr(rhs).0
830-
}
831-
832814
/// Wrapping (modular) absolute value. Computes `self.abs()`,
833815
/// wrapping around at the boundary of the type.
834816
///
@@ -1039,19 +1021,10 @@ macro_rules! int_impl {
10391021
/// ```
10401022
#[inline]
10411023
#[stable(feature = "wrapping", since = "1.7.0")]
1042-
#[cfg(not(stage0))]
10431024
pub fn overflowing_shl(self, rhs: u32) -> (Self, bool) {
10441025
(self.wrapping_shl(rhs), (rhs > ($BITS - 1)))
10451026
}
10461027

1047-
/// Stage 0
1048-
#[inline]
1049-
#[stable(feature = "wrapping", since = "1.7.0")]
1050-
#[cfg(stage0)]
1051-
pub fn overflowing_shl(self, rhs: u32) -> (Self, bool) {
1052-
(self << (rhs & ($BITS - 1)), (rhs > ($BITS - 1)))
1053-
}
1054-
10551028
/// Shifts self right by `rhs` bits.
10561029
///
10571030
/// Returns a tuple of the shifted version of self along with a boolean
@@ -1070,19 +1043,10 @@ macro_rules! int_impl {
10701043
/// ```
10711044
#[inline]
10721045
#[stable(feature = "wrapping", since = "1.7.0")]
1073-
#[cfg(not(stage0))]
10741046
pub fn overflowing_shr(self, rhs: u32) -> (Self, bool) {
10751047
(self.wrapping_shr(rhs), (rhs > ($BITS - 1)))
10761048
}
10771049

1078-
/// Stage 0
1079-
#[inline]
1080-
#[stable(feature = "wrapping", since = "1.7.0")]
1081-
#[cfg(stage0)]
1082-
pub fn overflowing_shr(self, rhs: u32) -> (Self, bool) {
1083-
(self >> (rhs & ($BITS - 1)), (rhs > ($BITS - 1)))
1084-
}
1085-
10861050
/// Computes the absolute value of `self`.
10871051
///
10881052
/// Returns a tuple of the absolute version of self along with a
@@ -1946,21 +1910,12 @@ macro_rules! uint_impl {
19461910
/// ```
19471911
#[stable(feature = "num_wrapping", since = "1.2.0")]
19481912
#[inline(always)]
1949-
#[cfg(not(stage0))]
19501913
pub fn wrapping_shl(self, rhs: u32) -> Self {
19511914
unsafe {
19521915
intrinsics::unchecked_shl(self, (rhs & ($BITS - 1)) as $SelfT)
19531916
}
19541917
}
19551918

1956-
/// Stage 0
1957-
#[stable(feature = "num_wrapping", since = "1.2.0")]
1958-
#[inline(always)]
1959-
#[cfg(stage0)]
1960-
pub fn wrapping_shl(self, rhs: u32) -> Self {
1961-
self.overflowing_shl(rhs).0
1962-
}
1963-
19641919
/// Panic-free bitwise shift-right; yields `self >> mask(rhs)`,
19651920
/// where `mask` removes any high-order bits of `rhs` that
19661921
/// would cause the shift to exceed the bitwidth of the type.
@@ -1982,21 +1937,12 @@ macro_rules! uint_impl {
19821937
/// ```
19831938
#[stable(feature = "num_wrapping", since = "1.2.0")]
19841939
#[inline(always)]
1985-
#[cfg(not(stage0))]
19861940
pub fn wrapping_shr(self, rhs: u32) -> Self {
19871941
unsafe {
19881942
intrinsics::unchecked_shr(self, (rhs & ($BITS - 1)) as $SelfT)
19891943
}
19901944
}
19911945

1992-
/// Stage 0
1993-
#[stable(feature = "num_wrapping", since = "1.2.0")]
1994-
#[inline(always)]
1995-
#[cfg(stage0)]
1996-
pub fn wrapping_shr(self, rhs: u32) -> Self {
1997-
self.overflowing_shr(rhs).0
1998-
}
1999-
20001946
/// Calculates `self` + `rhs`
20011947
///
20021948
/// Returns a tuple of the addition along with a boolean indicating
@@ -2160,19 +2106,10 @@ macro_rules! uint_impl {
21602106
/// ```
21612107
#[inline]
21622108
#[stable(feature = "wrapping", since = "1.7.0")]
2163-
#[cfg(not(stage0))]
21642109
pub fn overflowing_shl(self, rhs: u32) -> (Self, bool) {
21652110
(self.wrapping_shl(rhs), (rhs > ($BITS - 1)))
21662111
}
21672112

2168-
/// Stage 0
2169-
#[inline]
2170-
#[stable(feature = "wrapping", since = "1.7.0")]
2171-
#[cfg(stage0)]
2172-
pub fn overflowing_shl(self, rhs: u32) -> (Self, bool) {
2173-
(self << (rhs & ($BITS - 1)), (rhs > ($BITS - 1)))
2174-
}
2175-
21762113
/// Shifts self right by `rhs` bits.
21772114
///
21782115
/// Returns a tuple of the shifted version of self along with a boolean
@@ -2191,20 +2128,11 @@ macro_rules! uint_impl {
21912128
/// ```
21922129
#[inline]
21932130
#[stable(feature = "wrapping", since = "1.7.0")]
2194-
#[cfg(not(stage0))]
21952131
pub fn overflowing_shr(self, rhs: u32) -> (Self, bool) {
21962132
(self.wrapping_shr(rhs), (rhs > ($BITS - 1)))
21972133

21982134
}
21992135

2200-
/// Stage 0
2201-
#[inline]
2202-
#[stable(feature = "wrapping", since = "1.7.0")]
2203-
#[cfg(stage0)]
2204-
pub fn overflowing_shr(self, rhs: u32) -> (Self, bool) {
2205-
(self >> (rhs & ($BITS - 1)), (rhs > ($BITS - 1)))
2206-
}
2207-
22082136
/// Raises self to the power of `exp`, using exponentiation by squaring.
22092137
///
22102138
/// # Examples

‎src/libcore/ptr.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,6 @@ pub use intrinsics::copy;
3737
#[stable(feature = "rust1", since = "1.0.0")]
3838
pub use intrinsics::write_bytes;
3939

40-
#[cfg(stage0)]
41-
#[stable(feature = "drop_in_place", since = "1.8.0")]
42-
pub use intrinsics::drop_in_place;
43-
44-
#[cfg(not(stage0))]
4540
/// Executes the destructor (if any) of the pointed-to value.
4641
///
4742
/// This has two use cases:

‎src/librustc/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#![feature(loop_break_value)]
3535
#![feature(never_type)]
3636
#![feature(nonzero)]
37-
#![cfg_attr(stage0, feature(pub_restricted))]
3837
#![feature(quote)]
3938
#![feature(rustc_diagnostic_macros)]
4039
#![feature(rustc_private)]

‎src/librustc_incremental/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#![feature(rand)]
2525
#![feature(conservative_impl_trait)]
2626
#![feature(sort_unstable)]
27-
#![cfg_attr(stage0, feature(pub_restricted))]
2827

2928
extern crate graphviz;
3029
#[macro_use] extern crate rustc;

‎src/libstd/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,6 @@
318318
#![feature(unwind_attributes)]
319319
#![feature(vec_push_all)]
320320
#![cfg_attr(test, feature(update_panic_count))]
321-
#![cfg_attr(stage0, feature(pub_restricted))]
322321
#![cfg_attr(test, feature(float_bits_conv))]
323322

324323
// Explicitly import the prelude. The compiler uses this same unstable attribute

‎src/rtstartup/rsbegin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ trait Sync {}
3434
impl Sync for .. {}
3535
#[lang = "copy"]
3636
trait Copy {}
37-
#[cfg_attr(not(stage0), lang = "freeze")]
37+
#[lang = "freeze"]
3838
trait Freeze {}
3939
impl Freeze for .. {}
4040

‎src/stage0.txt

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,30 @@
88
# release.
99
#
1010
# If you're looking at this file on the master branch, you'll likely see that
11-
# rustc bootstraps from `beta-$date`, whereas if you're looking at a source
12-
# tarball for a stable release you'll likely see `1.x.0-$date` where `1.x.0` was
13-
# released on `$date`
11+
# rustc and cargo are configured to `beta`, whereas if you're looking at a
12+
# source tarball for a stable release you'll likely see `1.x.0` for rustc and
13+
# `0.x.0` for Cargo where they were released on `date`.
1414

15-
rustc: beta-2017-04-05
15+
date: 2017-04-25
16+
rustc: beta
17+
cargo: beta
18+
19+
# When making a stable release the process currently looks like:
20+
#
21+
# 1. Produce stable build, upload it to dev-static
22+
# 2. Produce a beta build from the previous stable build, upload to static
23+
# 3. Produce a nightly build from previous beta, upload to static
24+
# 4. Upload stable build to static, publish full release
25+
#
26+
# This means that there's a small window of time (a few days) where artifacts
27+
# are downloaded from dev-static.rust-lang.org instead of static.rust-lang.org.
28+
# In order to ease this transition we have an extra key is in this configuration
29+
# file below. When uncommented this will instruct the bootstrap.py script to
30+
# download from dev-static.rust-lang.org.
31+
#
32+
# This key is typically commented out at all times. If you're looking at a
33+
# stable release tarball it should *definitely* be commented out. If you're
34+
# looking at a beta source tarball and it's uncommented we'll shortly comment it
35+
# out.
36+
37+
#dev: 1

‎src/tools/cargo

Submodule cargo added at 6c510b0

‎src/tools/rls

Submodule rls added at f4e74d2

‎src/tools/tidy/src/main.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ fn filter_dirs(path: &Path) -> bool {
8585
"src/liblibc",
8686
"src/vendor",
8787
"src/rt/hoedown",
88+
"src/tools/cargo",
89+
"src/tools/rls",
8890
];
8991
skip.iter().any(|p| path.ends_with(p))
9092
}

0 commit comments

Comments
 (0)
Please sign in to comment.