about summary refs log tree commit diff
path: root/src/librustc_symbol_mangling
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-1443/+0
2020-08-23Prefer https link for wikipedia URLsLzu Tao-1/+1
2020-08-17rust_ast::ast => rustc_astUjjwal Sharma-1/+1
2020-08-15replaced log with tracingGurpreet Singh-3/+3
2020-08-13merge `as_local_hir_id` with `local_def_id_to_hir_id`Bastian Kauschke-1/+1
2020-08-08Eliminate the `SessionGlobals` from `librustc_ast`.Nicholas Nethercote-3/+3
By moving `{known,used}_attrs` from `SessionGlobals` to `Session`. This means they are accessed via the `Session`, rather than via TLS. A few `Attr` methods and `librustc_ast` functions are now methods of `Session`. All of this required passing a `Session` to lots of functions that didn't already have one. Some of these functions also had arguments removed, because those arguments could be accessed directly via the `Session` argument. `contains_feature_attr()` was dead, and is removed. Some functions were moved from `librustc_ast` elsewhere because they now need to access `Session`, which isn't available in that crate. - `entry_point_type()` --> `librustc_builtin_macros` - `global_allocator_spans()` --> `librustc_metadata` - `is_proc_macro_attr()` --> `Session`
2020-07-31Move from `log` to `tracing`Oliver Scherer-1/+1
2020-07-31Auto merge of #65989 - Aaron1011:fix/normalize-param-env, r=nikomatsakisbors-1/+1
Normalize all opaque types when converting ParamEnv to Reveal::All When we normalize a type using a ParamEnv with a reveal mode of RevealMode::All, we will normalize opaque types to their underlying types (e.g. `type MyOpaque = impl Foo` -> `StructThatImplsFoo`). However, the ParamEnv may still have predicates referring to the un-normalized opaque type (e.g. `<T as MyTrait<MyOpaque>>`). This can cause trait projection to fail, since a type containing normalized opaque types will not match up with the un-normalized type in the `ParamEnv`. To fix this, we now explicitly normalize all opaque types in caller_bounds of a `ParamEnv` when changing its mode to `RevealMode::All`. This ensures that all predicatse will refer to the underlying types of any opaque types involved, allowing them to be matched up properly during projection. To reflect the fact that normalization is occuring, `ParamEnv::with_reveal_all` is renamed to `ParamEnv::with_reveal_all_normalized` Fixes #65918
2020-07-28symbol mangling: use ty::print::Print for constsBastian Kauschke-3/+1
2020-07-22Normalize opaque types when converting `ParamEnv` to `Reveal::All`Aaron Hill-1/+1
Fixes #65918
2020-07-20mir: `unused_generic_params` queryDavid Wood-1/+0
This commit implements the `unused_generic_params` query, an initial version of polymorphization which detects when an item does not use generic parameters and is being needlessly monomorphized as a result. Signed-off-by: David Wood <david@davidtw.co>
2020-07-15Change `SymbolName::name` to a `&str`.Nicholas Nethercote-5/+3
This eliminates a bunch of `Symbol::intern()` and `Symbol::as_str()` calls, which is good, because they require locking the interner. Note that the unsafety in `from_cycle_error()` is identical to the unsafety on other adjacent impls.
2020-07-05Use for<'tcx> fn pointers in Providers, instead of having Providers<'tcx>.Eduard-Mihai Burtescu-1/+1
2020-06-30change `skip_binder` to use T by valueBastian Kauschke-1/+1
2020-06-15make all uses of ty::Error or ConstKind::Error delay a span bugmark-2/+2
2020-05-23iterate List by valueBastian Kauschke-1/+1
2020-05-19Remove unused dependenciesJeremy Fitzhardinge-1/+0
2020-05-12Remove ty::UnnormalizedProjectionJack Huey-3/+0
2020-04-23Modify `as_local_hir_id` to return a bare `HirId`marmeladema-1/+1
2020-04-23Modify `as_local_hir_id` to accept a `LocalDefId` instead of a `DefId`marmeladema-10/+6
2020-04-23librustc_middle: return LocalDefId instead of DefId in local_def_idmarmeladema-3/+3
2020-04-19Dogfood more or_patterns in the compilerJosh Stone-1/+2
2020-03-30Use if let instead of match when only matching a single variant ↵Matthias Krüger-3/+2
(clippy::single_match) Makes code more compact and reduces nestig.
2020-03-30rustc -> rustc_middle part 3 (rustfmt)Mazdak Farrokhzad-7/+7
2020-03-30rustc -> rustc_middle part 2Mazdak Farrokhzad-16/+16
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-1/+1
2020-03-24normalize some imports, prefer direct ones.Mazdak Farrokhzad-2/+2
2020-03-21symbol_names: treat ReifyShim like VtableShim.Eduard-Mihai Burtescu-4/+18
2020-03-19Refactorings to begin getting rid of rustc_codegen_utilsMark Mansi-0/+1442