Skip to content

Commit 0110a3d

Browse files
committed
---
yaml --- r: 209638 b: refs/heads/try c: 290da6f h: refs/heads/master v: v3
1 parent b5b6692 commit 0110a3d

File tree

26 files changed

+1064
-1593
lines changed

26 files changed

+1064
-1593
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 3e561f05c00cd180ec02db4ccab2840a4aba93d2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: ba0e1cd8147d452c356aacb29fb87568ca26f111
5-
refs/heads/try: be41e9806747febb761d4d9ba85e937197db09af
5+
refs/heads/try: 290da6f016f602337222ac0a09b6b84bde0baf9b
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
88
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ CFG_RELEASE_NUM=1.0.0
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
2020
# versions (section 9)
21-
CFG_PRERELEASE_VERSION=.3
21+
CFG_PRERELEASE_VERSION=.2
2222

2323
CFG_FILENAME_EXTRA=4e7c5e5c
2424

branches/try/src/doc/complement-design-faq.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,12 @@ particularly easy to read.
165165

166166
## Why is `let` used to introduce variables?
167167

168-
Instead of the term "variable", we use "variable bindings". The
169-
simplest way for creating a binding is by using the `let` syntax.
170-
Other ways include `if let`, `while let`, and `match`. Bindings also
171-
exist in function argument positions.
168+
We don't use the term "variable", instead, we use "variable bindings". The
169+
simplest way for binding is the `let` syntax, other ways including `if let`,
170+
`while let` and `match`. Bindings also exist in function arguments positions.
172171

173172
Bindings always happen in pattern matching positions, and it's also Rust's way
174-
to declare mutability. One can also re-declare mutability of a binding in
173+
to declare mutability. One can also redeclare mutability of a binding in
175174
pattern matching. This is useful to avoid unnecessary `mut` annotations. An
176175
interesting historical note is that Rust comes, syntactically, most closely
177176
from ML, which also uses `let` to introduce bindings.

branches/try/src/doc/complement-lang-faq.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ Let the fact that this is an easily countable number be a warning.
4242

4343
## Does it run on Windows?
4444

45-
Yes. All development happens in lockstep on all 3 target platforms (using MinGW, not Cygwin).
45+
Yes. All development happens in lockstep on all 3 target platforms (using MinGW, not Cygwin). Note that the Windows implementation currently has some limitations; in particular, the 64-bit build is [not fully supported yet][win64], and all executables created by rustc [depend on libgcc DLL at runtime][libgcc].
46+
47+
[win64]: https://github.com/rust-lang/rust/issues/1237
48+
[libgcc]: https://github.com/rust-lang/rust/issues/11782
4649

4750
## Is it OO? How do I do this thing I normally do in an OO language?
4851

@@ -121,7 +124,7 @@ Yes. Calling C code from Rust is simple and exactly as efficient as calling C co
121124

122125
Yes. The Rust code has to be exposed via an `extern` declaration, which makes it C-ABI compatible. Such a function can be passed to C code as a function pointer or, if given the `#[no_mangle]` attribute to disable symbol mangling, can be called directly from C code.
123126

124-
## Why aren't function signatures inferred? Why only local variables?
127+
## Why aren't function signatures inferred? Why only local slots?
125128

126129
* Mechanically, it simplifies the inference algorithm; inference only requires looking at one function at a time.
127130
* The same simplification goes double for human readers. A reader does not need an IDE running an inference algorithm across an entire crate to be able to guess at a function's argument types; it's always explicit and nearby.

branches/try/src/doc/grammar.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
This document is the primary reference for the Rust programming language grammar. It
66
provides only one kind of material:
77

8-
- Chapters that formally define the language grammar.
8+
- Chapters that formally define the language grammar and, for each
9+
construct.
910

1011
This document does not serve as an introduction to the language. Background
1112
familiarity with the language is assumed. A separate [guide] is available to
@@ -426,7 +427,7 @@ meta_seq : meta_item [ ',' meta_seq ] ? ;
426427
**FIXME:** grammar?
427428

428429
A _declaration statement_ is one that introduces one or more *names* into the
429-
enclosing statement block. The declared names may denote new variables or new
430+
enclosing statement block. The declared names may denote new slots or new
430431
items.
431432

432433
#### Item declarations
@@ -440,7 +441,7 @@ function, enumeration, structure, type, static, trait, implementation or module
440441
scope to a narrow region containing all of its uses; it is otherwise identical
441442
in meaning to declaring the item outside the statement block.
442443

443-
#### Variable declarations
444+
#### Slot declarations
444445

445446
```antlr
446447
let_decl : "let" pat [':' type ] ? [ init ] ? ';' ;
@@ -762,7 +763,7 @@ bound := path | lifetime
762763

763764
### Memory ownership
764765

765-
### Variables
766+
### Memory slots
766767

767768
### Boxes
768769

0 commit comments

Comments
 (0)