about summary refs log tree commit diff
path: root/src/librustc_errors
AgeCommit message (Collapse)AuthorLines
2019-10-01Fix errorsAnthonyMikh-10/+10
2019-10-01(fmt) remove trailing whitespacesAnthonyMikh-2/+2
2019-10-01Use pattern matching instead of indexing tuplesAnthonyMikh-4/+2
2019-10-01Simplify a conditional in `collect_annotations`AnthonyMikh-16/+11
Also avoid excessive cloning
2019-10-01Remove redundant `.iter_mut()`AnthonyMikh-1/+1
2019-10-01Simplify `EmitterWriter::emit_suggestion_default`AnthonyMikh-104/+107
Make function return early if source map is not present
2019-09-30Update doc comment for `style_or_override`AnthonyMikh-1/+1
2019-09-30Simplify `EmitterWriter::get_max_line_num`AnthonyMikh-8/+4
2019-09-30Simplify `EmitterWriter::get_multispan_max_line_num`AnthonyMikh-16/+16
2019-09-30Simplify code for special case of annotationAnthonyMikh-12/+10
2019-09-27Revert "Simplify Unicode-aware trimming"AnthonyMikh-15/+12
`taken` is actually used afterwards
2019-09-26Simplify `style_or_override`AnthonyMikh-6/+4
2019-09-26Use `sort_by_key` rather than `sort_by`AnthonyMikh-2/+2
2019-09-26Simplify `Emitter::fix_multispan_in_std_macros`AnthonyMikh-64/+65
1. Rewrite `if let` into `match` to return earl and avoid indenting giant block 2. Assign `spans_updated` only once
2019-09-25Unify order of variables in chained comparisonAnthonyMikh-1/+1
2019-09-25Use Option::map_or where applicableAnthonyMikh-8/+3
2019-09-25Use map + sum instead of fold for computing Unicode widthAnthonyMikh-9/+9
2019-09-25Simplify Unicode-aware trimmingAnthonyMikh-12/+15
2019-09-25Use `max` instead of `if`sAnthonyMikh-9/+3
2019-09-25Use `saturating_sub` where applicableAnthonyMikh-18/+6
2019-09-24Rollup merge of #64721 - hman523:issue64447, r=estebankMazdak Farrokhzad-3/+2
Fixed issue from #64447 Did two tiny fixes. One is a micro optimization since we know that max is going to be assigned a `usize`, we do not have to worry about a possible negative number. The other issue that was fixed is that the max from the children isn't updated correctly. Now it will use `sub_result` instead of `primary` and will properly get the needed value.
2019-09-23changed a line from an if else to std::cmp::maxhman523-1/+1
2019-09-23Fixed issue from #64447hman523-3/+2
2019-09-23cleanup librustc_errors Handler code.Mazdak Farrokhzad-135/+166
2019-09-23stash_diagnostic: ICE in a different wayMazdak Farrokhzad-9/+18
2019-09-23Introduce a diagnostic stashing API.Mazdak Farrokhzad-25/+100
2019-09-23Auto merge of #64272 - Mark-Simulacrum:parallel-handler, r=estebankbors-185/+251
Refactor librustc_errors::Handler API This should be reviewed by-commit. The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
2019-09-17Rollup merge of #64429 - afnanenayet:afnan/fix-failure-note-json-level, ↵Tyler Mandry-7/+10
r=Mark-Simulacrum Fix failure note `to_str` implementation Serialize the level to something a little more useful for a failure note struct. This fixes #60425.
2019-09-17Protect error handler fields with single lockMark Rousskov-132/+204
This avoids concurrency-related bugs when locks are acquired for too short a time and similar cases.
2019-09-17Remove unused methods from HandlerMark Rousskov-6/+0
2019-09-17Remove Handler::{emit, emit_with_code}Mark Rousskov-31/+28
2019-09-17Remove Handler::cancelMark Rousskov-4/+0
2019-09-17Privatize DiagnosticBuilder constructorsMark Rousskov-5/+5
2019-09-17Take Diagnostic in Handler::emit_diagnosticMark Rousskov-15/+9
2019-09-17Replace DiagnosticBuilder with Diagnostic when emitting errorMark Rousskov-11/+24
2019-09-16Fix failure note `to_str` implementationAfnan Enayet-7/+10
* Serialize the level to something a little more useful for a failure note struct * Update tests accordingly
2019-09-14Rollup merge of #64374 - nnethercote:box-DiagnosticBuilder, r=zackmdavisMazdak Farrokhzad-37/+48
Box `DiagnosticBuilder`. It's a large type -- 176 bytes on 64-bit. And it's passed around and returned from a lot of functions, including within `PResult`. This commit boxes it, which reduces memory traffic. In particular, `PResult` shrinks to 16 bytes in the best case; this reduces instruction counts by up to 2% on various workloads. The commit touches a lot of lines but it's almost all trivial plumbing changes.
2019-09-12Box `DiagnosticBuilder`.Nicholas Nethercote-37/+48
It's a large type -- 176 bytes on 64-bit. And it's passed around and returned from a lot of functions, including within PResult. This commit boxes it, which reduces memory traffic. In particular, `PResult` shrinks to 16 bytes in the best case; this reduces instruction counts by up to 2% on various workloads.
2019-09-08Dedent macro definitionV1shvesh-3/+3
2019-09-08Remove extra trailing newlineV1shvesh-1/+0
2019-09-08Add pluralise macroV1shvesh-0/+8
Adress issue #64238. Create a macro to be used for pluralisation check throughout rustc codebase.
2019-09-06Rollup merge of #64206 - phansch:update_issue_number, r=varkorMazdak Farrokhzad-1/+1
annotate-snippet emitter: Update an issue number The tracking issue has been replaced by one with mentoring instructions (#64205).
2019-09-06annotate-snippet emitter: Update issue numberPhilipp Hansch-1/+1
The tracking issue has been replaced by one with mentoring instructions.
2019-09-05annotate-snippet emitter: Deal with multispans from macros, tooPhilipp Hansch-126/+137
This moves the two methods from the `EmitterWriter` impl to trait default methods in the `Emitter` trait so that they can be re-used by the `AnnotateSnippetEmitterWriter`. Closes #61810
2019-09-03Rollup merge of #64058 - phansch:refactor_out_method, r=estebankMazdak Farrokhzad-12/+32
librustc_errors: Extract sugg/subst handling into method An initial refactoring before working on #61809. This moves the whole block into a method so that it can be reused in the annotate-snippet emitter. The method is already used in the new emitter, but there's no UI tests with suggestions included in this PR. A first look at some UI tests with suggestions showed that there's some more work to do in [annotate-snippet-rs][annotate-snippet-rs] before the new output is closer to the current one, so I opted to do that in a second step. r? @estebank [annotate-snippet-rs]: https://github.com/rust-lang/annotate-snippets-rs
2019-09-01librustc_errors: Extract sugg/subst handling into methodPhilipp Hansch-12/+32
An initial refactoring before working on #61809. This moves the whole block into a method so that it can be reused in the annotate-snippet output. It's already used in the new emitter, but there's no UI tests with suggestions included in this PR. A first look at some UI tests with suggestions showed that there's some more work to do in [annotate-snippet-rs][annotate-snippet-rs] before the new output is closer to the current one.
2019-08-31Use saturating_subEsteban Küber-4/+6
2019-08-30Tweak terminal width trimmingEsteban Küber-2/+2
Properly account for left margin when setting terminal width through CLI flag and don't trim code by default if we can't get the terminal's dimensions.
2019-08-30Account for rounding errors when deciding the diagnostic boundariesEsteban Küber-2/+2
2019-08-21Add terminal_width debugging flagEsteban Küber-8/+18