Commit Graph

42803 Commits

Author SHA1 Message Date
Nick Hamann
d636b5cf65 Improve examples in the E0255/E0256 error explanations. 2015-05-14 02:54:50 -05:00
bors
0a1a53d693 Auto merge of #24741 - cgwalters:note-setenv-and-unsetenv-are-not-threadsafe, r=alexcrichton
See:
https://sourceware.org/bugzilla/show_bug.cgi?id=4887#c9
https://bugs.freedesktop.org/show_bug.cgi?id=65681

I just noticed this while talking to someone who was using
`os.environ['FOO'] = 'BAR'` in Python and since I'm learning Rust, I
was curious if it did anything special here (and the answer appears to
be no).

Java got this right by disallowing `setenv()` from the start.
2015-05-14 07:15:51 +00:00
Nick Hamann
06aef339f1 Add error explanations for E0053, E0251, E0252, E0255, E0256, E0368. 2015-05-14 02:04:51 -05:00
bors
e77b03d783 Auto merge of #25238 - alexcrichton:fix-archive-with-slashes, r=brson
I've been working with some archives generated by MSVC's `lib.exe` tool lately,
and it looks like the embedded name of the members in those archives sometimes
have slahes in the name (e.g. `foo/bar/baz.obj`). Currently the compiler chokes
on these paths as it assumes that each file in the archive is only the filename
(which is what unix does).

This commit interprets the name of each file in all archives as a path and then
only uses the `file_name` portion of the path to extract the file to a separate
location and then reassemble it back into a new archive later. Note that
duplicate filenames are already handled, so this won't introduce any conflicts.
2015-05-14 05:25:43 +00:00
David Reid
f539c416a0 Fix automatic substitution of task->thread. 2015-05-13 20:41:03 -07:00
bors
1b5b6390ba Auto merge of #25065 - quantheory:fix_associated_const_ambiguity_message, r=nikomatsakis
This fixes #24922 and #25017, and reduces the number of error messages that talk about "methods" when associated constants rather than methods are involved.

I will admit that I haven't thought very carefully about the error messages. My goal has been to make more of the messages technically correct in all situations, and to avoid ICEs. But in some cases we could probably talk specifically about "methods" rather than "items".
2015-05-14 03:36:37 +00:00
Nick Cameron
c8ddb0f070 Extract PathCollector 2015-05-14 15:28:17 +12:00
Nick Cameron
cea73bfb15 move out function data 2015-05-14 15:28:01 +12:00
Nick Cameron
b248ee8746 Use the new-style API for external crate listings 2015-05-14 15:28:01 +12:00
Nick Cameron
4f9b04bf9e save-analysis: move csv dumping stuff to its own module and rename 2015-05-14 15:27:32 +12:00
David Reid
71f7fb2b59 Fix table syntax. 2015-05-13 20:03:56 -07:00
Colin Walters
44a5bf1b7d libstd/env: Add non-Rust synchronization warnings for setenv()
See:
https://sourceware.org/bugzilla/show_bug.cgi?id=4887#c9
https://bugs.freedesktop.org/show_bug.cgi?id=65681

I just noticed this while talking to someone who was using
`os.environ['FOO'] = 'BAR'` in Python and since I'm learning Rust, I
was curious if it did anything special here.  It looks like Rust has
an internal mutex, which helps for apps that are pure Rust, but it
will be an evil trap for someone later adding in native code (apps
like Servo and games will be at risk).

Java got this right by disallowing `setenv()` from the start.

I suggest Rust program authors only use `setenv()` early in main.
2015-05-13 21:14:15 -04:00
Nick Hamann
a4444aa780 Add error explanations for E0066 and E0069.
This also updates the error messages for both. For E0066, it removes mention
of "managed heap", which was removed in 8a91d33. For E0069, I just tweaked
the wording to make it a bit more explicit.
2015-05-13 19:55:34 -05:00
Alex Crichton
556e76bb78 std: Redesign Duration, implementing RFC 1040
This commit is an implementation of [RFC 1040][rfc] which is a redesign of the
currently-unstable `Duration` type. The API of the type has been scaled back to
be more conservative and it also no longer supports negative durations.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1040-duration-reform.md

The inner `duration` module of the `time` module has now been hidden (as
`Duration` is reexported) and the feature name for this type has changed from
`std_misc` to `duration`. All APIs accepting durations have also been audited to
take a more flavorful feature name instead of `std_misc`.

Closes #24874
2015-05-13 17:50:58 -07:00
bors
e5394240a2 Auto merge of #25208 - lfairy:version-hash, r=brson
The code takes a prefix of the MD5 hash of the version string.

Since the hash command differs across GNU and BSD platforms, we scan for
the right one in the configure script.

Closes #25007
2015-05-14 00:42:32 +00:00
Sean Patrick Santos
b4bbf3a88d Fix ICE that occurs when an associated const is ambiguous.
Also change several error messages to refer to "items" rather than
"methods", since associated items that require resolution during type
checking are not always methods.
2015-05-13 18:10:01 -06:00
Nick Hamann
809be9b7f4 Fix link to RFC 255 in Reference. 2015-05-13 19:07:19 -05:00
Tamir Duberstein
f548a05542 Unignore some tests in stage1
We don't have any pending snapshot-requiring changes. Tests which
continue to be ignored are those that are broken by codegen changes.
2015-05-13 19:58:49 -04:00
Sean Patrick Santos
4774d5d9a1 Allow T::C syntax in match patterns to refer to trait-assosociated constants. 2015-05-13 17:39:16 -06:00
Eduard Burtescu
07d4f77790 syntax: abstract over the file loading mechanism. 2015-05-14 01:47:56 +03:00
Eduard Burtescu
0d50b043f7 syntax::parse: optimize file_to_filemap to read a string directly. 2015-05-14 01:47:56 +03:00
Eduard Burtescu
6a59d1824d syntax: replace sess.span_diagnostic.cm with sess.codemap(). 2015-05-14 01:47:56 +03:00
Eduard Burtescu
f786437bd2 syntax: refactor (Span)Handler and ParseSess constructors to be methods. 2015-05-14 01:47:56 +03:00
Eduard Burtescu
6a045b9d1c Move tracking of the next NodeId from syntax's ParseSess to rustc's Session. 2015-05-14 01:47:56 +03:00
bors
5a341ecfc9 Auto merge of #25384 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #25308, #25360, #25363, #25365, #25371, #25372, #25376, #25379, #25382
- Failed merges:
2015-05-13 21:56:56 +00:00
Steve Klabnik
87c903a95c Fix test failure in the reference 2015-05-13 17:53:57 -04:00
Lee Jeffery
4f82c3151b Added test to check that newlines are stripped from comments 2015-05-13 22:06:26 +01:00
Lee Jeffery
aef0581513 Fix byte offset and error message inconsistencies 2015-05-13 22:05:01 +01:00
Mathieu Rochette
5f932e8ec8 make diagnostic message clearer when called from cargo 2015-05-13 22:55:30 +02:00
Steve Klabnik
a93c8b655f Rollup merge of #25382 - steveklabnik:typo_fix, r=alexcrichton
Thanks apdapreturns
2015-05-13 16:51:30 -04:00
Steve Klabnik
63f39a621b Rollup merge of #25379 - mpark:trpl, r=alexcrichton 2015-05-13 16:51:29 -04:00
Steve Klabnik
a96f09bf52 Rollup merge of #25376 - swaroopch:patch-2, r=steveklabnik
I don't recall reading about this `Debug` trait so far in the book. Please ignore this PR if I have missed that part.

r? @steveklabnik
2015-05-13 16:51:29 -04:00
Steve Klabnik
4c6527e807 Rollup merge of #25372 - steveklabnik:gh25355, r=alexcrichton
Fixes #25355
2015-05-13 16:51:29 -04:00
Steve Klabnik
1b0035ab84 Rollup merge of #25371 - steveklabnik:vec_macro_doc, r=alexcrichton
Add the repeating form of the vec macro

Remove unneeded literal annotations.

Use more conventional variable names.
2015-05-13 16:51:29 -04:00
Steve Klabnik
af447dd05f Rollup merge of #25365 - meqif:error-markdown, r=huonw
Reading through the rendered error explanations in http://doc.rust-lang.org/error-index.html, I noticed a few opportunities to improve the output.
2015-05-13 16:51:29 -04:00
Steve Klabnik
5ce5cf597e Rollup merge of #25363 - nham:E0106_E0107_fix, r=alexcrichton
cc #25328
2015-05-13 16:51:28 -04:00
Steve Klabnik
12c93aa278 Rollup merge of #25360 - steveklabnik:typo, r=alexcrichton
Thanks @quantheory!
2015-05-13 16:51:28 -04:00
Steve Klabnik
522ee203e0 Rollup merge of #25308 - nham:audit_ref_traits, r=alexcrichton
cc #16676
2015-05-13 16:51:28 -04:00
Steve Klabnik
22eb466dfd Fix typo
Thanks apdapreturns
2015-05-13 16:43:39 -04:00
Swaroop C H
f6e5369e53 trpl/error-handling - fix typo 2015-05-13 13:23:10 -07:00
Tamir Duberstein
cce30b2ae6 Remove errant line 2015-05-13 15:55:42 -04:00
Michael Park
ee57f28f49 TRPL: Fix a broken link to 'move semantics' 2015-05-13 11:41:25 -07:00
Swaroop C H
baef1327f4 Add link to Debug trait
I don't recall reading about this `Debug` trait so far in the book.
2015-05-13 09:49:11 -07:00
bors
222cd73b8a Auto merge of #25344 - arielb1:fresh-float, r=nikomatsakis
There is no subtyping relationship between the types (or their non-freshened
variants), so they can not be merged.

Fixes #22645
Fixes #24352
Fixes #23825

Should fix #25235 (no test in issue).
Should fix #19976 (test is outdated).
2015-05-13 15:42:45 +00:00
Steve Klabnik
378868ed4f Writer -> Write in macro docs
Fixes #25355
2015-05-13 10:47:33 -04:00
Steve Klabnik
96a3443712 Small cleanup to vec docs
Add the repeating form of the vec macro

Remove unneeded literal annotations.

Use more conventional variable names.
2015-05-13 10:44:37 -04:00
bors
af41097b49 Auto merge of #25333 - GSam:master, r=nrc
As it is, save-analysis appears to return the span for the 'mut' in a declaration 'static mut identifier...' instead of the identifier. This minor change appears to fix the problem, by skipping the mut when it is present.
2015-05-13 13:54:48 +00:00
bors
eb4cb6d16d Auto merge of #25318 - nrc:for-expn, r=sfackler
r? @sfackler
2015-05-13 12:07:11 +00:00
Ricardo Martins
06b084fc9f Markdown formatting for error explanations. 2015-05-13 12:12:19 +01:00
bors
67433c1a30 Auto merge of #25253 - robertfoss:master, r=brson 2015-05-13 10:19:12 +00:00