Skip to content

Commit 1784436

Browse files
unknownunknown
authored andcommitted
---
yaml --- r: 13797 b: refs/heads/try c: fe57a7e h: refs/heads/master i: 13795: f6ee3db v: v3
1 parent 525c84e commit 1784436

File tree

158 files changed

+2023
-3890
lines changed

Some content is hidden

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

158 files changed

+2023
-3890
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 08c6cb5f708efa7484ca27d6b14b86d6ae58b692
5+
refs/heads/try: fe57a7e582aea2a92e12d9b34cdec678f11edd6f
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/AUTHORS.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ Jeff Balogh <[email protected]>
2626
Jeff Muizelaar <[email protected]>
2727
Jeffrey Yasskin <[email protected]>
2828
Jesse Ruderman <[email protected]>
29-
Joe Pletcher <[email protected]>
3029
Josh Matthews <[email protected]>
31-
Joshua Clark <[email protected]>
3230
Joshua Wise <[email protected]>
3331
Jyun-Yan You <[email protected]>
3432
Kelly Wilson <[email protected]>

branches/try/LICENSE.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,17 @@ included:
186186
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
187187
OF SUCH DAMAGE.
188188

189+
* The auxiliary file src/etc/pkg/modpath.iss contains a
190+
library routine compiled, by Inno Setup, into the Windows
191+
installer binary. This file is licensed under the LGPL,
192+
but, in our legal interpretation, this does not affect the
193+
aggregate "collected work" license of the Rust
194+
distribution (MIT) nor any other components of it. We
195+
believe that the terms governing distribution of the
196+
binary Windows installer built from modpath.iss are
197+
therefore LGPL, but not the terms governing distribution
198+
of any of the files installed by such an installer (such
199+
as the Rust compiler or runtime libraries themselves).
189200

190201
* The libuv asynchronous I/O library. Code for this package
191202
is found in the src/rt/libuv directory, within this

branches/try/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ LIBRUSTC_GLOB :=$(call CFG_LIB_GLOB,rustc)
114114

115115
# version-string calculation
116116
CFG_GIT_DIR := $(CFG_SRC_DIR).git
117-
CFG_RELEASE = 0.2pre
117+
CFG_RELEASE = 0.1.1
118118
CFG_VERSION = $(CFG_RELEASE)
119119

120120
ifneq ($(wildcard $(CFG_GIT)),)

branches/try/configure

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ probe CFG_GCC gcc
289289
probe CFG_LLVM_CONFIG llvm-config
290290
probe CFG_VALGRIND valgrind
291291
probe CFG_PERF perf
292-
probe CFG_MAKENSIS makensis
292+
probe CFG_ISCC iscc
293293
probe CFG_NATURALDOCS NaturalDocs naturaldocs
294294
probe CFG_LLNEXTGEN LLnextgen
295295
probe CFG_PANDOC pandoc
@@ -340,8 +340,7 @@ then
340340
CFG_CLANG_VERSION=$("$CFG_CLANG" \
341341
--version \
342342
| grep version \
343-
| sed 's/.*\(version .*\)/\1/' \
344-
| cut -d ' ' -f 2)
343+
| cut -d ' ' -f 3)
345344

346345
case $CFG_CLANG_VERSION in
347346
(3.0svn | 3.0 | 3.1)

branches/try/doc/rust.md

Lines changed: 10 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -761,9 +761,7 @@ fn main() {
761761
##### Export declarations
762762

763763
~~~~~~~~ {.ebnf .gram}
764-
export_decl : "export" ident [ ',' ident ] *
765-
| "export" ident "::{}"
766-
| "export" ident '{' ident [ ',' ident ] * '}' ;
764+
export_decl : "export" ident [ ',' ident ] * ;
767765
~~~~~~~~
768766

769767
An _export declaration_ restricts the set of local names within a module that
@@ -815,40 +813,6 @@ mod foo {
815813
}
816814
~~~~~~~~
817815

818-
When exporting the name of an `enum` type `t`, by default, the module also
819-
implicitly exports all of `t`'s constructors. For example:
820-
821-
~~~~~~~~
822-
mod foo {
823-
export t;
824-
825-
enum t {a, b, c};
826-
}
827-
~~~~~~~~
828-
829-
Here, `foo` imports `t`, `a`, `b`, and `c`.
830-
831-
The second and third forms of export declaration can be used to export
832-
an `enum` item without exporting all of its constructors. These two
833-
forms can only be used to export an `enum` item. The second form
834-
exports the `enum` type name without exporting any of its
835-
constructors, achieving a simple kind of data abstraction. The third
836-
form exports an `enum` type name along with a subset of its
837-
constructors. For example:
838-
839-
~~~~~~~~
840-
mod foo {
841-
export abstract{};
842-
export slightly_abstract{a, b};
843-
844-
enum abstract {x, y, z}
845-
enum slightly_abstract {a, b, c, d}
846-
}
847-
~~~~~~~~
848-
849-
Module `foo` exports the types `abstract` and `slightly_abstract`, as well as
850-
constructors `a` and `b`, but doesn't export constructors `x`, `y`, `z`, `c`,
851-
or `d`.
852816

853817
### Functions
854818

@@ -1058,9 +1022,7 @@ accessed through the components `x` and `y`, and laid out in memory with the
10581022
An _enumeration item_ simultaneously declares a new nominal
10591023
[enumerated type](#enumerated-types) as well as a set of *constructors* that
10601024
can be used to create or pattern-match values of the corresponding enumerated
1061-
type. Note that `enum` previously was refered to as a `tag`, however this
1062-
definition has been deprecated. While `tag` is no longer used, the two are
1063-
synonymous.
1025+
type.
10641026

10651027
The constructors of an `enum` type may be recursive: that is, each constructor
10661028
may take an argument that refers, directly or indirectly, to the enumerated
@@ -1681,13 +1643,13 @@ x.y <- c;
16811643
A _swap expression_ consists of an *lval* followed by a bi-directional arrow
16821644
(`<->`) and another *lval* expression.
16831645

1684-
Evaluating a swap expression causes, as a side effect, the values held in the
1646+
Evaluating a swap expression causes, as a side effect, the vales held in the
16851647
left-hand-side and right-hand-side *lvals* to be exchanged indivisibly.
16861648

1687-
Evaluating a swap expression neither changes reference counts nor deeply
1688-
copies any unique structure pointed to by the moved
1689-
*rval*. Instead, the swap expression represents an indivisible *exchange of
1690-
ownership* between the right-hand-side and the left-hand-side of the
1649+
Evaluating a move expression does not change reference counts, nor does it
1650+
cause a deep copy of any unique structure pointed to by the moved
1651+
*rval*. Instead, the move expression represents an indivisible *exchange of
1652+
ownership* between the right-hand-side to the left-hand-side of the
16911653
expression. No allocation or destruction is entailed.
16921654

16931655
An example of three different swap expressions:
@@ -2009,7 +1971,7 @@ alt_pat : pat [ "to" pat ] ? [ "if" expr ] ;
20091971

20101972
An `alt` expression branches on a *pattern*. The exact form of matching that
20111973
occurs depends on the pattern. Patterns consist of some combination of
2012-
literals, destructured enum constructors, records and tuples, variable binding
1974+
literals, destructured tag constructors, records and tuples, variable binding
20131975
specifications and placeholders (`_`). An `alt` expression has a *head
20141976
expression*, which is the value to compare to the patterns. The type of the
20151977
patterns must equal the type of the head expression.
@@ -2024,7 +1986,7 @@ An example of an `alt` expression:
20241986

20251987

20261988
~~~~
2027-
enum list<X> { nil; cons(X, @list<X>); }
1989+
tag list<X> { nil; cons(X, @list<X>); }
20281990
20291991
let x: list<int> = cons(10, @cons(11, @nil));
20301992
@@ -3288,7 +3250,7 @@ such as vectors, strings, and the low level communication system (ports,
32883250
channels, tasks).
32893251

32903252
Support for other built-in types such as simple types, tuples, records, and
3291-
enums is open-coded by the Rust compiler.
3253+
tags is open-coded by the Rust compiler.
32923254

32933255

32943256

branches/try/doc/tutorial.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ packages:
9292
* curl
9393

9494
Assuming you're on a relatively modern Linux system and have met the
95-
prerequisites, something along these lines should work. Building from source on
96-
Windows requires some extra steps: please see the
97-
[getting started][wiki-get-started] page on the Rust wiki.
95+
prerequisites, something along these lines should work:
9896

9997
~~~~
10098
## notrust
@@ -105,9 +103,8 @@ $ ./configure
105103
$ make && make install
106104
~~~~
107105

108-
You may need to use `sudo make install` if you do not normally have
109-
permission to modify the destination directory (either `/usr/local/bin`
110-
or the directory specified with to `configure` with `--prefix`).
106+
Building from source on windows requires some extra steps, please see
107+
the [getting started][wiki-get-started] page on the Rust wiki.
111108

112109
When complete, `make install` will place the following programs into
113110
`/usr/local/bin`:
@@ -1349,7 +1346,7 @@ destructors. Resources might go away in the future.
13491346
Rust datatypes are not trivial to copy (the way, for example,
13501347
JavaScript values can be copied by simply taking one or two machine
13511348
words and plunking them somewhere else). Shared boxes require
1352-
reference count updates, big records, enums, or unique pointers require
1349+
reference count updates, big records, tags, or unique pointers require
13531350
an arbitrary amount of data to be copied (plus updating the reference
13541351
counts of shared boxes hanging off them).
13551352

@@ -1462,7 +1459,7 @@ alt my_rec {
14621459

14631460
The fact that arguments are conceptually passed by safe reference does
14641461
not mean all arguments are passed by pointer. Composite types like
1465-
records and enums *are* passed by pointer, but single-word values, like
1462+
records and tags *are* passed by pointer, but single-word values, like
14661463
integers and pointers, are simply passed by value. Most of the time,
14671464
the programmer does not have to worry about this, as the compiler will
14681465
simply pick the most efficient passing style. There is one exception,

branches/try/mk/dist.mk

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ PKG_NAME := rust
66
PKG_DIR = $(PKG_NAME)-$(CFG_RELEASE)
77
PKG_TAR = $(PKG_DIR).tar.gz
88

9-
ifdef CFG_MAKENSIS
10-
PKG_NSI = $(S)src/etc/pkg/rust.nsi
9+
ifdef CFG_ISCC
10+
PKG_ISS = $(wildcard $(S)src/etc/pkg/*.iss)
11+
PKG_ICO = $(S)src/etc/pkg/rust-logo.ico
1112
PKG_EXE = $(PKG_DIR)-install.exe
1213
endif
1314

@@ -38,18 +39,23 @@ PKG_FILES := \
3839

3940
UNROOTED_PKG_FILES := $(patsubst $(S)%,./%,$(PKG_FILES))
4041

41-
lic.txt: $(S)LICENSE.txt
42-
@$(call E, crlf: $@)
43-
@$(Q)perl -pe 's@\r\n|\n@\r\n@go' <$< >$@
42+
ifdef CFG_ISCC
43+
LICENSE.txt: $(S)LICENSE.txt
44+
cp $< $@
4445

45-
ifdef CFG_MAKENSIS
46-
$(PKG_EXE): $(PKG_NSI) $(PKG_FILES) all rustc-stage3 lic.txt
47-
@$(call E, makensis: $@)
48-
$(Q)"$(CFG_MAKENSIS)" -NOCD -V1 "-XOutFile $@" \
49-
"-XLicenseData lic.txt" $<
50-
$(Q)rm -f lic.txt
46+
%.iss: $(S)src/etc/pkg/%.iss
47+
cp $< $@
48+
49+
%.ico: $(S)src/etc/pkg/%.ico
50+
cp $< $@
51+
52+
$(PKG_EXE): rust.iss modpath.iss LICENSE.txt rust-logo.ico \
53+
$(PKG_FILES) all rustc-stage3
54+
@$(call E, ISCC: $@)
55+
$(Q)"$(CFG_ISCC)" $<
5156
endif
5257

58+
5359
$(PKG_TAR): $(PKG_FILES)
5460
@$(call E, making dist dir)
5561
$(Q)rm -Rf dist
@@ -68,7 +74,7 @@ $(PKG_TAR): $(PKG_FILES)
6874
$(Q)tar -czf $(PKG_TAR) -C dist $(PKG_DIR)
6975
$(Q)rm -Rf dist
7076

71-
.PHONY: dist nsis-dist distcheck
77+
.PHONY: dist distcheck
7278

7379
ifdef CFG_WINDOWSY
7480

@@ -84,8 +90,6 @@ else
8490

8591
dist: $(PKG_TAR)
8692

87-
nsis-dist: $(PKG_EXE)
88-
8993
distcheck: $(PKG_TAR)
9094
$(Q)rm -Rf dist
9195
$(Q)mkdir -p dist

branches/try/mk/platform.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,7 @@ ifeq ($(CFG_C_COMPILER),clang)
188188
CC=clang
189189
CXX=clang++
190190
CPP=cpp
191-
# -Wno-c++11-compat allows us to use 'alignof' as an identifier in the runtime
192-
CFG_GCCISH_CFLAGS += -Wall -Werror -Wno-c++11-compat -fno-rtti -g
191+
CFG_GCCISH_CFLAGS += -Wall -Werror -fno-rtti -g
193192
CFG_GCCISH_LINK_FLAGS += -g
194193
CFG_DEPEND_C = $(CFG_GCCISH_CROSS)$(CXX) $(CFG_GCCISH_CFLAGS) -MT "$(1)" \
195194
-MM $(2)

0 commit comments

Comments
 (0)