Skip to content

Commit 334832e

Browse files
committed
---
yaml --- r: 227805 b: refs/heads/try c: a643092 h: refs/heads/master i: 227803: c1c059c v: v3
1 parent 1b52fdd commit 334832e

File tree

8 files changed

+110
-7
lines changed

8 files changed

+110
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: aca2057ed5fb7af3f8905b2bc01f72fa001c35c8
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
4-
refs/heads/try: e0283ab9c4d33005ec987851bfb35b8b65af611a
4+
refs/heads/try: a6430925b435d5c27bb7fb4088dee06817c83d87
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.2.0
16+
CFG_RELEASE_NUM=1.3.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release

branches/try/src/doc/style/features/traits/generics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ explicitly implement to be used by this generic function.
2929
explicit conversions or other method calls would usually be necessary. See the
3030
[overloading/implicits use case](#use-case:-limited-overloading-and/or-implicit-conversions)
3131
below.
32-
* _Precise types_. Because generic give a _name_ to the specific type
32+
* _Precise types_. Because generics give a _name_ to the specific type
3333
implementing a trait, it is possible to be precise about places where that
3434
exact type is required or produced. For example, a function
3535

branches/try/src/doc/trpl/academic-research.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,32 @@ Recommended for inspiration and a better understanding of Rust's background.
4242

4343
### Papers *about* Rust
4444

45-
* [GPU programming in Rust](http://www.cs.indiana.edu/~eholk/papers/hips2013.pdf)
46-
* [Parallel closures: a new twist on an old idea](https://www.usenix.org/conference/hotpar12/parallel-closures-new-twist-old-idea) - not exactly about rust, but by nmatsakis
45+
* [GPU Programming in Rust: Implementing High Level Abstractions in a
46+
Systems Level
47+
Language](http://www.cs.indiana.edu/~eholk/papers/hips2013.pdf). Early GPU work by Eric Holk.
48+
* [Parallel closures: a new twist on an old
49+
idea](https://www.usenix.org/conference/hotpar12/parallel-closures-new-twist-old-idea)
50+
- not exactly about rust, but by nmatsakis
51+
* [Patina: A Formalization of the Rust Programming
52+
Language](ftp://ftp.cs.washington.edu/tr/2015/03/UW-CSE-15-03-02.pdf). Early
53+
formalization of a subset of the type system, by Eric Reed.
54+
* [Experience Report: Developing the Servo Web Browser Engine using
55+
Rust](http://arxiv.org/abs/1505.07383). By Lars Bergstrom.
56+
* [Implementing a Generic Radix Trie in
57+
Rust](https://michaelsproul.github.io/rust_radix_paper/rust-radix-sproul.pdf). Undergrad
58+
paper by Michael Sproul.
59+
* [Reenix: Implementing a Unix-Like Operating System in
60+
Rust](http://scialex.github.io/reenix.pdf). Undergrad paper by Alex
61+
Light.
62+
* [Evaluation of performance and productivity metrics of potential
63+
programming languages in the HPC environment](). Bachelor's thesis by
64+
Florian Wilkens. Compares C, Go and Rust.
65+
* [Nom, a byte oriented, streaming, zero copy, parser combinators library
66+
in Rust](http://spw15.langsec.org/papers/couprie-nom.pdf). By
67+
Geoffroy Couprie, research for VLC.
68+
* [Graph-Based Higher-Order Intermediate
69+
Representation](http://compilers.cs.uni-saarland.de/papers/lkh15_cgo.pdf). An
70+
experimental IR implemented in Impala, a Rust-like language.
71+
* [Code Refinement of Stencil
72+
Codes](http://compilers.cs.uni-saarland.de/papers/ppl14_web.pdf). Another
73+
paper using Impala.

branches/try/src/doc/trpl/installing-rust.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ $ sudo /usr/local/lib/rustlib/uninstall.sh
4141
If you used the Windows installer, just re-run the `.msi` and it will give you
4242
an uninstall option.
4343

44+
## That disclaimer we promised
45+
4446
Some people, and somewhat rightfully so, get very upset when we tell you to
4547
`curl | sh`. Basically, when you do this, you are trusting that the good
4648
people who maintain Rust aren't going to hack your computer and do bad things.
@@ -50,6 +52,8 @@ binary downloads][install-page].
5052

5153
[from-source]: https://github.com/rust-lang/rust#building-from-source
5254

55+
## Platform support
56+
5357
Oh, we should also mention the officially supported platforms:
5458

5559
* Windows (7, 8, Server 2008 R2)
@@ -66,6 +70,8 @@ integrated as the Linux/OS X experience is. We're working on it! If anything
6670
does not work, it is a bug. Please let us know if that happens. Each and every
6771
commit is tested against Windows just like any other platform.
6872

73+
## After installation
74+
6975
If you've got Rust installed, you can open up a shell, and type this:
7076

7177
```bash

branches/try/src/librustc_typeck/diagnostics.rs

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,22 @@ fn main() {
380380
```
381381
"##,
382382

383+
E0044: r##"
384+
You can't use type parameters on foreign items. Example of erroneous code:
385+
386+
```
387+
extern { fn some_func<T>(x: T); }
388+
```
389+
390+
To fix this, replace the type parameter with the specializations that you
391+
need:
392+
393+
```
394+
extern { fn some_func_i32(x: i32); }
395+
extern { fn some_func_i64(x: i64); }
396+
```
397+
"##,
398+
383399
E0045: r##"
384400
Rust only supports variadic parameters for interoperability with C code in its
385401
FFI. As such, variadic parameters can only be used with functions which are
@@ -733,6 +749,44 @@ fn some_func(x: &mut i32) {
733749
```
734750
"##,
735751

752+
E0071: r##"
753+
You tried to use a structure initialization with a non-structure type.
754+
Example of erroneous code:
755+
756+
```
757+
enum Foo { FirstValue };
758+
759+
let u = Foo::FirstValue { value: 0i32 }; // error: Foo::FirstValue
760+
// isn't a structure!
761+
// or even simpler, if the structure wasn't defined at all:
762+
let u = RandomName { random_field: 0i32 }; // error: RandomName
763+
// isn't a structure!
764+
```
765+
766+
To fix this, please check:
767+
* Did you spell it right?
768+
* Did you accidentaly used an enum as a struct?
769+
* Did you accidentaly make an enum when you intended to use a struct?
770+
771+
Here is the previous code with all missing information:
772+
773+
```
774+
struct Inner {
775+
value: i32
776+
}
777+
778+
enum Foo {
779+
FirstValue(Inner)
780+
}
781+
782+
fn main() {
783+
let u = Foo::FirstValue(Inner { value: 0i32 });
784+
785+
let t = Inner { value: 0i32 };
786+
}
787+
```
788+
"##,
789+
736790
E0072: r##"
737791
When defining a recursive struct or enum, any use of the type being defined
738792
from inside the definition must occur behind a pointer (like `Box` or `&`).
@@ -1488,9 +1542,7 @@ For more information see the [opt-in builtin traits RFC](https://github.com/rust
14881542
}
14891543

14901544
register_diagnostics! {
1491-
E0044, // foreign items may not have type parameters
14921545
E0068,
1493-
E0071,
14941546
E0074,
14951547
E0075,
14961548
E0076,
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
pub trait ToNbt<T> {
12+
fn new(val: T) -> Self;
13+
}
14+
15+
impl ToNbt<Self> {} //~ ERROR use of `Self` outside of an impl or trait
16+
17+
fn main() {}

branches/try/src/test/run-pass/parallel-codegen-closures.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
// Tests parallel codegen - this can fail if the symbol for the anonymous
1212
// closure in `sum` pollutes the second codegen unit from the first.
1313

14+
// ignore-bitrig
1415
// compile-flags: -C codegen_units=2
1516

1617
#![feature(core)]

0 commit comments

Comments
 (0)