Skip to content

Spans for view items are fairly inaccurate #650

Closed
@brson

Description

@brson
Contributor

In this test case:

// xfail-stage0                                                                                                                                                               
// error-pattern:'swap' is glob-imported from multiple different modules                                                                                                      
// issue #482                                                                                                                                                                 

use std;
// expecting swap to be defined in vec                                                                                                                                        
import std::vec::*;
import alternate_supplier::*;

mod alternate_supplier {
  fn swap() {}
}

fn main() { swap() }

I get this error:

../src/test/compile-fail/cross-crate-glob-collision.rs:7:10:8:6: note: 'swap' is imported here
../src/test/compile-fail/cross-crate-glob-collision.rs:8:25:10:3: note: 'swap' is imported here
../src/test/compile-fail/cross-crate-glob-collision.rs:14:12:14:17: error: 'swap' is glob-imported from multiple different modules.

The spans for the two imports, while in the general ballpark, are not very exact. I suspect that all types of view items have similar problems with their spans.

Activity

catamorphism

catamorphism commented on Jul 12, 2011

@catamorphism
Contributor

I fixed this one, but I'm not sure how to add a regression test when the right error message involves having a certain span. If anyone has suggestions, let me know.

brson

brson commented on Jul 12, 2011

@brson
ContributorAuthor

Maybe you could formulate a test where the span is minimally likely to change. Or you could put comments in the test indicated that you're specifically testing for the correct span, so whoever messes with it feels more inclined to update the test. Or you could just skip the test; sometimes that's easiest.

catamorphism

catamorphism commented on Jul 12, 2011

@catamorphism
Contributor

Yeah, I'm skipping it for now. But the code example is right here in case anyone wants to add it as a test ;-)

added 2 commits that reference this issue on Dec 12, 2017
7d74c09

Auto merge of rust-lang#652 - alexcrichton:s390xci, r=alexcrichton

288942e
added a commit that references this issue on Apr 23, 2020

Merge pull request rust-lang#650 from RalfJung/influences

97f9691
added a commit that references this issue on Oct 26, 2020

Merge pull request rust-lang#650 from bjorn3/simd_emulation

aa803f4
added a commit that references this issue on Apr 18, 2025

Merge pull request rust-lang#650 from rust-lang/sync_from_rust_2025_0…

db1a31c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-frontendArea: Compiler frontend (errors, parsing and HIR)E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @brson@catamorphism

        Issue actions

          Spans for view items are fairly inaccurate · Issue #650 · rust-lang/rust