<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/diagnostic.rs, branch 1.2.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.2.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-06-10T20:14:03+00:00</updated>
<entry>
<title>Removed many pointless calls to *iter() and iter_mut()</title>
<updated>2015-06-10T20:14:03+00:00</updated>
<author>
<name>Joshua Landau</name>
<email>joshua@landau.ws</email>
</author>
<published>2015-06-10T16:22:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ca7418b84658fc1c723672c462aa0a7878d88b64'/>
<id>urn:sha1:ca7418b84658fc1c723672c462aa0a7878d88b64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #25387 - eddyb:syn-file-loader, r=nikomatsakis</title>
<updated>2015-05-17T00:05:34+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2015-05-17T00:05:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c23a9d42ea082830593a73d25821842baf9ccf33'/>
<id>urn:sha1:c23a9d42ea082830593a73d25821842baf9ccf33</id>
<content type='text'>
This allows compiling entire crates from memory or preprocessing source files before they are tokenized.

Minor API refactoring included, which is a [breaking-change] for libsyntax users:
* `ParseSess::{next_node_id, reserve_node_ids}` moved to rustc's `Session`
* `new_parse_sess` -&gt; `ParseSess::new`
* `new_parse_sess_special_handler` -&gt; `ParseSess::with_span_handler`
* `mk_span_handler` -&gt; `SpanHandler::new`
* `default_handler` -&gt; `Handler::new`
* `mk_handler` -&gt; `Handler::with_emitter`
* `string_to_filemap(sess source, path)` -&gt; `sess.codemap().new_filemap(path, source)`
</content>
</entry>
<entry>
<title>syntax: refactor (Span)Handler and ParseSess constructors to be methods.</title>
<updated>2015-05-13T22:47:56+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2015-05-13T20:00:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f786437bd223740d9767345731d458d10936f8d7'/>
<id>urn:sha1:f786437bd223740d9767345731d458d10936f8d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>make diagnostic message clearer when called from cargo</title>
<updated>2015-05-13T20:55:30+00:00</updated>
<author>
<name>Mathieu Rochette</name>
<email>mathieu@rochette.cc</email>
</author>
<published>2015-05-13T20:31:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5f932e8ec81e508ad9d3962814d9ccf78f1561b8'/>
<id>urn:sha1:5f932e8ec81e508ad9d3962814d9ccf78f1561b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Proper spans for for loop expansion</title>
<updated>2015-05-12T00:43:40+00:00</updated>
<author>
<name>Nick Cameron</name>
<email>ncameron@mozilla.com</email>
</author>
<published>2015-05-06T07:17:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0d258516cb88b4f54f672b1c7b4f11002aabd83d'/>
<id>urn:sha1:0d258516cb88b4f54f672b1c7b4f11002aabd83d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Guard against overflow in `codemap::span_to_lines`.</title>
<updated>2015-05-05T10:51:09+00:00</updated>
<author>
<name>Felix S. Klock II</name>
<email>pnkfelix@pnkfx.org</email>
</author>
<published>2015-04-30T08:23:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=939e4c9ea9e63b4da1033d66a72a044279036e6f'/>
<id>urn:sha1:939e4c9ea9e63b4da1033d66a72a044279036e6f</id>
<content type='text'>
Make `span_to_lines` to return a `Result`.
(This is better than just asserting internally, since it allows caller
to decide if they can recover from the problem.)

Added type alias for `FileLinesResult` returned by `span_to_lines`.

Update embedded unit test to reflect `span_to_lines` signature change.

In diagnostic, catch `Err` from `span_to_lines` and print
`"(internal compiler error: unprintable span)"` instead.

----

There a number of recent issues that report the bug here.  See
e.g. #24761 and #24954.

This change *might* fix them. However, that is not its main goal.
The main goals are:

 1. Make it possible for callers to recover from an error here, and

 2. Insert a more conservative check, in that we are
    also checking that the files match up.
</content>
</entry>
<entry>
<title>syntax: Replace String::from_str with the stable String::from</title>
<updated>2015-04-21T17:08:27+00:00</updated>
<author>
<name>Erick Tryzelaar</name>
<email>erick.tryzelaar@gmail.com</email>
</author>
<published>2015-04-17T04:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2937cce70c7c860b215f2d6f22f45c0dfe8ba914'/>
<id>urn:sha1:2937cce70c7c860b215f2d6f22f45c0dfe8ba914</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #24428 - kwantam:deprecate_unicode_fns, r=alexcrichton</title>
<updated>2015-04-18T07:09:22+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2015-04-18T07:09:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a5754b330e78e2ab5a2682a16f53f4f9fe96ed7'/>
<id>urn:sha1:7a5754b330e78e2ab5a2682a16f53f4f9fe96ed7</id>
<content type='text'>
This patch
1. renames libunicode to librustc_unicode,
2. deprecates several pieces of libunicode (see below), and
3. removes references to deprecated functions from
   librustc_driver and libsyntax. This may change pretty-printed
   output from these modules in cases involving wide or combining
   characters used in filenames, identifiers, etc.

The following functions are marked deprecated:

1. char.width() and str.width():
   --&gt; use unicode-width crate

2. str.graphemes() and str.grapheme_indices():
   --&gt; use unicode-segmentation crate

3. str.nfd_chars(), str.nfkd_chars(), str.nfc_chars(), str.nfkc_chars(),
   char.compose(), char.decompose_canonical(), char.decompose_compatible(),
   char.canonical_combining_class():
   --&gt; use unicode-normalization crate
</content>
</entry>
<entry>
<title>deprecate Unicode functions that will be moved to crates.io</title>
<updated>2015-04-16T21:03:05+00:00</updated>
<author>
<name>kwantam</name>
<email>kwantam@gmail.com</email>
</author>
<published>2015-04-14T19:52:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=29d1252e4d2126318d7f622505ed76dd1e8e4edc'/>
<id>urn:sha1:29d1252e4d2126318d7f622505ed76dd1e8e4edc</id>
<content type='text'>
This patch
1. renames libunicode to librustc_unicode,
2. deprecates several pieces of libunicode (see below), and
3. removes references to deprecated functions from
   librustc_driver and libsyntax. This may change pretty-printed
   output from these modules in cases involving wide or combining
   characters used in filenames, identifiers, etc.

The following functions are marked deprecated:

1. char.width() and str.width():
   --&gt; use unicode-width crate

2. str.graphemes() and str.grapheme_indices():
   --&gt; use unicode-segmentation crate

3. str.nfd_chars(), str.nfkd_chars(), str.nfc_chars(), str.nfkc_chars(),
   char.compose(), char.decompose_canonical(), char.decompose_compatible(),
   char.canonical_combining_class():
   --&gt; use unicode-normalization crate
</content>
</entry>
<entry>
<title>Implement traits for parser error structs</title>
<updated>2015-04-15T09:17:58+00:00</updated>
<author>
<name>Adolfo Ochagavía</name>
<email>aochagavia92@gmail.com</email>
</author>
<published>2015-04-15T09:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9891ea74d6f706cf38e91599f1e65816977cefdc'/>
<id>urn:sha1:9891ea74d6f706cf38e91599f1e65816977cefdc</id>
<content type='text'>
Implement `Debug`, `Display` and `Error` for `FatalError` and `ExplicitBug`
</content>
</entry>
</feed>
