summary refs log tree commit diff
path: root/src/librustc/ich/impls_syntax.rs
AgeCommit message (Collapse)AuthorLines
2019-11-30introduce crate rustc_feature and move active, accepted, and removed to itMazdak Farrokhzad-2/+1
2019-11-23Derive HashStable for TokenKind.Camille GILLOT-66/+1
2019-11-23Rename StableHashingContextLike to HashStableContext.Camille GILLOT-2/+2
2019-11-22Retire impl_stable_hash_for.Camille GILLOT-1/+6
2019-11-22Retire impl_stable_hash_for_spanned.Camille GILLOT-2/+0
2019-11-22Derives for ast.Camille GILLOT-17/+0
2019-11-22Invert implementations for TokenKind.Camille GILLOT-49/+9
Also export a bunch of Token-related impls.
2019-11-22Export HashStable for DelimSpan, Lit and Path.Camille GILLOT-15/+0
2019-11-22Derive HashStable_Generic for ExpnData.Camille GILLOT-11/+0
2019-11-22Invert flow in impl HashStable of Span.Camille GILLOT-1/+0
2019-11-22Add StableHashingContextLike to HashStable_Generic derive.Camille GILLOT-0/+4
2019-11-17HashStable_Generic for librustc_target.Camille GILLOT-23/+0
2019-11-17HashStable_Generic for libsyntax_pos.Camille GILLOT-48/+0
2019-11-17HashStable literals in libsyntax.Camille GILLOT-19/+0
2019-11-17Further HashStable_Generic derives.Camille GILLOT-47/+0
2019-11-17Move impl HashStable for Symbol in libsyntax_pos.Camille GILLOT-20/+1
2019-11-17Move impl HashStable for SymbolStr in libsyntax_pos.Camille GILLOT-19/+0
2019-11-17Use proc_macro for HashStable derive in libsyntax.Camille GILLOT-33/+0
2019-11-10Merge hir::ImplPolarity into ast::ImplPolarity.Camille GILLOT-0/+1
2019-11-10Merge hir::IsAuto into ast::IsAuto.Camille GILLOT-0/+1
2019-11-10Merge hir::CaptureClause into ast::CaptureBy.Camille GILLOT-0/+1
2019-11-10Merge hir::GeneratorMovability into ast::Movability.Camille GILLOT-0/+1
2019-11-08Rollup merge of #66190 - eddyb:primflt, r=CentrilYuki Okushi-1/+0
rustc_target: inline abi::FloatTy into abi::Primitive. This effectively undoes a small part of @oli-obk's #50967, now that the rest of the compiler doesn't use the `FloatTy` definition from `rustc_target`, post-#65884.
2019-11-07rustc_target: inline abi::FloatTy into abi::Primitive.Eduard-Mihai Burtescu-1/+0
2019-11-07syntax::parser::token -> syntax::tokenMazdak Farrokhzad-2/+2
2019-11-07syntax: use distinct FloatTy from rustc_target.Mazdak Farrokhzad-3/+7
We also sever syntax's dependency on rustc_target as a result. This should slightly improve pipe-lining. Moreover, some cleanup is done in related code.
2019-11-06Make doc comments cheaper with `AttrKind`.Nicholas Nethercote-14/+11
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a big performance win (over 10% in some cases) because `DocComment` lets doc comments (which are common) be represented very cheaply. `Attribute` gets some new helper methods to ease the transition: - `has_name()`: check if the attribute name matches a single `Symbol`; for `DocComment` variants it succeeds if the symbol is `sym::doc`. - `is_doc_comment()`: check if it has a `DocComment` kind. - `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant; panic otherwise. Fixes #60935.
2019-11-02Rename `LocalInternedString` as `SymbolStr`.Nicholas Nethercote-7/+7
It makes the relationship with `Symbol` clearer. The `Str` suffix matches the existing `Symbol::as_str()` method nicely, and is also consistent with it being a wrapper of `&str`.
2019-10-29Rollup merge of #65809 - roblabla:eficall-abi, r=nagisaMazdak Farrokhzad-0/+1
Add new EFIAPI ABI Fixes #54527 Adds a new ABI, "efiapi", which reflects the calling convention as specified by [the current spec UEFI spec](https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf#G6.999903). When compiling for x86_64, we should select the `win64` ABI, while on all other architectures (Itanium, x86, ARM and ARM64 and RISC-V), we should select the `C` ABI. Currently, this is done by just turning it into the C ABI everywhere except on x86_64, where it's turned into the win64 ABI. Should we prevent this ABI from being used on unsupported architectures, and if so, how would this be done?
2019-10-27rustc, rustc_passes: don't depend on syntax_expand.Mazdak Farrokhzad-1/+1
This is done by moving some data definitions to syntax::expand.
2019-10-25Add new EFIAPI ABIroblabla-0/+1
Adds a new ABI for the EFIAPI calls. This ABI should reflect the latest version of the UEFI specification at the time of commit (UEFI spec 2.8, URL below). The specification says that for x86_64, we should follow the win64 ABI, while on all other supported platforms (ia32, itanium, arm, arm64 and risc-v), we should follow the C ABI. To simplify the implementation, we will simply follow the C ABI on all platforms except x86_64, even those technically unsupported by the UEFI specification. https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
2019-10-25Rollup merge of #65074 - Rantanen:json-byte-pos, r=matkladMazdak Farrokhzad-0/+19
Fix the start/end byte positions in the compiler JSON output Track the changes made during normalization in the `SourceFile` and use this information to correct the `start_byte` and `end_byte` fields in the JSON output. This should ensure the start/end byte fields can be used to index the original file, even if Rust normalized the source code for parsing purposes. Both CRLF to LF and BOM removal are handled with this one. The rough plan was discussed with @matklad in rust-lang-nursery/rustfix#176 - although I ended up going with `u32` offset tracking so I wouldn't need to deal with `u32 + i32` arithmetics when applying the offset to the span byte positions. Fixes #65029
2019-10-21Fix the start/end byte positions in the compiler JSON outputMikko Rantanen-0/+19
2019-10-21Remove `InternedString`.Nicholas Nethercote-9/+10
By using `LocalInternedString` instead for the few remaining uses.
2019-10-16move syntax::ext to new crate syntax_expandMazdak Farrokhzad-1/+1
2019-09-30syntax: Split `ast::Attribute` into container and inner partsVadim Petrochenkov-6/+7
2019-09-28Switch over all StableHash impls to new formatMark Rousskov-37/+12
2019-09-26Rename `MetaItem.node` to `MetaItem.kind`varkor-1/+1
2019-09-26Rename `Lit.node` to `Lit.kind`varkor-1/+1
2019-09-07Support "soft" feature-gating using a lintVadim Petrochenkov-1/+2
Use it for feature-gating `#[bench]`
2019-09-07Rollup merge of #63919 - matthewjasper:remove-gensymmed, r=petrochenkovMazdak Farrokhzad-0/+8
Use hygiene for AST passes AST passes are now able to have resolve consider their expansions as if they were opaque macros defined either in some module in the current crate, or a fake empty module with `#[no_implicit_prelude]`. * Add an ExpnKind for AST passes. * Remove gensyms in AST passes. * Remove gensyms in`#[test]`, `#[bench]` and `#[test_case]`. * Allow opaque macros to define tests. * Move tests for unit tests to their own directory. * Remove `Ident::{gensym, is_gensymed}` - `Ident::gensym_if_underscore` still exists. cc #60869, #61019 r? @petrochenkov
2019-09-05Add an ExpnKind for AST passesMatthew Jasper-0/+8
2019-09-04Remove hashing impls for `LocalInternedString`.Nicholas Nethercote-22/+1
2019-08-23Remove default macro transparenciesVadim Petrochenkov-1/+0
All transparancies are passed explicitly now. Also remove `#[rustc_macro_transparency]` annotations from built-in macros, they are no longer used. `#[rustc_macro_transparency]` only makes sense for declarative macros now.
2019-08-15hygiene: `ExpnInfo` -> `ExpnData`Vadim Petrochenkov-1/+1
For naming consistency with everything else in this area
2019-08-15hygiene: Merge `ExpnInfo` and `InternalExpnData`Vadim Petrochenkov-1/+2
2019-08-05add unknown tokenAleksey Kladov-1/+2
2019-08-02Replace "existential" by "opaque"varkor-1/+1
2019-07-11hygiene: Make sure each `Mark` has an associated expansion infoVadim Petrochenkov-0/+1
The root expansion was missing one. Expansions created for "derive containers" (see one of the next commits for the description) also didn't get expansion info.
2019-07-11hygiene: Reuse `MacroKind` in `ExpnKind`Vadim Petrochenkov-2/+1
Orthogonality and reuse are good.