70 Commits

Author SHA1 Message Date
Jeffrey Seyfried
82a15a6a0a Rollup merge of #34385 - cgswords:tstream, r=nrc
syntax-[breaking-change] cc #31645
(Only breaking because ast::TokenTree is now tokenstream::TokenTree.)

This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-26 02:11:59 +00:00
Jonathan Turner
bc1400600b reexport errors from syntax. fix failing cfail test 2016-06-24 19:10:15 -04:00
Jonathan Turner
6ae3502134 Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
cgswords
d59accfb06 Refactored tokentrees into their own files in preparation for tokenstreams. Modified tests to point to the new file now. 2016-06-21 11:12:36 -07:00
Niko Matsakis
489a6c95bf replace fileline_{help,note} with {help,note}
The extra filename and line was mainly there to keep the indentation
relative to the main snippet; now that this doesn't include
filename/line-number as a prefix, it is distracted.
2016-05-02 11:49:23 -04:00
Vadim Petrochenkov
546c052d22 syntax: Get rid of token::IdentStyle 2016-04-24 20:59:44 +03:00
Jorge Aparicio
0f02309e4b try! -> ?
Automated conversion using the untry tool [1] and the following command:

```
$ find -name '*.rs' -type f | xargs untry
```

at the root of the Rust repo.

[1]: https://github.com/japaric/untry
2016-03-22 22:01:37 -05:00
Oliver 'ker' Schneider
d844bfb196 [breaking-change] don't glob export ast::Visibility variants 2016-02-11 12:34:48 +01:00
Oliver 'ker' Schneider
73fa9b2da2 [breaking-change] don't glob export ast::Mutablity variants 2016-02-11 12:34:48 +01:00
Oliver 'ker' Schneider
019614f03d [breaking-change] don't glob export ast::Item_ variants 2016-02-11 12:34:48 +01:00
Oliver Schneider
05d4cefd63 [breaking-change] don't pub export ast::Ty_ variants 2016-02-11 12:34:48 +01:00
Ruud van Asseldonk
a7f1d12ae4 Avoid ICE if environment variable is not set
Rustdoc could trigger a code path that relied on the
$CFG_COMPILER_HOST_TRIPLE environment variable being
set, causing an ICE if it was not. This fixes that,
emitting an error instead of crashing.
2016-01-28 22:15:42 +01:00
Nick Cameron
95dc7efad0 use structured errors 2015-12-30 14:27:59 +13:00
Oliver Schneider
fcc7067904 remove Tt prefix from TokenType variants
[breaking change]
2015-11-06 14:52:02 +01:00
Vadim Petrochenkov
f284cbc7af Cleanup interfaces of Name, SyntaxContext and Ident
Make sure Name, SyntaxContext and Ident are passed by value
Make sure Idents don't serve as keys (or parts of keys) in maps, Ident comparison is not well defined
2015-09-24 23:05:02 +03:00
Niko Matsakis
75ee8f1562 Introduce a "origin/cause" for new requirements (or bugfixes...) introduced by RFC 1214,
and issue a warning (and explanatory note) when we encounter such a
thing.
2015-08-12 17:58:22 -04:00
Eli Friedman
bbbfed2f93 Use https URLs to refer to rust-lang.org where appropriate.
Also fixes a few outdated links.
2015-08-09 14:28:46 -07:00
Oliver Schneider
00a5e66f81 remove get_ident and get_name, make as_str sound 2015-07-28 18:07:20 +02:00
Guillaume Gomez
6e58043e75 Improve register_long_diagnostics macro 2015-07-17 11:21:05 +02:00
Guillaume Gomez
a5d8c43687 Improve register_diagnostics macro 2015-07-16 13:16:59 +02:00
Michael Sproul
634fced396 diagnostics: Resurrect the Compiler Error Index. 2015-06-20 16:57:40 +10:00
Michael Sproul
328df8ebf9 diagnostics: Allow long URLs in error explanations. 2015-06-14 18:46:32 +10:00
Oliver 'ker' Schneider
ec078a033b change some statics to constants 2015-06-07 19:50:13 +02:00
Felix S. Klock II
deaa1172cf Remove error diagnostics uniqueness check and .json generation.
This is meant to be a temporary measure to get the builds to be
reliable again; see also Issue #25705.
2015-05-22 15:40:12 +02:00
Michael Sproul
d27230bb6d Add metadata output to the diagnostics system.
Diagnostic errors are now checked for uniqueness across the compiler and
error metadata is written to JSON files.
2015-04-30 08:59:53 +10:00
Erick Tryzelaar
8553658952 syntax: remove #[feature(quote, unsafe_destructor)] 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
ca0ee4c645 syntax: Remove uses of #[feature(slice_patterns)] 2015-04-21 10:08:26 -07:00
Michael Sproul
6d2b6d5a19 Enforce 80 char lines in extended errors. 2015-04-17 21:35:24 +10:00
Michael Sproul
dd5eed4b81 Validate format of extended error descriptions. 2015-04-17 21:30:41 +10:00
Ivan Radanov Ivanov
7496539a00 Change span_help calls to fileline_help where appropriate 2015-03-03 15:18:33 +02:00
Keegan McAllister
f66a3f7bba Replace MacExpr / MacPat / MacItems with MacEager
MacEager is a MacResult implementation for the common case where you've already
built each form of AST that you might return.

Fixes #17637. Based on #18814.

This is a [breaking-change] for syntax extensions:

  * MacExpr::new becomes MacEager::expr.

  * MacPat::new becomes MacEager::pat.

  * MacItems::new becomes MacEager::items. It takes a SmallVector directly,
    not an iterator.
2015-02-27 11:17:05 -08:00
Alex Crichton
231eeaa35b rollup merge of #22502: nikomatsakis/deprecate-bracket-bracket
Conflicts:
	src/libcollections/slice.rs
	src/libcollections/str.rs
	src/librustc/middle/lang_items.rs
	src/librustc_back/rpath.rs
	src/librustc_typeck/check/regionck.rs
	src/libstd/ffi/os_str.rs
	src/libsyntax/diagnostic.rs
	src/libsyntax/parse/parser.rs
	src/libsyntax/util/interner.rs
	src/test/run-pass/regions-refcell.rs
2015-02-18 15:48:40 -08:00
Niko Matsakis
9ea84aeed4 Replace all uses of &foo[] with &foo[..] en masse. 2015-02-18 17:36:03 -05:00
Kevin Butler
061206b9c7 Remove usage of .map(|&foo| foo) 2015-02-18 00:57:35 +00:00
Kevin Butler
2f586b9687 Opt for .cloned() over .map(|x| x.clone()) etc. 2015-02-18 00:56:07 +00:00
Nick Cameron
cacd6b66f1 Refactor compilation to make it easier to use for tools 2015-02-09 18:00:56 +13:00
GuillaumeGomez
7b973ba827 Update to last version, remove "[]" as much as possible 2015-02-06 12:03:46 +01:00
GuillaumeGomez
8b12d3ddf9 Libsyntax has been updated 2015-02-06 11:59:10 +01:00
GuillaumeGomez
d58c0a7597 Replace the get method by the deref one on InternedString 2015-02-06 11:59:10 +01:00
Jorge Aparicio
17bc7d8d5b cleanup: replace as[_mut]_slice() calls with deref coercions 2015-02-05 13:45:01 -05:00
Alex Crichton
90af72378d Make diagnostic ordering deterministic 2015-01-21 20:25:19 -08:00
Michael Sproul
9a4401fe82 Add some extended errors. 2015-01-20 11:27:51 -08:00
Brian Anderson
f68029ec94 Make fatal errors work with codes, add to typeck 2015-01-20 11:27:51 -08:00
Brian Anderson
953d6dfd7e Make error code registration work again. #19624 2015-01-20 11:27:14 -08:00
Jorge Aparicio
517f1cc63c use slicing sugar 2015-01-07 17:35:56 -05:00
Nick Cameron
f7ff37e4c5 Replace full slice notation with index calls 2015-01-07 10:46:33 +13:00
Keegan McAllister
fc58479323 Stop using macro_escape as an inner attribute
In preparation for the rename.
2015-01-05 12:00:57 -08:00
Nick Cameron
2c92ddeda7 More fallout 2015-01-02 10:28:19 +13:00
Alex Crichton
082bfde412 Fallout of std::str stabilization 2014-12-21 23:31:42 -08:00
Patrick Walton
ddb2466f6a librustc: Always parse macro!()/macro![] as expressions if not
followed by a semicolon.

This allows code like `vec![1i, 2, 3].len();` to work.

This breaks code that uses macros as statements without putting
semicolons after them, such as:

    fn main() {
        ...
        assert!(a == b)
        assert!(c == d)
        println(...);
    }

It also breaks code that uses macros as items without semicolons:

    local_data_key!(foo)

    fn main() {
        println("hello world")
    }

Add semicolons to fix this code. Those two examples can be fixed as
follows:

    fn main() {
        ...
        assert!(a == b);
        assert!(c == d);
        println(...);
    }

    local_data_key!(foo);

    fn main() {
        println("hello world")
    }

RFC #378.

Closes #18635.

[breaking-change]
2014-12-18 12:09:07 -05:00