Skip to content

Commit 3a787d5

Browse files
committed
---
yaml --- r: 140885 b: refs/heads/try2 c: d204cfd h: refs/heads/master i: 140883: 06f3e8c v: v3
1 parent 6a31321 commit 3a787d5

File tree

304 files changed

+4724
-4641
lines changed

Some content is hidden

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

304 files changed

+4724
-4641
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: cf8341fc9e1c18c973a6744ecd7ebb97adbd3025
8+
refs/heads/try2: d204cfd739bfecb6252b54c5007a28559d0f9a73
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
*.diff
4040
*.rej
4141
*.swp
42-
*.swo
4342
*.tmp
4443
*.pyc
4544
*.elc

branches/try2/configure

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -695,9 +695,6 @@ do
695695
# host lib dir
696696
make_dir $h/stage$i/$CFG_LIBDIR
697697

698-
# host test dir
699-
make_dir $h/stage$i/test
700-
701698
# target bin dir
702699
make_dir $h/stage$i/$CFG_LIBDIR/rustc/$t/bin
703700

branches/try2/doc/rust.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,7 @@ Supported traits for `deriving` are:
15621562

15631563
* Comparison traits: `Eq`, `TotalEq`, `Ord`, `TotalOrd`.
15641564
* Serialization: `Encodable`, `Decodable`. These require `std`.
1565-
* `Clone` and `DeepClone`, to perform (deep) copies.
1565+
* `Clone`, to perform deep copies.
15661566
* `IterBytes`, to iterate over the bytes in a data type.
15671567
* `Rand`, to create a random instance of a data type.
15681568
* `ToStr`, to convert to a string. For a type with this instance,
@@ -2386,9 +2386,9 @@ enum List<X> { Nil, Cons(X, @List<X>) }
23862386
let x: List<int> = Cons(10, @Cons(11, @Nil));
23872387
23882388
match x {
2389-
Cons(_, @Nil) => fail!("singleton list"),
2389+
Cons(_, @Nil) => fail!(~"singleton list"),
23902390
Cons(*) => return,
2391-
Nil => fail!("empty list")
2391+
Nil => fail!(~"empty list")
23922392
}
23932393
~~~~
23942394

branches/try2/doc/tutorial-borrowed-ptr.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ point, but allocated in a different place:
4242
~~~
4343
# struct Point {x: float, y: float}
4444
let on_the_stack : Point = Point {x: 3.0, y: 4.0};
45-
let managed_box : @Point = @Point {x: 5.0, y: 1.0};
46-
let owned_box : ~Point = ~Point {x: 7.0, y: 9.0};
45+
let shared_box : @Point = @Point {x: 5.0, y: 1.0};
46+
let unique_box : ~Point = ~Point {x: 7.0, y: 9.0};
4747
~~~
4848

4949
Suppose we wanted to write a procedure that computed the distance between any
5050
two points, no matter where they were stored. For example, we might like to
51-
compute the distance between `on_the_stack` and `managed_box`, or between
52-
`managed_box` and `owned_box`. One option is to define a function that takes
51+
compute the distance between `on_the_stack` and `shared_box`, or between
52+
`shared_box` and `unique_box`. One option is to define a function that takes
5353
two arguments of type `Point`—that is, it takes the points by value. But if we
5454
define it this way, calling the function will cause the points to be
5555
copied. For points, this is probably not so bad, but often copies are
@@ -73,11 +73,11 @@ Now we can call `compute_distance()` in various ways:
7373
~~~
7474
# struct Point {x: float, y: float}
7575
# let on_the_stack : Point = Point{x: 3.0, y: 4.0};
76-
# let managed_box : @Point = @Point{x: 5.0, y: 1.0};
77-
# let owned_box : ~Point = ~Point{x: 7.0, y: 9.0};
76+
# let shared_box : @Point = @Point{x: 5.0, y: 1.0};
77+
# let unique_box : ~Point = ~Point{x: 7.0, y: 9.0};
7878
# fn compute_distance(p1: &Point, p2: &Point) -> float { 0f }
79-
compute_distance(&on_the_stack, managed_box);
80-
compute_distance(managed_box, owned_box);
79+
compute_distance(&on_the_stack, shared_box);
80+
compute_distance(shared_box, unique_box);
8181
~~~
8282

8383
Here, the `&` operator takes the address of the variable
@@ -87,11 +87,11 @@ value. We also call this _borrowing_ the local variable
8787
`on_the_stack`, because we have created an alias: that is, another
8888
name for the same data.
8989

90-
In contrast, we can pass the boxes `managed_box` and `owned_box` to
90+
In contrast, we can pass the boxes `shared_box` and `unique_box` to
9191
`compute_distance` directly. The compiler automatically converts a box like
9292
`@Point` or `~Point` to a borrowed pointer like `&Point`. This is another form
93-
of borrowing: in this case, the caller lends the contents of the managed or
94-
owned box to the callee.
93+
of borrowing: in this case, the caller lends the contents of the shared or
94+
unique box to the callee.
9595

9696
Whenever a caller lends data to a callee, there are some limitations on what
9797
the caller can do with the original. For example, if the contents of a
@@ -155,7 +155,7 @@ let rect_stack = &Rectangle {origin: Point {x: 1f, y: 2f},
155155
size: Size {w: 3f, h: 4f}};
156156
let rect_managed = @Rectangle {origin: Point {x: 3f, y: 4f},
157157
size: Size {w: 3f, h: 4f}};
158-
let rect_owned = ~Rectangle {origin: Point {x: 5f, y: 6f},
158+
let rect_unique = ~Rectangle {origin: Point {x: 5f, y: 6f},
159159
size: Size {w: 3f, h: 4f}};
160160
~~~
161161

@@ -168,7 +168,7 @@ operator. For example, I could write:
168168
# struct Rectangle {origin: Point, size: Size}
169169
# let rect_stack = &Rectangle {origin: Point {x: 1f, y: 2f}, size: Size {w: 3f, h: 4f}};
170170
# let rect_managed = @Rectangle {origin: Point {x: 3f, y: 4f}, size: Size {w: 3f, h: 4f}};
171-
# let rect_owned = ~Rectangle {origin: Point {x: 5f, y: 6f}, size: Size {w: 3f, h: 4f}};
171+
# let rect_unique = ~Rectangle {origin: Point {x: 5f, y: 6f}, size: Size {w: 3f, h: 4f}};
172172
# fn compute_distance(p1: &Point, p2: &Point) -> float { 0f }
173173
compute_distance(&rect_stack.origin, &rect_managed.origin);
174174
~~~
@@ -179,7 +179,7 @@ as well as from the managed box, and then compute the distance between them.
179179
# Borrowing managed boxes and rooting
180180

181181
We’ve seen a few examples so far of borrowing heap boxes, both managed
182-
and owned. Up till this point, we’ve glossed over issues of
182+
and unique. Up till this point, we’ve glossed over issues of
183183
safety. As stated in the introduction, at runtime a borrowed pointer
184184
is simply a pointer, nothing more. Therefore, avoiding C's problems
185185
with dangling pointers requires a compile-time safety check.
@@ -258,18 +258,18 @@ fn example2() {
258258
Now if `x` is reassigned, the pointer `y` will still remain valid. This
259259
process is called *rooting*.
260260

261-
# Borrowing owned boxes
261+
# Borrowing unique boxes
262262

263263
The previous example demonstrated *rooting*, the process by which the
264264
compiler ensures that managed boxes remain live for the duration of a
265-
borrow. Unfortunately, rooting does not work for borrows of owned
266-
boxes, because it is not possible to have two references to a owned
265+
borrow. Unfortunately, rooting does not work for borrows of unique
266+
boxes, because it is not possible to have two references to a unique
267267
box.
268268

269-
For owned boxes, therefore, the compiler will only allow a borrow *if
270-
the compiler can guarantee that the owned box will not be reassigned
269+
For unique boxes, therefore, the compiler will only allow a borrow *if
270+
the compiler can guarantee that the unique box will not be reassigned
271271
or moved for the lifetime of the pointer*. This does not necessarily
272-
mean that the owned box is stored in immutable memory. For example,
272+
mean that the unique box is stored in immutable memory. For example,
273273
the following function is legal:
274274

275275
~~~
@@ -294,7 +294,7 @@ and `x` is declared as mutable. However, the compiler can prove that
294294
and in fact is mutated later in the function.
295295

296296
It may not be clear why we are so concerned about mutating a borrowed
297-
variable. The reason is that the runtime system frees any owned box
297+
variable. The reason is that the runtime system frees any unique box
298298
_as soon as its owning reference changes or goes out of
299299
scope_. Therefore, a program like this is illegal (and would be
300300
rejected by the compiler):
@@ -342,7 +342,7 @@ which has been freed.
342342

343343
In fact, the compiler can apply the same kind of reasoning to any
344344
memory that is _(uniquely) owned by the stack frame_. So we could
345-
modify the previous example to introduce additional owned pointers
345+
modify the previous example to introduce additional unique pointers
346346
and structs, and the compiler will still be able to detect possible
347347
mutations:
348348

@@ -366,7 +366,7 @@ invalidate the pointer `y`.
366366
# Borrowing and enums
367367

368368
The previous example showed that the type system forbids any borrowing
369-
of owned boxes found in aliasable, mutable memory. This restriction
369+
of unique boxes found in aliasable, mutable memory. This restriction
370370
prevents pointers from pointing into freed memory. There is one other
371371
case where the compiler must be very careful to ensure that pointers
372372
remain valid: pointers into the interior of an `enum`.
@@ -462,14 +462,14 @@ of a `float` as if it were a struct with two fields would be a memory
462462
safety violation.
463463

464464
So, in fact, for every `ref` binding, the compiler will impose the
465-
same rules as the ones we saw for borrowing the interior of a owned
465+
same rules as the ones we saw for borrowing the interior of a unique
466466
box: it must be able to guarantee that the `enum` will not be
467467
overwritten for the duration of the borrow. In fact, the compiler
468468
would accept the example we gave earlier. The example is safe because
469469
the shape pointer has type `&Shape`, which means "borrowed pointer to
470470
immutable memory containing a `shape`". If, however, the type of that
471471
pointer were `&mut Shape`, then the ref binding would be ill-typed.
472-
Just as with owned boxes, the compiler will permit `ref` bindings
472+
Just as with unique boxes, the compiler will permit `ref` bindings
473473
into data owned by the stack frame even if the data are mutable,
474474
but otherwise it requires that the data reside in immutable memory.
475475

@@ -550,7 +550,7 @@ guarantees; in fact, it cannot guarantee that the pointer will remain
550550
valid at all once it returns, as the parameter `p` may or may not be
551551
live in the caller. Therefore, the compiler will report an error here.
552552

553-
In general, if you borrow a managed (or owned) box to create a
553+
In general, if you borrow a managed (or unique) box to create a
554554
borrowed pointer, the pointer will only be valid within the function
555555
and cannot be returned. This is why the typical way to return borrowed
556556
pointers is to take borrowed pointers as input (the only other case in

branches/try2/doc/tutorial-macros.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ match x {
223223
// complicated stuff goes here
224224
return result + val;
225225
},
226-
_ => fail!("Didn't get good_2")
226+
_ => fail!(~"Didn't get good_2")
227227
}
228228
}
229229
_ => return 0 // default value
@@ -265,7 +265,7 @@ macro_rules! biased_match (
265265
biased_match!((x) ~ (good_1(g1, val)) else { return 0 };
266266
binds g1, val )
267267
biased_match!((g1.body) ~ (good_2(result) )
268-
else { fail!("Didn't get good_2") };
268+
else { fail!(~"Didn't get good_2") };
269269
binds result )
270270
// complicated stuff goes here
271271
return result + val;
@@ -366,7 +366,7 @@ macro_rules! biased_match (
366366
# fn f(x: t1) -> uint {
367367
biased_match!(
368368
(x) ~ (good_1(g1, val)) else { return 0 };
369-
(g1.body) ~ (good_2(result) ) else { fail!("Didn't get good_2") };
369+
(g1.body) ~ (good_2(result) ) else { fail!(~"Didn't get good_2") };
370370
binds val, result )
371371
// complicated stuff goes here
372372
return result + val;

branches/try2/doc/tutorial-tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ let result: Result<int, ()> = do task::try {
325325
if some_condition() {
326326
calculate_result()
327327
} else {
328-
fail!("oops!");
328+
fail!(~"oops!");
329329
}
330330
};
331331
assert!(result.is_err());

branches/try2/doc/tutorial.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1779,7 +1779,7 @@ to a borrowed pointer.
17791779
# fn draw_value(self) { ... }
17801780
# }
17811781
# let s = Circle(Point { x: 1f, y: 2f }, 3f);
1782-
// As with typical function arguments, managed and owned pointers
1782+
// As with typical function arguments, managed and unique pointers
17831783
// are automatically converted to borrowed pointers
17841784
17851785
(@s).draw_borrowed();
@@ -2308,8 +2308,8 @@ enum ABC { A, B, C }
23082308
~~~
23092309

23102310
The full list of derivable traits is `Eq`, `TotalEq`, `Ord`,
2311-
`TotalOrd`, `Encodable` `Decodable`, `Clone`, `DeepClone`,
2312-
`IterBytes`, `Rand` and `ToStr`.
2311+
`TotalOrd`, `Encodable` `Decodable`, `Clone`, `IterBytes`, `Rand` and
2312+
`ToStr`.
23132313

23142314
# Modules and crates
23152315

branches/try2/mk/tests.mk

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -289,50 +289,50 @@ else
289289
STDTESTDEP_$(1)_$(2)_$(3) =
290290
endif
291291

292-
$(3)/stage$(1)/test/coretest-$(2)$$(X_$(2)): \
292+
$(3)/test/coretest.stage$(1)-$(2)$$(X_$(2)): \
293293
$$(CORELIB_CRATE) $$(CORELIB_INPUTS) \
294294
$$(STDTESTDEP_$(1)_$(2)_$(3))
295295
@$$(call E, compile_and_link: $$@)
296296
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
297297

298-
$(3)/stage$(1)/test/stdtest-$(2)$$(X_$(2)): \
298+
$(3)/test/stdtest.stage$(1)-$(2)$$(X_$(2)): \
299299
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
300300
$$(STDTESTDEP_$(1)_$(2)_$(3))
301301
@$$(call E, compile_and_link: $$@)
302302
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
303303

304-
$(3)/stage$(1)/test/syntaxtest-$(2)$$(X_$(2)): \
304+
$(3)/test/syntaxtest.stage$(1)-$(2)$$(X_$(2)): \
305305
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
306306
$$(STDTESTDEP_$(1)_$(2)_$(3))
307307
@$$(call E, compile_and_link: $$@)
308308
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
309309

310-
$(3)/stage$(1)/test/rustctest-$(2)$$(X_$(2)): \
310+
$(3)/test/rustctest.stage$(1)-$(2)$$(X_$(2)): \
311311
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
312312
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM_$(2)) \
313313
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBSYNTAX_$(2))
314314
@$$(call E, compile_and_link: $$@)
315315
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
316316

317-
$(3)/stage$(1)/test/rustpkgtest-$(2)$$(X_$(2)): \
317+
$(3)/test/rustpkgtest.stage$(1)-$(2)$$(X_$(2)): \
318318
$$(RUSTPKG_LIB) $$(RUSTPKG_INPUTS) \
319319
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
320320
@$$(call E, compile_and_link: $$@)
321321
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
322322

323-
$(3)/stage$(1)/test/rustitest-$(2)$$(X_$(2)): \
323+
$(3)/test/rustitest.stage$(1)-$(2)$$(X_$(2)): \
324324
$$(RUSTI_LIB) $$(RUSTI_INPUTS) \
325325
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
326326
@$$(call E, compile_and_link: $$@)
327327
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
328328

329-
$(3)/stage$(1)/test/rusttest-$(2)$$(X_$(2)): \
329+
$(3)/test/rusttest.stage$(1)-$(2)$$(X_$(2)): \
330330
$$(RUST_LIB) $$(RUST_INPUTS) \
331331
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
332332
@$$(call E, compile_and_link: $$@)
333333
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
334334

335-
$(3)/stage$(1)/test/rustdoctest-$(2)$$(X_$(2)): \
335+
$(3)/test/rustdoctest.stage$(1)-$(2)$$(X_$(2)): \
336336
$$(RUSTDOC_LIB) $$(RUSTDOC_INPUTS) \
337337
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
338338
@$$(call E, compile_and_link: $$@)
@@ -349,7 +349,7 @@ define DEF_TEST_CRATE_RULES
349349
check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
350350

351351
$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
352-
$(3)/stage$(1)/test/$(4)test-$(2)$$(X_$(2))
352+
$(3)/test/$(4)test.stage$(1)-$(2)$$(X_$(2))
353353
@$$(call E, run: $$<)
354354
$$(Q)$$(call CFG_RUN_TEST_$(2),$$<,$(2),$(3)) $$(TESTARGS) \
355355
--logfile $$(call TEST_LOG_FILE,$(1),$(2),$(3),$(4)) \
@@ -360,7 +360,7 @@ define DEF_TEST_CRATE_RULES_arm-linux-androideabi
360360
check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
361361

362362
$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
363-
$(3)/stage$(1)/test/$(4)test-$(2)$$(X_$(2))
363+
$(3)/test/$(4)test.stage$(1)-$(2)$$(X_$(2))
364364
@$$(call E, run: $$< via adb)
365365
@$(CFG_ADB) push $$< $(CFG_ADB_TEST_DIR)
366366
@$(CFG_ADB) shell LD_LIBRARY_PATH=$(CFG_ADB_TEST_DIR) \
@@ -385,7 +385,7 @@ define DEF_TEST_CRATE_RULES_null
385385
check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4))
386386

387387
$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
388-
$(3)/stage$(1)/test/$(4)test-$(2)$$(X_$(2))
388+
$(3)/test/$(4)test.stage$(1)-$(2)$$(X_$(2))
389389
@$$(call E, run: skipped $$< )
390390
@touch $$@
391391
endef

0 commit comments

Comments
 (0)