about summary refs log tree commit diff
path: root/src/librustc/ich
AgeCommit message (Collapse)AuthorLines
2018-06-20Rename "parameter" to "arg"varkor-2/+2
2018-06-20Rename PathParameter(s) to GenericArg(s)varkor-2/+2
2018-06-20Rename *Parameter to *Paramvarkor-1/+1
2018-06-20Consolidate PathParameters and AngleBracketedParameterDatavarkor-2/+6
2018-06-07Add existential type definitonsOliver Schneider-1/+5
2018-06-05Remove another unused error variantOliver Schneider-1/+0
2018-06-05Remove unused IndexOutOfBounds variantOliver Schneider-4/+0
2018-06-05Properly report transitive errorsOliver Schneider-8/+3
2018-06-05Refactor the const eval diagnostic APIOliver Schneider-0/+1
2018-06-04Refactor the chalkify lowering processscalexm-10/+35
2018-06-03Remove is_import fieldMark Simulacrum-2/+1
2018-06-01merge UNNECESSARY_EXTERN_CRATE and UNUSED_EXTERN_CRATESNiko Matsakis-1/+8
2018-05-30rustc: rename mir::LocalDecl's syntactic_source_info to source_info.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: turn mir::LocalDecl's visibility_source_info into a SourceScope.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: rename mir::LocalDecl's source_info to visibility_source_info.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: turn mir::LocalDecl's syntactic_scope into a SourceInfo.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: rename mir::SourceScopeInfo to mir::SourceScopeLocalData.Eduard-Mihai Burtescu-1/+1
2018-05-30rustc: rename mir::VisibilityScope to mir::SourceScope.Eduard-Mihai Burtescu-3/+3
2018-05-29rust-lang/rust#27282: Add `StatementKind::ReadForMatch` to MIR.Felix S. Klock II-0/+3
(This is just the data structure changes and some boilerplate match code that followed from it; the actual emission of these statements comes in a follow-up commit.)
2018-05-28rewrite the hasher to not access `depth` fieldNiko Matsakis-7/+3
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-26Use `Ident`s for fields in HIRVadim Petrochenkov-11/+17
2018-05-24change `Value::Bytes` to `Value::Bits`Oliver Schneider-5/+18
2018-05-24Rename MemoryPointer to PointerOliver Schneider-1/+1
2018-05-24Eliminate the `Pointer` wrapper typeOliver Schneider-2/+0
2018-05-24Rename ByVal(Pair) to Scalar(Pair)Oliver Schneider-4/+4
2018-05-24Rename PrimVal to ScalarOliver Schneider-1/+1
2018-05-22Introduce AllocType which indicates what AllocIds point toJohn Kåre Alsaker-31/+19
2018-05-21rustc: move TypeParamDef's fields into GenericParamDefKind::Type.Eduard-Mihai Burtescu-12/+20
2018-05-20Auto merge of #50851 - eddyb:the-only-constant, r=nikomatsakisbors-0/+6
rustc: introduce {ast,hir}::AnonConst to consolidate so-called "embedded constants". Previously, constants in array lengths and enum variant discriminants were "merely an expression", and had no separate ID for, e.g. type-checking or const-eval, instead reusing the expression's. That complicated code working with bodies, because such constants were the only special case where the "owner" of the body wasn't the HIR parent, but rather the same node as the body itself. Also, if the body happened to be a closure, we had no way to allocate a `DefId` for both the constant *and* the closure, leading to *several* bugs (mostly ICEs where type errors were expected). This PR rectifies the situation by adding another (`{ast,hir}::AnonConst`) node around every such constant. Also, const generics are expected to rely on the new `AnonConst` nodes, as well (cc @varkor). * fixes #48838 * fixes #50600 * fixes #50688 * fixes #50689 * obsoletes #50623 r? @nikomatsakis
2018-05-19Auto merge of #50893 - kennytm:rollup, r=kennytmbors-1/+1
Rollup of 8 pull requests Successful merges: - #50531 (Cleanup uses of TypeIdHasher and replace them with StableHasher) - #50819 (Fix potential divide by zero) - #50827 (Update LLVM to 56c931901cfb85cd6f7ed44c7d7520a8de1edf97) - #50829 (CheckLoopVisitor: also visit break expressions) - #50854 (in which the unused shorthand field pattern debacle/saga continues) - #50858 (Reorder description for snippets in rustdoc documentation) - #50883 (Fix warning when building stage0 libcore) - #50889 (Update clippy) Failed merges:
2018-05-19rustc: introduce {ast,hir}::AnonConst to consolidate so-called "embedded ↵Eduard-Mihai Burtescu-0/+6
constants".
2018-05-19Rollup merge of #50531 - iancormac84:merge-typeidhasher-cleanup, ↵kennytm-1/+1
r=michaelwoerister Cleanup uses of TypeIdHasher and replace them with StableHasher Fixes #50424 r? @michaelwoerister
2018-05-19Go through an allocation when accessing fields of constantsOliver Schneider-1/+2
2018-05-17Removed use of TypeIdHasher in debuginfo and replaced it with StableHasher. ↵iancormac84-1/+1
Also corrected erroneous mention of TypeIdHasher in implementation of HashStable trait.
2018-05-17Add edition to expansion infoVadim Petrochenkov-0/+10
2018-05-17Rename trans to codegen everywhere.Irina Popa-6/+6
2018-05-16Auto merge of #50045 - est31:label_break_value, r=eddybbors-1/+1
Implement label break value (RFC 2046) Implement label-break-value (#48594).
2018-05-16label-break-value: Parsing and AST/HIR changesest31-1/+1
2018-05-16Auto merge of #50473 - petrochenkov:pmapi, r=alexcrichtonbors-0/+1
Review proc macro API 1.2 cc https://github.com/rust-lang/rust/issues/38356 Summary of applied changes: - Documentation for proc macro API 1.2 is expanded. - Renamed APIs: `Term` -> `Ident`, `TokenTree::Term` -> `TokenTree::Ident`, `Op` -> `Punct`, `TokenTree::Op` -> `TokenTree::Punct`, `Op::op` -> `Punct::as_char`. - Removed APIs: `Ident::as_str`, use `Display` impl for `Ident` instead. - New APIs (not stabilized in 1.2): `Ident::new_raw` for creating a raw identifier (I'm not sure `new_x` it's a very idiomatic name though). - Runtime changes: - `Punct::new` now ensures that the input `char` is a valid punctuation character in Rust. - `Ident::new` ensures that the input `str` is a valid identifier in Rust. - Lifetimes in proc macros are now represented as two joint tokens - `Punct('\'', Spacing::Joint)` and `Ident("lifetime_name_without_quote")` similarly to multi-character operators. - Stabilized APIs: None yet. A bit of motivation for renaming (although it was already stated in the review comments): - With my compiler frontend glasses on `Ident` is the single most appropriate name for this thing, *especially* if we are doing input validation on construction. `TokenTree::Ident` effectively wraps `token::Ident` or `ast::Ident + is_raw`, its meaning is "identifier" and it's already named `ident` in declarative macros. - Regarding `Punct`, the motivation is that `Op` is actively misleading. The thing doesn't mean an operator, it's neither a subset of operators (there is non-operator punctuation in the language), nor superset (operators can be multicharacter while this thing is always a single character). So I named it `Punct` (first proposed in [the original RFC](https://github.com/rust-lang/rfcs/pull/1566), then [by @SimonSapin](https://github.com/rust-lang/rust/issues/38356#issuecomment-276676526)) , together with input validation it's now a subset of ASCII punctuation character category (`u8::is_ascii_punctuation`).
2018-05-16Auto merge of #50750 - est31:master, r=eddybbors-10/+0
Remove ScopeTarget and LoopIdResult * Remove ScopeTarget in preparation of label-break-value (PR #50045) * Replace LoopIdResult by Result which is possible now thanks to commit 8ac65af81f5f9cf6c5e2c2306705b50eed77cfb5 " Implement Encodable and Decodable for Result." r? @eddyb
2018-05-15Represent lifetimes as two joint tokens in proc macrosVadim Petrochenkov-0/+1
2018-05-15Remove LoopIdResultest31-5/+0
It's redundant as Result already implements Encodable as well as Decodable.
2018-05-15Remove hir::ScopeTargetest31-5/+0
When we want to implement label-break-value, we can't really decide whether to emit ScopeTarget::Loop or ScopeTarget::Block in the code that is supposed to create it. So we get rid of it and reconstruct the information when needed.
2018-05-15Lift pure_wrt_drop to GenericParamDefvarkor-6/+2
2018-05-15Rename RegionParamDef to LifetimeParamDefvarkor-1/+1
2018-05-15Pull common parameters into GenericParamDefvarkor-21/+10
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-05-15Replace type_param_to_index with param_def_id_to_indexvarkor-1/+1
2018-05-15Rename TypeParameterDef -> TypeParamDef and RegionParameterDef -> RegionParamDefvarkor-4/+4
2018-05-15Rename GenericParam to GenericParamDefvarkor-1/+1
2018-05-15Rename ty::GenericParameterDef to GenericParamvarkor-1/+1