Commit Graph

14949 Commits

Author SHA1 Message Date
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
ILyoan 8ec36d779b fix #2673: avoid visiting the same crate twice 2013-01-29 21:03:05 +09: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
Tim Chevalier 93043baab4 testsuite: Add #[allow(structural_records)] to pipes tests
These will require a snapshot.
2013-01-28 19:41:56 -08:00
Tim Chevalier dd38af240b compiletest: Allow legacy records
But also remove most uses of structural records.
2013-01-28 19:41:56 -08:00
Tim Chevalier c5461e46ae core: Allow legacy records in in a few modules
Because of macros, #[allow(structural_records]] in
extfmt, gc, os, pipes, and run. Will need a snapshot.
2013-01-28 19:41:56 -08:00
Tim Chevalier 31d78b2f07 Add #[legacy_records] crate attribute
In rustc, rustdoc, rusti, syntax, and std.
2013-01-28 19:41:56 -08:00
Tim Chevalier 6cbccc92b7 rustc: In lint, forbid structural records unless legacy_records is on 2013-01-28 19:41:55 -08:00
Tim Chevalier db6af50d53 rustc: Add legacy_records field to the type context 2013-01-28 19:41:55 -08:00
Brian Anderson a72aeef9f7 Revert readline optimization and add test 2013-01-28 19:32:02 -08:00
Tim Chevalier 3a6849f36b Revert "Revert "Merge pull request #4633 from thestinger/treemap""
This reverts commit d73077f82d.
2013-01-28 17:20:29 -08:00
Brian Anderson ab0b7b2784 Add Michael Neumann to AUTHORS 2013-01-28 14:42:46 -08:00
Brian Anderson d9170e14b1 Tidy 2013-01-28 14:41:20 -08:00
Michael Neumann d38939c7e8 Slightly optimize read_line()
No need to allocate an additional vector. Instead directly push into the
string.
2013-01-28 14:40:11 -08:00
Michael Neumann 1ecdf3abc1 Greatly improve performance for TcpSocketBuf.read
For every call to the read() function the internal buffer was copied
into a new buffer (minus the bytes copied into the result buffer). When
the internal buffer is large enough, this severely affects performance,
especially when read_line() is used which calls read_byte() (which calls
read()) for each read byte.

For line oriented I/O this wasn't all that bad, because the internal
buffers usually never were very big. The effect is much more visible
once the buffer grows larger.

Now we always first look into the internal buffer and copy as many bytes
as possible (and desired) into the result buffer. If we need more, we
call the socket read function and use the result as the new internal
buffer, then continue to copy from the (new) internal buffer, and so on.
2013-01-28 14:40:11 -08:00
Michael Neumann 0c3ef3cc6b Convert log(debug, ...) to debug!(...) 2013-01-28 14:40:11 -08:00
Michael Neumann 02de11c1e7 Fix example code 2013-01-28 14:40:11 -08:00
Brian Anderson 2a48aef0a8 Merge remote-tracking branch 'thestinger/hashmap' into deriving 2013-01-28 14:28:59 -08:00
Brian Anderson c75cc0aa10 Merge remote-tracking branch 'codeblack08/treemap-ord' into deriving 2013-01-28 14:15:58 -08:00
Daniel Micay 8eaf0737b7 get rid of LinearMap's find_copy method 2013-01-28 16:06:09 -05:00
Niko Matsakis e8f3690123 Change "// WARN" in tidy to "// NOTE" as requested by @catamorphism 2013-01-28 10:01:59 -08:00
Niko Matsakis ef4c060594 Address @catamorphism's comments regarding docs 2013-01-28 10:01:59 -08:00
Niko Matsakis 4b15bfde81 loan: Track whether or not the current path owns the data being
lent.  We can be more liberal with respect to the scope of the loan
if we do not own the data being lent, which used to be impossible
but can now occur with `&mut`.

r=pcwalton
2013-01-28 10:01:59 -08:00
Niko Matsakis b4acde3bf7 remove unused variable 2013-01-28 10:01:59 -08:00
Niko Matsakis e6cadc4c03 remove hacks now that #3148 is fixed
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis 2b67d88809 Rewrite the coercion code to be more readable, more sound, and to reborrow when
needed.

Regarding soundness: there was a subtle bug in how it was done before; see the
compile-fail test for an example.

Regarding reborrowing: reborrowing allows mut and const
slices/borrowed-pointers to be used with pure fns that expect immutable data.

r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis c07ae16de1 rename assign to coerce, remove some bad copies
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis 05b6df49b8 Refactor to make inference code around unification more readable
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis 923b3154c6 Do not try to encode/decode inference types, should not be necessary
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis 19e015c44a Add to_str() definitions for some AST types
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis 08bc19cbcd Remove bounds from type decl of smallintmap
r=brson
2013-01-28 10:01:55 -08:00
Niko Matsakis a4ba11189d Extend region guarantor logic to handle autoref, which will
be necessary for reborrowing.

r=catamorphism
2013-01-28 10:00:41 -08:00
Niko Matsakis 8f14d43206 Make tidy actually work
r=catamorphism
2013-01-28 10:00:39 -08:00
Niko Matsakis 0004be9eca Detect "// WARN" in tidy and print out, well, a warning! Useful
for notating FIXME-style-situations that you want to be reminded
of before you commit.

r=catamorphism
2013-01-28 10:00:35 -08:00
Niko Matsakis 2e10ea58c3 Integrate vec patterns into borrow checker.
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.

r=catamorphism
2013-01-28 10:00:32 -08:00
Niko Matsakis d4fd30c6ac Link the lifetimes of regions resulting from borrows of the
contents of other borrowed pointers to the lifetimes of the
borrowed value.  Fixes #3148.

r=catamorphism
2013-01-28 10:00:23 -08:00
Cody Schroeder 6a4d1855bf std: implement lexicographical Ord for TreeMap/TreeSet 2013-01-26 16:39:17 -08:00
Brian Anderson 83ca034d2e Merge remote-tracking branch 'brson/nocommupstream2' 2013-01-26 14:57:58 -08:00