]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #73639 - ayazhafiz:i/73553, r=davidtwco
authorDylan DPC <dylan.dpc@gmail.com>
Wed, 24 Jun 2020 12:28:39 +0000 (14:28 +0200)
committerGitHub <noreply@github.com>
Wed, 24 Jun 2020 12:28:39 +0000 (14:28 +0200)
Change heuristic for determining range literal

Currently, rustc uses a heuristic to determine if a range expression is
not a literal based on whether the expression looks like a function call
or struct initialization. This fails for range literals whose
lower/upper bounds are the results of function calls. A possibly-better
heuristic is to check if the expression contains `..`, required in range
literals.

Of course, this is also not perfect; for example, if the range
expression is a struct which includes some text with `..` this will
fail, but in general I believe it is a better heuristic.

A better alternative altogether is to add the `QPath::LangItem` enum
variant suggested in #60607. I would be happy to do this as a precursor
to this patch if someone is able to provide general suggestions on how
usages of `QPath` need to be changed later in the compiler with the
`LangItem` variant.

Closes #73553


Trivial merge