Skip to content

Commit 7c5a9da

Browse files
committed
---
yaml --- r: 227807 b: refs/heads/try c: e2c273f h: refs/heads/master i: 227805: 334832e 227803: c1c059c 227799: fe7aa86 227791: 219220c 227775: d208b7f v: v3
1 parent 8a0b982 commit 7c5a9da

File tree

8 files changed

+105
-8
lines changed

8 files changed

+105
-8
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: 425871bd90fda87dd99cbbebf159f665f252abf0
4+
refs/heads/try: e2c273f1bb3a7f3d11097533ff59460ef8a9a5c6
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -920,7 +920,7 @@ then
920920
LLVM_VERSION=$($LLVM_CONFIG --version)
921921

922922
case $LLVM_VERSION in
923-
(3.[5-6]*)
923+
(3.[5-7]*)
924924
msg "found ok version of LLVM: $LLVM_VERSION"
925925
;;
926926
(*)

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/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)