about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorPramod Bisht <pramodpsb@outlook.com>2018-10-19 10:33:49 +0000
committerPramod Bisht <pramodpsb@outlook.com>2018-10-19 10:33:49 +0000
commit978dc3d66f5e9a3bea733aca664e25b845fa0f27 (patch)
treeecd0f1c5af295781cd55a5aaf2f2222cc53e1a01 /src/rustllvm/RustWrapper.cpp
parentcbbd70d4f25bc255d80b6b9ba0a65f6c5957f2b7 (diff)
downloadrust-978dc3d66f5e9a3bea733aca664e25b845fa0f27.tar.gz
rust-978dc3d66f5e9a3bea733aca664e25b845fa0f27.zip
Fixed: Multiple errors on single typo in match pattern
Here we have fixed the case where we were throwing two diagnostic
messages `E0026` and `E0027` for same case like this

Example
error[E0026]: variant `A::A` does not have a field named `fob`
  --> src/test/ui/issue-52717.rs:20:12
   |
20 |     A::A { fob } => { println!("{}", fob); }
   |            ^^^ variant `A::A` does not have this field

error[E0027]: pattern does not mention field `foo`
  --> src/test/ui/issue-52717.rs:20:5
   |
20 |     A::A { fob } => { println!("{}", fob); }
   |     ^^^^^^^^^^^^ missing field `foo`

error: aborting due to 2 previous errors

Here above we can see that both `E0026` and `E0027` are depicting
same thing.

So, to fix this issue, we are simply checking element of
`inexistent_fields` is there any value lies in
`unmentioned_fields` using Levenshtein algorithm, if does
then for that case we are simply deleting element from
`unmentioned_fields`. More or less now instead of showing
separate message in `E0027` we are giving extra hint on `E0026`

Address: #52717
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions