Commit Graph

15087 Commits

Author SHA1 Message Date
Tim Chevalier
90cee95e51 xfail transitive inheritance test -- I guess this doesn't work yet 2013-01-29 20:33:22 -08:00
Tim Chevalier
a30ea013f5 Handle supertrait calls in default methods
Add a new method_super origin for supertrait methods. Also make
coherence create a table that maps pairs of trait IDs and self types
to impl IDs, so that it's possible to check a supertrait method
knowing only its index in its trait's methods (without knowing all
supertraits for a given trait).

r=nmatsakis and graydon -- with hope, we'll revamp all of this code as
per #4678, but for now this fixes the bug.

Closes #3979
2013-01-29 20:33:22 -08:00
Tim Chevalier
b927e48a26 Merge pull request #4682 from thestinger/treemap
Set trait improvements + minor treemap cleanup
2013-01-29 20:09:15 -08:00
Brian Anderson
da4b376897 std: Stop using oldcomm 2013-01-29 19:54:55 -08:00
Tim Chevalier
87acde8826 rustdoc: Remove structural records from tests. Fixes build breakage 2013-01-29 19:49:47 -08:00
Tim Chevalier
0aef28dd6d De-capitalize "note" to get rid of spurious tidy warnings 2013-01-29 19:26:55 -08:00
Daniel Micay
6b08683e15 add intersection and union to the Set trait 2013-01-29 22:24:00 -05:00
Daniel Micay
99eb4ddddd add difference and symmetric_difference to Set 2013-01-29 21:59:58 -05:00
Tim Chevalier
ad3506bd1e Add Felix Klock to AUTHORS 2013-01-29 18:49:22 -08:00
Daniel Micay
42cafcee2c add is_disjoint to the Set trait 2013-01-29 21:30:55 -05:00
Daniel Micay
bfa9c9a00f add is_subset and is_superset to the Set trait 2013-01-29 21:30:55 -05:00
Daniel Micay
456af7a79d update comments documenting issue #4492 workaround 2013-01-29 21:30:55 -05:00
Daniel Micay
a388e2c1a4 treemap: rm a bit of redundant code 2013-01-29 21:30:55 -05:00
Tim Chevalier
3c02e2b61e Merge pull request #4669 from pnkfelix/tutorial-revisions
Small fixes to code samples in Tutorials
2013-01-29 17:30:30 -08:00
Patrick Walton
464ec27fd3 librustc: De-export metadata. rs=deexporting 2013-01-29 16:51:16 -08:00
Patrick Walton
bae4821851 librustc: De-export typeck. rs=deexporting 2013-01-29 16:26:16 -08:00
Patrick Walton
c25703ccb8 librustc: De-export front, borrowck, and typeck/check. rs=deexporting 2013-01-29 16:05:13 -08:00
Patrick Walton
2ea2628ca9 librustc: De-export back, lib, and util. rs=deexporting 2013-01-29 15:48:50 -08:00
Patrick Walton
3105bcfdc1 librustc: De-export driver. rs=deexport 2013-01-29 15:16:43 -08:00
Patrick Walton
b070590564 libsyntax: De-export libsyntax. rs=deexporting 2013-01-29 14:42:23 -08:00
Tim Chevalier
a80a65b3b7 Merge pull request #4676 from thestinger/fuzzy
fix FuzzyEq
2013-01-29 13:58:39 -08:00
Patrick Walton
95b892c8a7 libsyntax: De-export a lot of libsyntax. rs=deëxporting 2013-01-29 13:55:30 -08:00
Daniel Micay
1aa9fdff56 fix FuzzyEq 2013-01-29 16:54:55 -05:00
Tim Chevalier
66b07f1e5d Fix licenseck to allow 2012-2013 as the year range 2013-01-29 13:48:40 -08:00
Tim Chevalier
7bc919909a testsuite: Xfail file that I added by mistake 2013-01-29 13:42:21 -08:00
Tim Chevalier
5e77d55326 Merge pull request #4664 from thestinger/fuzzy
FuzzyEq improvements
2013-01-29 13:36:43 -08:00
Daniel Micay
e0728d41f2 implement fuzzy_eq with fuzzy_eq_eps 2013-01-29 15:35:26 -05:00
Patrick Walton
f1ddb2a32c libstd: De-export libstd. rs=deexport 2013-01-29 12:06:09 -08:00
Patrick Walton
d0391c5b09 libcore: De-export libcore. rs=deexporting 2013-01-29 11:48:46 -08:00
Patrick Walton
4ead38bae7 libsyntax: Implement the impl Trait for Type syntax 2013-01-29 11:48:21 -08:00
Tim Chevalier
1b021d5868 Long line 2013-01-29 11:44:46 -08:00
Tim Chevalier
f8c26525ea docs: Add a note to CONTRIBUTING.md about copyright dates 2013-01-29 11:07:02 -08:00
Tim Chevalier
8cb17ad0fa Merge pull request #4668 from ILyoan/i2673
fix #2673: avoid visiting the same crate twice
2013-01-29 10:54:44 -08:00
Patrick Walton
226cd68f13 librustc: De-implicit-self the visitor. r=graydon 2013-01-29 10:43:12 -08:00
Patrick Walton
6ce74460e6 librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc 2013-01-29 10:42:58 -08:00
Patrick Walton
eb4d39e1fe libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.

This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Tim Chevalier
f1e78c6dd7 Merge pull request #4672 from alexcrichton/linearmap-len-fix
Fix the len() method on LinearMap during popping
2013-01-29 10:38:41 -08:00
Alex Crichton
810eeef444 Fix the len() method on LinearMap during popping 2013-01-29 11:16:39 -05: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
ILyoan
8ec36d779b fix #2673: avoid visiting the same crate twice 2013-01-29 21:03:05 +09: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
William Ting
bb51a8442f Add support for Ubuntu named clang packages.
Ubuntu's clang packages have additional information appended to the end of
the version.

- Building Rust v0.5 with clang v3.0-6ubuntu3 fails.
- Building Rust v0.5 and incoming with clang v3.1-5ppa (backported from Debian)
works.

Closes #4441.
2013-01-28 21:54:11 -08:00
Tim Chevalier
fc9650b146 testsuite: De-record most bench tests 2013-01-28 19:41:56 -08:00
Tim Chevalier
3b36708ca7 testsuite: De-record pretty tests 2013-01-28 19:41:56 -08:00
Tim Chevalier
58ec84a098 testsuite: Remove structural records from remaining compile-fail tests 2013-01-28 19:41:56 -08:00
Tim Chevalier
15871a7458 rustc: Check struct field types when heap memory lint checks are enabled 2013-01-28 19:41:56 -08:00
Tim Chevalier
91676f3fa6 syntax: Don't add an extra space before the last comma...
...when printing struct update expressions.
2013-01-28 19:41:56 -08:00
Tim Chevalier
9f11485357 testsuite: Allow structural records in two tests that use pipes 2013-01-28 19:41:56 -08:00