about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2016-02-03Rollup merge of #27499 - barosl:macro-doc-raw-str-hashes, r=nikomatsakisManish Goregaokar-1/+15
Any documentation comments that contain raw-string-looking sequences may pretty-print invalid code when expanding them, as the current logic always uses the `r"literal"` form, without appending any `#`s. This commit calculates the minimum number of `#`s required to wrap a comment correctly and appends `#`s appropriately. Fixes #27489.
2016-02-02Auto merge of #31254 - tmiasko:macro-pretty-print-fix, r=sfacklerbors-5/+2
Pretty printing of macro with braces but without terminated semicolon removed more boxes from stack than it put there, resulting in panic. This fixes the issue #30731.
2016-02-02Rollup merge of #31342 - reeze:patch-1, r=steveklabnikSteve Klabnik-3/+3
2016-02-02Rollup merge of #31281 - oli-obk:patch-2, r=nikomatsakisSteve Klabnik-2/+2
2016-02-02Auto merge of #31279 - DanielJCampbell:MacroReferencing, r=nrcbors-0/+21
r? @nrc
2016-02-01Auto merge of #31250 - nrc:more-aborts, r=@nikomatsakisbors-7/+3
With this PR we can save-analysis on code with errors, essential foundation work for IDE support.
2016-02-01Comment fixReeze Xia-3/+3
2016-02-01Auto merge of #31277 - DanielJCampbell:SpanEquality, r=nrcbors-19/+16
r? @nrc
2016-02-01Implemented macro referencing for save analysisDaniel Campbell-0/+21
2016-02-01Spans now derive equalityDaniel Campbell-19/+16
2016-02-01Replace some aborts with ResultsNick Cameron-7/+3
Fixes #31207 by removing abort_if_new_errors
2016-01-30off by oneOliver Schneider-1/+1
2016-01-30Rollup merge of #31244 - tshepang:rustfmt-parse, r=nikomatsakisManish Goregaokar-49/+49
2016-01-29Auto merge of #31248 - ruud-v-a:fix-triple-ice, r=nrcbors-14/+18
This fixes #31238. r? @michaelsproul
2016-01-29Update emitter.rsmitaa-1/+1
2016-01-29fix overflow due to multiline error spanOliver Schneider-1/+1
2016-01-28Auto merge of #30411 - mitaa:multispan, r=nrcbors-380/+1133
This allows to render multiple spans on one line, or to splice multiple replacements into a code suggestion. fixes #28124
2016-01-28Avoid ICE if environment variable is not setRuud van Asseldonk-14/+18
Rustdoc could trigger a code path that relied on the $CFG_COMPILER_HOST_TRIPLE environment variable being set, causing an ICE if it was not. This fixes that, emitting an error instead of crashing.
2016-01-28Implement MultiSpan error reportingmitaa-380/+1133
This allows to render multiple spans on one line, or to splice multiple replacements into a code suggestion.
2016-01-28libsyntax: fix pretty printing of macro with bracesTomasz Miąsko-5/+2
Pretty printing of macro with braces but without terminated semicolon removed more boxes from stack than it put there, resulting in panic. This fixes the issue #30731.
2016-01-27rustfmt syntax::parseTshepang Lekhonkhobe-49/+49
2016-01-27trpl: fix macro follow setsAlex Burka-0/+1
2016-01-27Auto merge of #31089 - fhahn:macro-ice, r=pnkfelixbors-30/+68
This is a work in progress PR that potentially should fix #29084, #28308, #25385, #28288, #31011. I think this may also adresse parts of #2887. The problem in this issues seems to be that when transcribing macro arguments, we just clone the argument Nonterminal, which still has to original spans. This leads to the unprintable spans. One solution would be to update the spans of the inserted argument to match the argument in the macro definition. So for [this testcase](https://github.com/rust-lang/rust/compare/master...fhahn:macro-ice?expand=1#diff-f7def7420c51621640707b6337726876R2) the error message would be displayed in the macro definition: src/test/compile-fail/issue-31011.rs:4:12: 4:22 error: attempted access of field `trace` on type `&T`, but no field with that name was found src/test/compile-fail/issue-31011.rs:4 if $ctx.trace { Currently I've added a very simple `update_span` function, which updates the span of the outer-most expression of a `NtExpr`, but this `update_span` function should be updated to handle all Nonterminals. But I'm pretty new to the macro system and would like to check if this approach makes sense, before doing that.
2016-01-27Avoid storing interolated token in Parser.last_tokenFlorian Hahn-7/+11
2016-01-27Turn interpolated_or_expr_span into a functionFlorian Hahn-28/+24
2016-01-26Auto merge of #31120 - alexcrichton:attribute-deny-warnings, r=brsonbors-1/+1
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-26Fix warnings during testsAlex Crichton-1/+0
The deny(warnings) attribute is now enabled for tests so we need to weed out these warnings as well.
2016-01-26Rollup merge of #31211 - Manishearth:pr-30765, r=nrcManish Goregaokar-2/+8
r? @eddyb or @nrc
2016-01-26Push try! to call site of interpolated_or_expr_span!Florian Hahn-17/+18
2016-01-26Add interpolated_or_expr_span macro and pass lo to newly added parse_dot_suffixFlorian Hahn-30/+38
2016-01-26Auto merge of #31160 - nxnfufunezn:ppwild-31073, r=eddybbors-8/+8
Fixes #31073 r? @eddyb
2016-01-26Use interpolated token span when building spans for bigger expressionsFlorian Hahn-35/+38
2016-01-26Set span for interpolated tokens correctlyFlorian Hahn-7/+18
2016-01-26Update expression span when transcribing macro argsFlorian Hahn-2/+17
closes #29084 closes #28308 closes #25385 closes #28288 closes #31011 closes #26480 closes #26093 closes #26094 closes #25386 closes #26237 closes #25793
2016-01-26Improve error message for let-in-expr-positionManish Goregaokar-2/+3
2016-01-26Make emitter handle DUMMY_SP correctlyManish Goregaokar-2/+2
2016-01-26Rollup merge of #31152 - durka:ty-follow-bracket, r=pnkfelixManish Goregaokar-1/+1
cc #31135 rust-lang/rfcs#1462 #30923 @retep998 r? @pnkfelix
2016-01-26Auto merge of #31065 - nrc:ident-correct, r=pnkfelixbors-58/+83
This PR adds some minor error correction to the parser - if there is a missing ident, we recover and carry on. It also makes compilation more robust so that non-fatal errors (which is still most of them, unfortunately) in parsing do not cause us to abort compilation. The effect is that a program with a missing or incorrect ident can get all the way to type checking.
2016-01-25Fix pretty_printer to print omitted type `_` markernxnfufunezn-8/+8
2016-01-25do not additionally note about unexpected identifier after unexpected letDaan Sprenkels-6/+5
error, by moving unexpected let check into the proper if-else clause
2016-01-25Update qquote.rs test case and make unexpected `let` error fatalDaan Sprenkels-6/+6
2016-01-25libsyntax: move check for keyword Let to a more logical spotDaan Sprenkels-6/+6
2016-01-25libsyntax: note that `let a = (let b = something)` is invalidDaan Sprenkels-0/+6
in parse_bottom_expr (parser.rs)
2016-01-24mk: Move from `-D warnings` to `#![deny(warnings)]`Alex Crichton-0/+1
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-23add `[` to FOLLOW(ty) and FOLLOW(path)Alex Burka-1/+1
Following RFC 1462 (amending 550). Closes #31135.
2016-01-22Extended save-analysis to support generated code, alterned some spans in ↵Daniel Campbell-2/+23
format_args! and derive to maintain compatability
2016-01-22The war on abort_if_errorsNick Cameron-18/+23
2016-01-22Some basic error correction in the parser after a dotNick Cameron-42/+62
2016-01-20syntax: Fix encoding and decoding spansErick Tryzelaar-5/+20
The protocol for `serialize::{En,De}code` doesn't allow for two integers to be serialized next to each other. This switches the protocol to serializing `Span`s as a struct. rbml structs don't have any overhead, so the metadata shouldn't increase in size, but it allows the json format to be properly generated, albeit slightly more heavy than when it was just serializing a span as a u64. Closes #31025. s
2016-01-19Use different numbers of `#`s when expanding documentation commentsBarosl Lee-1/+15
Any documentation comments that contain raw-string-looking sequences may pretty-print invalid code when expanding them, as the current logic always uses the `r"literal"` form, without appending any `#`s. This commit calculates the minimum number of `#`s required to wrap a comment correctly and appends `#`s appropriately. Fixes #27489.