Donato Sciarra
d6dcbcd4e1
mv FileMap SourceFile
2018-08-19 23:00:59 +02:00
Donato Sciarra
c655473378
mv CodeMap SourceMap
2018-08-19 23:00:59 +02:00
ljedrz
e5e6375352
Move SmallVec and ThinVec out of libsyntax
2018-08-13 22:11:57 +02:00
ljedrz
44d32d4413
Avoid unnecessary pattern matching against Option and Result
2018-08-07 10:24:27 +02:00
Vadim Petrochenkov
7d142c1e53
Address comments
2018-07-14 14:57:15 +03:00
Vadim Petrochenkov
4d1a30c92b
Remove most of PartialEq impls from AST and HIR structures
2018-07-14 14:56:57 +03:00
ljedrz
e28e4877a8
Deny bare trait objects in in src/libsyntax
2018-07-10 21:06:26 +02:00
Vadim Petrochenkov
d347270e0c
Implement #[macro_export(local_inner_macros)]
2018-06-27 13:10:16 +03:00
Vadim Petrochenkov
20ce91076a
hygiene: Merge NameAndSpan into ExpnInfo
2018-06-23 21:53:24 +03:00
Taylor Cramer
cf844b547d
async await desugaring and tests
2018-06-21 22:36:36 -07:00
Without Boats
18ff7d091a
Parse async fn header.
...
This is gated on edition 2018 & the `async_await` feature gate.
The parser will accept `async fn` and `async unsafe fn` as fn
items. Along the same lines as `const fn`, only `async unsafe fn`
is permitted, not `unsafe async fn`.The parser will not accept
`async` functions as trait methods.
To do a little code clean up, four fields of the function type
struct have been merged into the new `FnHeader` struct: constness,
asyncness, unsafety, and ABI.
Also, a small bug in HIR printing is fixed: it previously printed
`const unsafe fn` as `unsafe const fn`, which is grammatically
incorrect.
2018-06-21 22:29:47 -07:00
varkor
e1d888c722
Remove methods from ast::GenericParam and ast::Generics
2018-06-20 12:21:08 +01:00
QuietMisdreavus
122b5b47c2
create multiple HIR items for a use statement
2018-06-14 17:47:28 -05:00
dylan_DPC
1048ae29a1
append unused variables with _
2018-06-06 12:22:38 +05:30
dylan_DPC
e8fd74a11d
remove redundant match branch
2018-06-05 23:44:42 +05:30
dylan_DPC
b78457f0fb
Stabilize unit tests with non-() return type
2018-06-02 17:27:37 +05:30
Vadim Petrochenkov
1e4269cb83
Add Ident::as_str helper
2018-05-26 15:20:23 +03:00
Vadim Petrochenkov
640884bad0
Add edition to expansion info
2018-05-17 23:13:08 +03:00
Irina Popa
a131c518ad
Fixed tidy errors.
2018-04-26 17:49:24 +03:00
Irina Popa
04fa0e7bb3
rustc_target: move in syntax::abi and flip dependency.
2018-04-26 17:49:16 +03:00
Russell Cohen
14e5e0e9c9
Don't allow #[should_panic] with non-() tests
2018-04-23 07:13:29 -07:00
Vadim Petrochenkov
3a30bad6de
Use Ident instead of Name in MetaItem
2018-04-06 11:52:16 +03:00
Vadim Petrochenkov
b3b5ef186c
Remove more duplicated spans
2018-04-06 11:50:49 +03:00
bors
14ac1b5faa
Auto merge of #49279 - varkor:generated-closure-return-type, r=alexcrichton
...
Fix implicit closure return type generation for libsyntax
The `lambda` function for constructing closures in libsyntax was explicitly setting the return type to `_`, which resulted in incorrect corresponding syntax (as `|| -> _ x` is not valid, without the enclosing brackets). This meant the generated code, when printed, was invalid.
I also took the opportunity to slightly improve the generated code for the `RustcEncodable::encode` method for unit structs.
Fixes #42213 .
2018-03-27 07:16:29 +00:00
kennytm
8d57071cbb
Rollup merge of #49162 - tmandry:stabilize-termination-trait, r=nikomatsakis
...
Stabilize termination_trait, split out termination_trait_test
For #48453 .
First time contribution, so I'd really appreciate any feedback on how this PR can be better.
Not sure exactly what kind of documentation update is needed. If there is no PR to update the reference, I can try doing that this week as I have time.
2018-03-25 01:26:32 +08:00
varkor
0d278ca6a8
Use FunctionRetTy::Default rather than an explicit TyKind::Infer for lambda-building
...
This prevents explicit `-> _` return type annotations for closures generated by `lambda`.
2018-03-22 15:55:57 +00:00
kennytm
8d3f3f0cac
Rollup merge of #49117 - nivkner:fixme_fixup3, r=estebank
...
address some FIXME whose associated issues were marked as closed
part of #44366
2018-03-22 22:43:37 +08:00
Tyler Mandry
c5c650d670
Split out termination_trait_test feature gate
2018-03-19 00:26:41 -05:00
Vadim Petrochenkov
b057c554ab
AST: Make renames in imports closer to the source
...
Fix `unused_import_braces` lint false positive on `use prefix::{self as rename}`
2018-03-17 22:12:21 +03:00
Niv Kaminer
2c6b7b9323
remove FIXME( #2543 ) and avoid bad copies
2018-03-17 20:24:49 +02:00
John Kåre Alsaker
b74e97cf42
Replace Rc with Lrc for shared data
2018-03-02 10:48:52 +01:00
Manish Goregaokar
b52b33a386
Rollup merge of #48143 - nikomatsakis:termination_trait_in_tests, r=eddyb
...
Termination trait in tests
Support the `Termination` trait in unit tests (cc https://github.com/rust-lang/rust/issues/43301 )
Also, a drive-by fix for #47075 .
This is joint work with @bkchr.
2018-02-24 12:47:58 -08:00
Niko Matsakis
067c2e3d03
handle #[bench] functions better
2018-02-22 20:09:10 -05:00
Niko Matsakis
e446f706a8
put the "unit test" logic into libtest
...
Also make `std::termination` module public and rename feature.
The lib feature needs a different name from the language feature.
2018-02-22 17:56:24 -05:00
Niko Matsakis
0625d4c282
begin crate-relative paths with crate
2018-02-22 17:31:37 -05:00
Niko Matsakis
1eab1b19a3
support unit tests with return values that implement Terminaton
...
Extend `Termination` trait with a method to determine what happens
with a unit test.
This commit incorporates work by Bastian Köcher <git@kchr.de>.
2018-02-22 17:31:37 -05:00
Seiichi Uchida
d6bdf296a4
Change ast::Visibility to Spanned type
2018-02-18 00:10:40 +09:00
John Kåre Alsaker
9a8d6b8bb5
Do not capture stderr in the compiler. Instead just panic silently for fatal errors
2018-01-26 04:52:30 +01:00
Seiichi Uchida
d882691046
Prefer to use attr::contains_name() and attr::find_by_name()
2017-12-28 12:32:24 +09:00
Jonas Platte
78493ed21a
Add GenericParam, refactor Generics in ast, hir, rustdoc
...
The Generics now contain one Vec of an enum for the generic parameters,
rather than two separate Vec's for lifetime and type parameters.
Additionally, places that previously used Vec<LifetimeDef> now use
Vec<GenericParam> instead.
2017-12-21 13:38:10 +01:00
Vadim Petrochenkov
a4aa26aaa0
syntax: Rename P::unwrap into P::into_inner
2017-12-17 02:21:29 +03:00
Jeffrey Seyfried
9c7969d3df
Use hygiene to access the injected crate (core or std) from builtin macros.
2017-12-09 17:22:07 -08:00
Pietro Albini
91ba8b42fc
Implement RFC 2128 (use_nested_groups)
...
This commit adds support for nested groups inside `use` declarations,
such as `use foo::{bar, sub::{baz::Foo, *}};`.
2017-11-30 13:10:26 +01:00
Vadim Petrochenkov
3da868dcb6
Make fields of Span private
2017-08-30 01:38:54 +03:00
Tamir Duberstein
0463566f27
syntax: clarify field name
...
The value of this field is meant to indicate whether or not the
crate is rustc's libtest itself - not whether or not it is a test
crate generally.
2017-08-25 16:13:02 -04:00
Tamir Duberstein
f2fb45723a
syntax: remove unused field
2017-08-25 16:01:14 -04:00
Zack M. Davis
1b6c9605e4
use field init shorthand EVERYWHERE
...
Like #43008 (f668999 ), but _much more aggressive_.
2017-08-15 15:29:17 -07:00
Eduard-Mihai Burtescu
8a4facc3c3
syntax: #[allow_internal_unsafe] bypasses the unsafe_code lint in macros.
2017-08-12 09:14:50 +03:00
Alex Crichton
9b2f7624ec
syntax: Add tokens: Option<TokenStream> to Item
...
This commit adds a new field to the `Item` AST node in libsyntax to optionally
contain the original token stream that the item itself was parsed from. This is
currently `None` everywhere but is intended for use later with procedural
macros.
2017-07-28 07:58:20 -07:00
Kevin Mehall
17bd76a516
Remove unused code from librustc_errors
2017-07-06 18:49:32 -07:00