Commit Graph

799 Commits

Author SHA1 Message Date
Brian Anderson
f0c9927c26 Merge pull request #4708 from dforsyth/add_if
add if to borrowed ptr tutorial
2013-01-31 17:01:32 -08:00
Niko Matsakis
0682ad0eb9 Finalize moves-based-on-type implementation.
Changes:

- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
  (though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
  (see details below)

Future work (I'll open bugs for these...):

- Improve error messages for moves that are due
  to bindings
- Add support for moving owned content like a.b.c
  to borrow check, test in trans (but I think it'll
  "just work")
- Proper fix for def-ids in params

Def ids in params:

Move captures into a map instead of recomputing.

This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining.  I am
not sure of my preferred fix for the larger bug yet.  This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
David Forsythe
72454f401e add if to borrowed ptr tutorial 2013-01-31 09:10:15 -08:00
Patrick Walton
366812a5c3 librustc: Change self as a type to Self everywhere. r=brson 2013-01-30 19:52:45 -08:00
Felix S. Klock II
20af4d7361 Add expected failure annotation on "fixed" example to placate 'make check'. 2013-01-29 13:18:40 +01:00
Felix S. Klock II
2dda6d6f5d Formatting cleanup.
I had put a line break in to try to stress the binding of mycircle,
but generated document looks cleaner without newline.
2013-01-29 11:28:52 +01:00
Felix S. Klock II
6cabe2b902 Fixed two examples of erroneous code so their errors match expectation.
1. In the first case, the previous code was failing during type inference
   due to mismatched structure.  Fix is to use the X structure at both
   points in the code.

2. In the second case, a naive transcription that subsitutes *nothing*
   in for the omitted statements signified by "..." will actually
   compile without an error.  Furthermore, any pure code could also be
   substituted for the ellipsis and the code would compile (as the
   text already states).  So to make the example more illustrative, it
   would be better to include an impure callback, which makes the
   potential for aliasing immediately obvious to the reader.
2013-01-29 11:28:52 +01:00
Felix S. Klock II
88bec09e63 Fix two code examples in main rust tutorial.
1. The section on trait definitions of static methods should include
   a trait with a static method in the generated document.

2. The section on trait inheritance had a expression that appears
   nonsensical ("let mycircle = @mycircle") in the generated document.
   The text would be clearer (IMO) if we continued with the running
   example of CircleStruct.
2013-01-29 11:28:52 +01:00
John Clements
18f1dba510 doc typo 2013-01-25 11:58:33 -08:00
Tim Chevalier
f3ec278e46 Merge pull request #4609 from sonwow/keyword-super
Make `super` a keyword
2013-01-24 11:17:52 -08:00
Graydon Hoare
e8f4da78e7 doc: fix tutorial unsafe blocks, r=burningtree. 2013-01-23 23:21:47 -08:00
Youngsoo Son
4b2aa286d8 Make super a keyword 2013-01-24 16:07:04 +09:00
Tim Chevalier
1d1b81143b Merge pull request #4589 from sanxiyn/doc-vec-match
doc: Document pattern matching on vectors
2013-01-23 14:38:34 -08:00
Seo Sanghyeon
92e52bc95e doc: Document pattern matching on vectors 2013-01-23 22:26:47 +09:00
Seo Sanghyeon
c379d96c67 doc: Document mutable function arguments 2013-01-23 17:20:36 +09:00
Tim Chevalier
e856606c0d Merge pull request #4562 from lbonn/loglevel
doc: fix log level ids
2013-01-21 19:53:24 -08:00
Tim Chevalier
3fac6f8b54 Revert "doc: Fix tutorial-ffi xfail-tests and update SHA1() to use size_t"
This reverts commit 50c8cbb25a.
2013-01-21 19:39:45 -08:00
Chris Peterson
50c8cbb25a doc: Fix tutorial-ffi xfail-tests and update SHA1() to use size_t 2013-01-20 22:56:45 -08:00
Chris Peterson
0b6487cf2c doc: Fix tutorial typo and remove unnecessary xfail-test 2013-01-20 22:56:45 -08:00
Chris Peterson
49e466f1e1 doc: Fix manual's link attributes example code 2013-01-20 22:56:45 -08:00
Laurent Bonnans
c3c90d2e4c doc: fix log level ids 2013-01-21 15:49:46 +09:00
Patrick Walton
9c24c6221e Merge pull request #4440 from pcwalton/tutorial
doc: Fold information from the memory model interlude in the tutorial elsewhere
2013-01-16 12:30:14 -08:00
Peter Williams
e4571446f9 doc: Fix spelling error in macro tutorial 2013-01-12 18:36:46 -05:00
Patrick Walton
f0fa67d6bf doc: Fold information from the memory model interlude in the tutorial elsewhere 2013-01-10 21:24:55 -08:00
John Clements
08275826ca corrected imprecision in description of mutable fields 2013-01-10 20:48:49 -08:00
Brian Anderson
22ed202b61 tutorial: Remove memory model section 2013-01-10 15:22:22 -08:00
Patrick Walton
2db3abddcd librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37 Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
This reverts commit a8d37af247.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247 librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc 2013-01-08 19:27:57 -08:00
Brian Anderson
62c7ca64f0 Merge remote-tracking branch 'superoptimizer/master' into HEAD
Conflicts:
	doc/tutorial.md
2013-01-04 17:31:12 -08:00
Mark Lacey
d94e9c0b04 Fix two minor issues in the tutorial.
Remove an extraneous 'then', and replace 'second' with 'first'.
2013-01-03 22:36:35 -08:00
Chris Peterson
16797fd525 doc: Fix some typos in the tutorial and reference manual 2012-12-31 13:46:52 -08:00
Tim Chevalier
cfb33fc23c Merge pull request #4311 from FranklinChen/fix-macro-tutorial
Remove semicolons at the end of macro_rules! definitions that cause compile failure
2012-12-30 15:53:18 -08:00
Andrew Paseltiner
4cb9247e3b doc: make small corrections to tutorial 2012-12-30 16:09:34 -05:00
Patrick Walton
4be7310be0 doc: Fix explanation and example of struct-like enum variants. rs=busted 2012-12-30 07:09:14 -08:00
Patrick Walton
4b3dd4b920 doc: Fix some broken tutorial examples. rs=bustage 2012-12-29 21:52:51 -08:00
Franklin Chen
6e7cf87101 Remove spurious semicolons at the end of macro_rules! definitions. 2012-12-29 01:37:00 -05:00
Tim Chevalier
09bb07bed9 Unfortunately, we can't embed cross-crate tests in the tutorial...
...as far as I know, anyway, so I xfailed this tutorial test.
2012-12-24 18:29:02 -08:00
Eric J. Holmes
8223a1278d Fix example. 2012-12-24 18:29:02 -08:00
Eric J. Holmes
40a3e20bbb Fix example. 2012-12-24 18:29:02 -08:00
Graydon Hoare
329316ce15 bump 0.5 => 0.6, redirect some URLs in docs. 2012-12-24 18:29:01 -08:00
Tim Chevalier
3cc0fbca5d doc: mention struct-like enum variants /cc #4217 2012-12-24 15:59:37 -08:00
Tim Chevalier
cf768ce1f4 Unfortunately, we can't embed cross-crate tests in the tutorial...
...as far as I know, anyway, so I xfailed this tutorial test.
2012-12-24 14:07:37 -08:00
Tim Chevalier
b1b0c297a4 Merge pull request #4249 from graydon/0.6-bump
bump 0.5 => 0.6, redirect some URLs in docs.
2012-12-23 13:47:11 -08:00
Tim Chevalier
50bb838389 Merge pull request #4272 from ejholmes/crates-minimal-example
Fix example in 13.3.
2012-12-23 13:38:48 -08:00
Eric J. Holmes
889e560ca5 Fix example. 2012-12-23 13:30:23 -08:00
Eric J. Holmes
0100b02b3a Fix example. 2012-12-23 13:26:12 -08:00
Graydon Hoare
dbd36111fe bump 0.5 => 0.6, redirect some URLs in docs. 2012-12-21 15:35:49 -08:00
Brian Anderson
8b98e5a296 doc: Mention argument bindings in manual 2012-12-20 17:01:38 -08:00
Brian Anderson
45e62d0a14 tutorial: Discuss argument patterns 2012-12-20 16:51:37 -08:00