summary refs log tree commit diff
path: root/src/librustc_codegen_utils/symbol_names.rs
AgeCommit message (Collapse)AuthorLines
2019-05-20Introduce `InternedString::intern`.Nicholas Nethercote-6/+6
`InternedString::intern(x)` is preferable to `Symbol::intern(x).as_interned_str()`, because the former involves one call to `with_interner` while the latter involves two. The case within InternedString::decode() is particularly hot, and this change reduces the number of `with_interner` calls by up to 13%.
2019-03-29rustc(codegen): uncache `def_symbol_name` prefix from `symbol_name`.Eduard-Mihai Burtescu-38/+15
2019-03-24Merge `DefPathData::VariantCtor` and `DefPathData::StructCtor`Vadim Petrochenkov-1/+1
2019-03-15rustc: provide DisambiguatedDefPathData in ty::print.Eduard-Mihai Burtescu-4/+22
2019-03-15rustc: slice substs in ty::print instead of passing the full ones.Eduard-Mihai Burtescu-2/+2
2019-03-15rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt.Eduard-Mihai Burtescu-87/+90
2019-03-15rustc: remove the ability for pretty-printers to override nesting.Eduard-Mihai Burtescu-4/+4
2019-03-15rustc: don't thread existential projections through path_generic_args.Eduard-Mihai Burtescu-9/+45
2019-03-15rustc: make `pretty_path_generic_args`' task as simple as possible.Eduard-Mihai Burtescu-4/+9
2019-03-15rustc: print elided regions as '_ instead of nothing, and use a separate ↵Eduard-Mihai Burtescu-1/+1
check when optional.
2019-03-15rustc: move ty::print::PrintConfig's fields to FmtPrinter.Eduard-Mihai Burtescu-10/+9
2019-03-15rustc_codegen_utils: print all nominal types as paths, in symbol names.Eduard-Mihai Burtescu-2/+28
2019-03-15rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter.Eduard-Mihai Burtescu-6/+3
2019-03-15rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>".Eduard-Mihai Burtescu-45/+23
2019-03-15rustc: support overriding type printing in ty::print::Printer.Eduard-Mihai Burtescu-0/+8
2019-03-15rustc: support overriding region printing in ty::print::Printer.Eduard-Mihai Burtescu-1/+16
2019-03-15rustc: pass ty::print::PrintCx by value.Eduard-Mihai Burtescu-48/+69
2019-03-15rustc: split off most of ty::print::PrintCx's fields into a separate struct.Eduard-Mihai Burtescu-3/+4
2019-03-15rustc: uniformize ty::print's error handling by requiring Result.Eduard-Mihai Burtescu-14/+20
2019-03-15rustc: remove `ty::print::FORCE_ABSOLUTE` altogether.Eduard-Mihai Burtescu-5/+3
2019-03-15rustc: move `...::<impl ...>` printing into `pretty_path_qualified`.Eduard-Mihai Burtescu-7/+34
2019-03-15rustc: move <...>-less impl path special-case to pretty_path_qualified.Eduard-Mihai Burtescu-5/+13
2019-03-15rustc: merge PrintCx::parameterized and def_path printing.Eduard-Mihai Burtescu-72/+110
2019-03-15rustc: move the contents of ty::item_path to ty::print.Eduard-Mihai Burtescu-4/+3
2019-03-15rustc: rename item_path to def_path (except the module in ty).Eduard-Mihai Burtescu-1/+1
2019-03-15rustc: pass Option<&Substs> and Namespace around in ty::item_path.Eduard-Mihai Burtescu-1/+4
2019-03-15rustc: move the formatter into ty::print::PrintCx.Eduard-Mihai Burtescu-8/+11
2019-03-15rustc: remove ty::item_path::RootMode by moving local logic into the printer.Eduard-Mihai Burtescu-16/+11
2019-03-15rustc: rewrite ty::item_path to be more functional than mutation-oriented.Eduard-Mihai Burtescu-23/+42
2019-03-15rustc_codegen_utils: revert some symbol_names refactors (while keeping the ↵Eduard-Mihai Burtescu-68/+55
functional changes).
2019-03-15rustc: remove unnecessary extern_prelude logic from ty::item_path.Eduard-Mihai Burtescu-1/+1
2019-03-07HirIdification: replace NodeId method callsljedrz-3/+3
2019-03-05Use non_erasable_generics for codegenvarkor-1/+1
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-02-26replace &'tcx Substs with SubstsRefcsmoe-2/+2
2019-02-08librustc_codegen_utils => 2018Taiki Endo-1/+3
2019-01-28SymbolPathBuffer shallow refactoringDenys Zariaiev-80/+76
2019-01-27Create `nvptx64-nvidia-cuda` target specificationDenys Zariaiev-15/+42
2019-01-13Querify local plugin_registrar_fnIgor Matuszewski-2/+2
2019-01-13Querify local proc_macro_decls_staticIgor Matuszewski-1/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-1/+1
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-2/+2
2018-12-04cleanup: remove static lifetimes from constsljedrz-1/+1
2018-11-30proc_macro: introduce a "bridge" between clients (proc macros) and servers ↵Eduard-Mihai Burtescu-2/+2
(compiler front-ends).
2018-11-13fix various typos in doc commentsAndy Russell-1/+1
2018-10-24Include InstanceDef's discriminant in the symbol hash.Masaki Hara-2/+4
2018-10-24Distinguish vtable shims in symbol paths.Masaki Hara-1/+10
2018-10-02Attempt to resolve linking issues.David Wood-1/+1
This commit takes a different approach to add the `crate::` prefix to item paths than previous commits. Previously, recursion was stopped after a prelude crate name was pushed to the path. It is theorized that this was the cause of the linking issues since the same path logic is used for symbol names and that not recursing meant that details were being missed that affect symbol names. As of this commit, instead of ceasing recursion, a flag is passed through to any subsequent recursive calls so that the same effect can be achieved by checking that flag.
2018-10-02Add `crate::` to trait suggestions in Rust 2018.David Wood-0/+1
In the 2018 edition, when suggesting traits to import that implement a given method that is being invoked, suggestions will now include the `crate::` prefix if the suggested trait is local to the current crate.
2018-08-27Rename hir::map::NodeKind to hir::Nodevarkor-2/+2