summary refs log tree commit diff
path: root/src/librustc/ich/impls_syntax.rs
AgeCommit message (Collapse)AuthorLines
2018-12-02Remove not used `DotEq` tokenyui-knk-1/+0
Currently libproc_macro does not use `DotEq` token. https://github.com/rust-lang/rust/pull/49545 changed libproc_macro to not generate `DotEq` token.
2018-10-03Only promote calls to `#[rustc_promotable]` const fnsOliver Schneider-0/+1
2018-08-31Implement the `min_const_fn` feature gateOliver Schneider-2/+1
2018-08-29Remove `AccumulateVec` and its uses.Nicholas Nethercote-2/+2
It's basically just a less capable version of `SmallVec`.
2018-08-23Auto merge of #52602 - scottmcm:tryblock-expr, r=nikomatsakisbors-1/+1
Implement try block expressions I noticed that `try` wasn't a keyword yet in Rust 2018, so... ~~Fix​es https://github.com/rust-lang/rust/issues/52604~~ That was fixed by PR https://github.com/rust-lang/rust/pull/53135 cc https://github.com/rust-lang/rust/issues/31436 https://github.com/rust-lang/rust/issues/50412
2018-08-19Rename `Catch` variants to `TryBlock`Scott McMurray-1/+1
(Not `Try` since `QuestionMark` is using that.)
2018-08-19mv filemap source_fileDonato Sciarra-8/+8
2018-08-19mv FileMap SourceFileDonato Sciarra-3/+3
2018-08-05Add duplicity lint for lang featuresvarkor-1/+1
2018-08-01Switch to bootstrapping from 1.29 betaMark Rousskov-1/+0
2018-07-27Add the -Zcrate-attr=foo nightly rustc flag to inject crate attributesPietro Albini-0/+1
2018-07-18Do not use desugared ident when suggesting adding a typeEsteban Küber-0/+1
2018-07-14Functions introducing procedural macros reserve a slot in the macro ↵Vadim Petrochenkov-1/+2
namespace as well
2018-07-13Add the `amdgpu-kernel` ABI.Richard Diamond-0/+1
Technically, there are requirements imposed by the LLVM `AMDGPUTargetMachine` on functions with this ABI (eg, the return type must be void), but I'm unsure exactly where this should be enforced.
2018-06-28Auto merge of #50997 - michaelwoerister:pre-analyze-filemaps, r=Mark-Simulacrumbors-18/+12
Make FileMap::{lines, multibyte_chars, non_narrow_chars} non-mutable. This PR removes most of the interior mutability from `FileMap`, which should be beneficial, especially in a multithreaded setting. This is achieved by initializing the state in question when the filemap is constructed instead of during lexing. Hopefully this doesn't degrade performance. cc @wesleywiser
2018-06-27Make FileMap::{lines, multibyte_chars, non_narrow_chars} non-mutable.Michael Woerister-18/+12
2018-06-27Implement `#[macro_export(local_inner_macros)]`Vadim Petrochenkov-0/+1
2018-06-23hygiene: Merge `NameAndSpan` into `ExpnInfo`Vadim Petrochenkov-6/+2
2018-06-21async await desugaring and testsTaylor Cramer-0/+1
2018-06-07Add existential type definitonsOliver Schneider-0/+1
2018-05-17Add edition to expansion infoVadim Petrochenkov-0/+10
2018-05-15Represent lifetimes as two joint tokens in proc macrosVadim Petrochenkov-0/+1
2018-05-02make it compile againflip1995-1/+1
2018-05-02Remove Option from the return type of Attribute::name()Seiichi Uchida-3/+2
2018-05-02Allow Path for name of MetaItemSeiichi Uchida-4/+12
2018-04-27Rename InternedString to LocalInternedString and introduce a new thread-safe ↵John Kåre Alsaker-4/+24
InternedString
2018-04-26rustc_target: move in syntax::abi and flip dependency.Irina Popa-1/+1
2018-04-10Add ok-wrapping to catch blocks, per RFCScott McMurray-1/+2
2018-04-06Use `Ident` instead of `Name` in `MetaItem`Vadim Petrochenkov-1/+1
2018-04-06Remove more duplicated spansVadim Petrochenkov-1/+1
2018-04-06Rename `PathSegment::identifier` to `ident`Vadim Petrochenkov-1/+1
2018-04-03Remove all unstable placement featuresAidan Hobson Sayers-1/+0
Closes #22181, #27779
2018-03-18Initial implementation of RFC 2151, Raw IdentifiersLymia Aluysia-1/+4
2018-03-17syntax: Make `_` an identifierVadim Petrochenkov-1/+0
2018-03-15Make FileMap thread-safeJohn Kåre Alsaker-15/+18
2018-03-08Add InterpretInterner to StableHashingContext for AllocId serializationOliver Schneider-23/+25
2018-03-05Turn features() into a query.Michael Woerister-0/+19
2018-01-04rustc: use {U,I}size instead of {U,I}s shorthands.Eduard-Mihai Burtescu-2/+2
2017-12-19incr.comp.: Precompute small hash for filenames to save some work.Michael Woerister-2/+3
2017-12-15incr.comp.: Revert hashing optimization that caused regression.Michael Woerister-2/+0
2017-12-14incr.comp.: Do less hashing per Span.Michael Woerister-0/+2
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-0/+11
2017-12-01incr.comp.: Properly hash and encode macro expansion information.Michael Woerister-0/+24
2017-11-03Display spans correctly when there are non-half-width charactersWonwoo Choi-0/+16
2017-10-03Rename FileMap::path and change to an OptionPhilip Craig-1/+1
2017-09-30Don't use remapped path when loading modules and include filesPhilip Craig-0/+1
2017-09-22Add support for `..=` syntaxAlex Burka-0/+2
Add ..= to the parser Add ..= to libproc_macro Add ..= to ICH Highlight ..= in rustdoc Update impl Debug for RangeInclusive to ..= Replace `...` to `..=` in range docs Make the dotdoteq warning point to the ... Add warning for ... in expressions Updated more tests to the ..= syntax Updated even more tests to the ..= syntax Updated the inclusive_range entry in unstable book
2017-09-18rustc: Forbid interpolated tokens in the HIRAlex Crichton-18/+5
Right now the HIR contains raw `syntax::ast::Attribute` structure but nowadays these can contain arbitrary tokens. One variant of the `Token` enum is an "interpolated" token which basically means to shove all the tokens for a nonterminal in this position. A "nonterminal" in this case is roughly analagous to a macro argument: macro_rules! foo { ($a:expr) => { // $a is a nonterminal as an expression } } Currently nonterminals contain namely items and expressions, and this poses a problem for incremental compilation! With incremental we want a stable hash of all HIR items, but this means we may transitively need a stable hash *of the entire AST*, which is certainly not stable w/ node ids and whatnot. Hence today there's a "bug" where the "stable hash" of an AST is just the raw hash value of the AST, and this only arises with interpolated nonterminals. The downside of this approach, however, is that a bunch of errors get spewed out during compilation about how this isn't a great idea. This PR is focused at fixing these warnings, basically deleting them from the compiler. The implementation here is to alter attributes as they're lowered from the AST to HIR, expanding all nonterminals in-place as we see them. This code for expanding a nonterminal to a token stream already exists for the `proc_macro` crate, so we basically just reuse the same implementation there. After this PR it's considered a bug to have an `Interpolated` token and hence the stable hash implementation simply uses `bug!` in this location. Closes #40946
2017-09-18incr.comp.: Remove tcx from StableHashingContext.Michael Woerister-24/+24
2017-09-18incr.comp.: Make the StableHashingContext mostly independent of the tcx.Michael Woerister-2/+2