Skip to content

Commit 805bc6a

Browse files
committed
---
yaml --- r: 143271 b: refs/heads/try2 c: 5c4cd30 h: refs/heads/master i: 143269: 7b6aa73 143267: d11bf1e 143263: 4914f91 v: v3
1 parent 2db411a commit 805bc6a

File tree

262 files changed

+4678
-9898
lines changed

Some content is hidden

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

262 files changed

+4678
-9898
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: 46394758aa7cc9a2532662cb29d3acfc382e4e18
8+
refs/heads/try2: 5c4cd30f80273ba573df048b6295ea6e543df599
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/doc/tutorial-container.md

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ impl Iterator<int> for ZeroStream {
108108
## Container iterators
109109
110110
Containers implement iteration over the contained elements by returning an
111-
iterator object. For example, vector slices have four iterators available:
111+
iterator object. For example, vector slices several iterators available:
112112
113-
* `vector.iter()`, for immutable references to the elements
114-
* `vector.mut_iter()`, for mutable references to the elements
115-
* `vector.rev_iter()`, for immutable references to the elements in reverse order
116-
* `vector.mut_rev_iter()`, for mutable references to the elements in reverse order
113+
* `iter()` and `rev_iter()`, for immutable references to the elements
114+
* `mut_iter()` and `mut_rev_iter()`, for mutable references to the elements
115+
* `consume_iter()` and `consume_rev_iter`, to move the elements out by-value
116+
117+
A typical mutable container will implement at least `iter()`, `mut_iter()` and
118+
`consume_iter()` along with the reverse variants if it maintains an order.
117119
118120
### Freezing
119121
@@ -192,15 +194,15 @@ let mut it = xs.iter().zip(ys.iter());
192194

193195
// print out the pairs of elements up to (&3, &"baz")
194196
for it.advance |(x, y)| {
195-
println(fmt!("%d %s", *x, *y));
197+
printfln!("%d %s", *x, *y);
196198

197199
if *x == 3 {
198200
break;
199201
}
200202
}
201203

202204
// yield and print the last pair from the iterator
203-
println(fmt!("last: %?", it.next()));
205+
printfln!("last: %?", it.next());
204206

205207
// the iterator is now fully consumed
206208
assert!(it.next().is_none());
@@ -294,15 +296,59 @@ another `DoubleEndedIterator` with `next` and `next_back` exchanged.
294296
~~~
295297
let xs = [1, 2, 3, 4, 5, 6];
296298
let mut it = xs.iter();
297-
println(fmt!("%?", it.next())); // prints `Some(&1)`
298-
println(fmt!("%?", it.next())); // prints `Some(&2)`
299-
println(fmt!("%?", it.next_back())); // prints `Some(&6)`
299+
printfln!("%?", it.next()); // prints `Some(&1)`
300+
printfln!("%?", it.next()); // prints `Some(&2)`
301+
printfln!("%?", it.next_back()); // prints `Some(&6)`
300302

301303
// prints `5`, `4` and `3`
302304
for it.invert().advance |&x| {
303-
println(fmt!("%?", x))
305+
printfln!("%?", x)
304306
}
305307
~~~
306308
307309
The `rev_iter` and `mut_rev_iter` methods on vectors just return an inverted
308310
version of the standard immutable and mutable vector iterators.
311+
312+
The `chain_`, `transform`, `filter`, `filter_map` and `peek` adaptors are
313+
`DoubleEndedIterator` implementations if the underlying iterators are.
314+
315+
~~~
316+
let xs = [1, 2, 3, 4];
317+
let ys = [5, 6, 7, 8];
318+
let mut it = xs.iter().chain_(ys.iter()).transform(|&x| x * 2);
319+
320+
printfln!("%?", it.next()); // prints `Some(2)`
321+
322+
// prints `16`, `14`, `12`, `10`, `8`, `6`, `4`
323+
for it.invert().advance |x| {
324+
printfln!("%?", x);
325+
}
326+
~~~
327+
328+
## Random-access iterators
329+
330+
The `RandomAccessIterator` trait represents an iterator offering random access
331+
to the whole range. The `indexable` method retrieves the number of elements
332+
accessible with the `idx` method.
333+
334+
The `chain_` adaptor is an implementation of `RandomAccessIterator` if the
335+
underlying iterators are.
336+
337+
~~~
338+
let xs = [1, 2, 3, 4, 5];
339+
let ys = ~[7, 9, 11];
340+
let mut it = xs.iter().chain_(ys.iter());
341+
printfln!("%?", it.idx(0)); // prints `Some(&1)`
342+
printfln!("%?", it.idx(5)); // prints `Some(&7)`
343+
printfln!("%?", it.idx(7)); // prints `Some(&11)`
344+
printfln!("%?", it.idx(8)); // prints `None`
345+
346+
// yield two elements from the beginning, and one from the end
347+
it.next();
348+
it.next();
349+
it.next_back();
350+
351+
printfln!("%?", it.idx(0)); // prints `Some(&3)`
352+
printfln!("%?", it.idx(4)); // prints `Some(&9)`
353+
printfln!("%?", it.idx(6)); // prints `None`
354+
~~~

branches/try2/doc/tutorial.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -499,8 +499,8 @@ types.
499499
> items.
500500
501501
~~~~
502-
# use std::float;
503-
# use std::num::atan;
502+
use std::float;
503+
use std::num::atan;
504504
fn angle(vector: (float, float)) -> float {
505505
let pi = float::consts::pi;
506506
match vector {
@@ -555,7 +555,7 @@ while cake_amount > 0 {
555555
`loop` denotes an infinite loop, and is the preferred way of writing `while true`:
556556

557557
~~~~
558-
# use std::int;
558+
use std::int;
559559
let mut x = 5;
560560
loop {
561561
x += x - 3;
@@ -701,7 +701,7 @@ get at their contents. All variant constructors can be used as
701701
patterns, as in this definition of `area`:
702702

703703
~~~~
704-
# use std::float;
704+
use std::float;
705705
# struct Point {x: float, y: float}
706706
# enum Shape { Circle(Point, float), Rectangle(Point, Point) }
707707
fn area(sh: Shape) -> float {
@@ -733,7 +733,7 @@ fn point_from_direction(dir: Direction) -> Point {
733733
Enum variants may also be structs. For example:
734734

735735
~~~~
736-
# use std::float;
736+
use std::float;
737737
# struct Point { x: float, y: float }
738738
# fn square(x: float) -> float { x * x }
739739
enum Shape {
@@ -1599,7 +1599,8 @@ lists back to back. Since that is so unsightly, empty argument lists
15991599
may be omitted from `do` expressions.
16001600

16011601
~~~~
1602-
# use std::task::spawn;
1602+
use std::task::spawn;
1603+
16031604
do spawn {
16041605
debug!("Kablam!");
16051606
}
@@ -1728,7 +1729,7 @@ impl Circle {
17281729
To call such a method, just prefix it with the type name and a double colon:
17291730

17301731
~~~~
1731-
# use std::float::consts::pi;
1732+
use std::float::consts::pi;
17321733
struct Circle { radius: float }
17331734
impl Circle {
17341735
fn new(area: float) -> Circle { Circle { radius: (area / pi).sqrt() } }
@@ -1774,7 +1775,7 @@ illegal to copy and pass by value.
17741775
Generic `type`, `struct`, and `enum` declarations follow the same pattern:
17751776

17761777
~~~~
1777-
# use std::hashmap::HashMap;
1778+
use std::hashmap::HashMap;
17781779
type Set<T> = HashMap<T, ()>;
17791780
17801781
struct Stack<T> {
@@ -2000,7 +2001,7 @@ name and a double colon. The compiler uses type inference to decide which
20002001
implementation to use.
20012002

20022003
~~~~
2003-
# use std::float::consts::pi;
2004+
use std::float::consts::pi;
20042005
trait Shape { fn new(area: float) -> Self; }
20052006
struct Circle { radius: float }
20062007
struct Square { length: float }
@@ -2156,7 +2157,7 @@ trait Circle : Shape { fn radius(&self) -> float; }
21562157
Now, we can implement `Circle` on a type only if we also implement `Shape`.
21572158

21582159
~~~~
2159-
# use std::float::consts::pi;
2160+
use std::float::consts::pi;
21602161
# trait Shape { fn area(&self) -> float; }
21612162
# trait Circle : Shape { fn radius(&self) -> float; }
21622163
# struct Point { x: float, y: float }
@@ -2191,7 +2192,7 @@ fn radius_times_area<T: Circle>(c: T) -> float {
21912192
Likewise, supertrait methods may also be called on trait objects.
21922193

21932194
~~~ {.xfail-test}
2194-
# use std::float::consts::pi;
2195+
use std::float::consts::pi;
21952196
# trait Shape { fn area(&self) -> float; }
21962197
# trait Circle : Shape { fn radius(&self) -> float; }
21972198
# struct Point { x: float, y: float }

branches/try2/mk/target.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM_$(3)): \
8484
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(3)): CFG_COMPILER_TRIPLE = $(2)
8585
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(3)): \
8686
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
87+
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
8788
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)) \
8889
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM_$(3)) \
8990
| $$(TLIB$(1)_T_$(2)_H_$(3))/
@@ -94,6 +95,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(3)): \
9495

9596
$$(TBIN$(1)_T_$(2)_H_$(3))/rustc$$(X_$(3)): \
9697
$$(DRIVER_CRATE) \
98+
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
9799
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC_$(3)) \
98100
| $$(TBIN$(1)_T_$(2)_H_$(3))/
99101
@$$(call E, compile_and_link: $$@)

branches/try2/mk/tests.mk

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,50 +319,58 @@ endif
319319

320320
$(3)/stage$(1)/test/stdtest-$(2)$$(X_$(2)): \
321321
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
322+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
322323
$$(STDTESTDEP_$(1)_$(2)_$(3))
323324
@$$(call E, compile_and_link: $$@)
324325
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
325326

326327
$(3)/stage$(1)/test/extratest-$(2)$$(X_$(2)): \
327328
$$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
329+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
328330
$$(STDTESTDEP_$(1)_$(2)_$(3))
329331
@$$(call E, compile_and_link: $$@)
330332
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
331333

332334
$(3)/stage$(1)/test/syntaxtest-$(2)$$(X_$(2)): \
333335
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
336+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
334337
$$(STDTESTDEP_$(1)_$(2)_$(3))
335338
@$$(call E, compile_and_link: $$@)
336339
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
337340

338341
$(3)/stage$(1)/test/rustctest-$(2)$$(X_$(2)): CFG_COMPILER_TRIPLE = $(2)
339342
$(3)/stage$(1)/test/rustctest-$(2)$$(X_$(2)): \
340343
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
344+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
341345
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_RUSTLLVM_$(2)) \
342346
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBSYNTAX_$(2))
343347
@$$(call E, compile_and_link: $$@)
344348
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
345349

346350
$(3)/stage$(1)/test/rustpkgtest-$(2)$$(X_$(2)): \
347351
$$(RUSTPKG_LIB) $$(RUSTPKG_INPUTS) \
352+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
348353
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
349354
@$$(call E, compile_and_link: $$@)
350355
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
351356

352357
$(3)/stage$(1)/test/rustitest-$(2)$$(X_$(2)): \
353358
$$(RUSTI_LIB) $$(RUSTI_INPUTS) \
359+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
354360
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
355361
@$$(call E, compile_and_link: $$@)
356362
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
357363

358364
$(3)/stage$(1)/test/rusttest-$(2)$$(X_$(2)): \
359365
$$(RUST_LIB) $$(RUST_INPUTS) \
366+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
360367
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
361368
@$$(call E, compile_and_link: $$@)
362369
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
363370

364371
$(3)/stage$(1)/test/rustdoctest-$(2)$$(X_$(2)): \
365372
$$(RUSTDOC_LIB) $$(RUSTDOC_INPUTS) \
373+
$$(SREQ$(1)_T_$(2)_H_$(3)) \
366374
$$(TLIB$(1)_T_$(2)_H_$(3))/$$(CFG_LIBRUSTC_$(2))
367375
@$$(call E, compile_and_link: $$@)
368376
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --test
@@ -537,6 +545,10 @@ TEST_SREQ$(1)_T_$(2)_H_$(3) = \
537545

538546
# Rules for the cfail/rfail/rpass/bench/perf test runner
539547

548+
# The tests select when to use debug configuration on their own;
549+
# remove directive, if present, from CFG_RUSTC_FLAGS (issue #7898).
550+
CTEST_RUSTC_FLAGS = $$(subst --cfg debug,,$$(CFG_RUSTC_FLAGS))
551+
540552
CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
541553
--compile-lib-path $$(HLIB$(1)_H_$(3)) \
542554
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
@@ -548,7 +560,7 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
548560
--target $(2) \
549561
--adb-path=$(CFG_ADB) \
550562
--adb-test-dir=$(CFG_ADB_TEST_DIR) \
551-
--rustcflags "$(RUSTC_FLAGS_$(2)) $$(CFG_RUSTC_FLAGS) --target=$(2)" \
563+
--rustcflags "$(RUSTC_FLAGS_$(2)) $$(CTEST_RUSTC_FLAGS) --target=$(2)" \
552564
$$(CTEST_TESTARGS)
553565

554566
CTEST_DEPS_rpass_$(1)-T-$(2)-H-$(3) = $$(RPASS_TESTS)

branches/try2/mk/tools.mk

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,14 @@ define TOOLS_STAGE_N_TARGET
3737

3838
$$(TBIN$(1)_T_$(4)_H_$(3))/compiletest$$(X_$(4)): \
3939
$$(COMPILETEST_CRATE) $$(COMPILETEST_INPUTS) \
40-
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
41-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
42-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
40+
$$(SREQ$(1)_T_$(4)_H_$(3)) \
4341
| $$(TBIN$(1)_T_$(4)_H_$(3))/
4442
@$$(call E, compile_and_link: $$@)
4543
$$(STAGE$(1)_T_$(4)_H_$(3)) -o $$@ $$<
4644

4745
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)): \
4846
$$(RUSTPKG_LIB) $$(RUSTPKG_INPUTS) \
49-
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
50-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
51-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
47+
$$(SREQ$(1)_T_$(4)_H_$(3)) \
5248
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTC_$(4)) \
5349
| $$(TLIB$(1)_T_$(4)_H_$(3))/
5450
@$$(call E, compile_and_link: $$@)
@@ -58,16 +54,15 @@ $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)): \
5854

5955
$$(TBIN$(1)_T_$(4)_H_$(3))/rustpkg$$(X_$(4)): \
6056
$$(DRIVER_CRATE) \
61-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)) \
57+
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
58+
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)) \
6259
| $$(TBIN$(1)_T_$(4)_H_$(3))/
6360
@$$(call E, compile_and_link: $$@)
6461
$$(STAGE$(1)_T_$(4)_H_$(3)) --cfg rustpkg -o $$@ $$<
6562

6663
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTDOC_$(4)): \
6764
$$(RUSTDOC_LIB) $$(RUSTDOC_INPUTS) \
68-
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
69-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
70-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
65+
$$(SREQ$(1)_T_$(4)_H_$(3)) \
7166
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTC_$(4)) \
7267
| $$(TLIB$(1)_T_$(4)_H_$(3))/
7368
@$$(call E, compile_and_link: $$@)
@@ -77,16 +72,15 @@ $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTDOC_$(4)): \
7772

7873
$$(TBIN$(1)_T_$(4)_H_$(3))/rustdoc$$(X_$(4)): \
7974
$$(DRIVER_CRATE) \
75+
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
8076
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTDOC_$(4)) \
8177
| $$(TBIN$(1)_T_$(4)_H_$(3))/
8278
@$$(call E, compile_and_link: $$@)
8379
$$(STAGE$(1)_T_$(4)_H_$(3)) --cfg rustdoc -o $$@ $$<
8480

8581
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTI_$(4)): \
8682
$$(RUSTI_LIB) $$(RUSTI_INPUTS) \
87-
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
88-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
89-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
83+
$$(SREQ$(1)_T_$(4)_H_$(3)) \
9084
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTC_$(4)) \
9185
| $$(TLIB$(1)_T_$(4)_H_$(3))/
9286
@$$(call E, compile_and_link: $$@)
@@ -96,16 +90,15 @@ $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTI_$(4)): \
9690

9791
$$(TBIN$(1)_T_$(4)_H_$(3))/rusti$$(X_$(4)): \
9892
$$(DRIVER_CRATE) \
93+
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
9994
$$(TLIB$(1)_T_$(4)_H_$(4))/$(CFG_LIBRUSTI_$(4)) \
10095
| $$(TBIN$(1)_T_$(4)_H_$(3))/
10196
@$$(call E, compile_and_link: $$@)
10297
$$(STAGE$(1)_T_$(4)_H_$(3)) --cfg rusti -o $$@ $$<
10398

10499
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUST_$(4)): \
105100
$$(RUST_LIB) $$(RUST_INPUTS) \
106-
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
107-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_STDLIB_$(4)) \
108-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_EXTRALIB_$(4)) \
101+
$$(SREQ$(1)_T_$(4)_H_$(3)) \
109102
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTPKG_$(4)) \
110103
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTI_$(4)) \
111104
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUSTDOC_$(4)) \
@@ -118,6 +111,7 @@ $$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUST_$(4)): \
118111

119112
$$(TBIN$(1)_T_$(4)_H_$(3))/rust$$(X_$(4)): \
120113
$$(DRIVER_CRATE) \
114+
$$(TSREQ$(1)_T_$(4)_H_$(3)) \
121115
$$(TLIB$(1)_T_$(4)_H_$(3))/$(CFG_LIBRUST_$(4)) \
122116
| $$(TBIN$(1)_T_$(4)_H_$(3))/
123117
@$$(call E, compile_and_link: $$@)

0 commit comments

Comments
 (0)