diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-09-29 04:35:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-29 04:35:58 +0200 |
| commit | 37333b5131ba867007964dfd9b20fe59a5c191ef (patch) | |
| tree | 72b8bffece74edb60ba1a63398bff3bd28b8cbaf /src/libsyntax/parse/parser/expr.rs | |
| parent | b61e69433951e31f7bd746e22f516a48ad41623b (diff) | |
| parent | 057f23d3ddabf8c89e5da371d724d1995e9655da (diff) | |
| download | rust-37333b5131ba867007964dfd9b20fe59a5c191ef.tar.gz rust-37333b5131ba867007964dfd9b20fe59a5c191ef.zip | |
Rollup merge of #63492 - eddyb:cvarargs, r=nagisa,matthewjasper
Remove redundancy from the implementation of C variadics.
This cleanup was first described in https://github.com/rust-lang/rust/issues/44930#issuecomment-497163539:
* AST doesn't track `c_variadic: bool` anymore, relying solely on a trailing `CVarArgs` type in fn signatures
* HIR doesn't have a `CVarArgs` anymore, relying solely on `c_variadic: bool`
* same for `ty::FnSig` (see tests for diagnostics improvements from that)
* `{hir,mir}::Body` have one extra argument than the signature when `c_variadic == true`
* `rustc_typeck` and `rustc_mir::{build,borrowck}` need to give that argument the right type (which no longer uses a lifetime parameter, but a function-internal scope)
* `rustc_target::abi::call` doesn't need special hacks anymore (since it never sees the `VaListImpl` now, it's all inside the body)
r? @nagisa / @rkruppe cc @dlrobertson @oli-obk
Diffstat (limited to 'src/libsyntax/parse/parser/expr.rs')
| -rw-r--r-- | src/libsyntax/parse/parser/expr.rs | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser/expr.rs b/src/libsyntax/parse/parser/expr.rs index c776704b285..23674ad589d 100644 --- a/src/libsyntax/parse/parser/expr.rs +++ b/src/libsyntax/parse/parser/expr.rs @@ -1176,7 +1176,6 @@ impl<'a> Parser<'a> { Ok(P(FnDecl { inputs: inputs_captures, output, - c_variadic: false })) } |
