Replace hardcoded forward slash with path::MAIN_SEPARATOR

Fixes #40149
This commit is contained in:
Thomas Jespersen 2017-03-17 23:11:27 +01:00 committed by Thomas Jespersen
parent fe151194e9
commit b376386228
4 changed files with 41 additions and 6 deletions

View File

@ -19,7 +19,7 @@ use io;
use libc;
use str;
use sync::atomic::{self, Ordering};
use path::Path;
use path::{self, Path};
use sys::mutex::Mutex;
use ptr;
@ -262,7 +262,7 @@ fn output_fileline(w: &mut Write, file: &[u8], line: libc::c_int,
if let Ok(cwd) = env::current_dir() {
if let Ok(stripped) = file_path.strip_prefix(&cwd) {
if let Some(s) = stripped.to_str() {
write!(w, " at ./{}:{}", s, line)?;
write!(w, " at .{}{}:{}", path::MAIN_SEPARATOR, s, line)?;
already_printed = true;
}
}

View File

@ -59,7 +59,7 @@ use util::ThinVec;
use std::collections::HashSet;
use std::{cmp, mem, slice};
use std::path::{Path, PathBuf};
use std::path::{self, Path, PathBuf};
bitflags! {
flags Restrictions: u8 {
@ -5146,7 +5146,7 @@ impl<'a> Parser<'a> {
pub fn default_submod_path(id: ast::Ident, dir_path: &Path, codemap: &CodeMap) -> ModulePath {
let mod_name = id.to_string();
let default_path_str = format!("{}.rs", mod_name);
let secondary_path_str = format!("{}/mod.rs", mod_name);
let secondary_path_str = format!("{}{}mod.rs", mod_name, path::MAIN_SEPARATOR);
let default_path = dir_path.join(&default_path_str);
let secondary_path = dir_path.join(&secondary_path_str);
let default_exists = codemap.file_exists(&default_path);
@ -5224,8 +5224,9 @@ impl<'a> Parser<'a> {
};
err.span_note(id_sp,
&format!("maybe move this module `{0}` to its own directory \
via `{0}/mod.rs`",
this_module));
via `{0}{1}mod.rs`",
this_module,
path::MAIN_SEPARATOR));
if paths.path_exists {
err.span_note(id_sp,
&format!("... or maybe `use` the module `{}` instead \

View File

@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-windows
// compile-flags: -Z parse-only
mod not_a_real_file; //~ ERROR file not found for module `not_a_real_file`

View File

@ -0,0 +1,32 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-gnu
// ignore-android
// ignore-bitrig
// ignore-macos
// ignore-dragonfly
// ignore-freebsd
// ignore-haiku
// ignore-ios
// ignore-linux
// ignore-netbsd
// ignore-openbsd
// ignore-solaris
// ignore-emscripten
// compile-flags: -Z parse-only
mod not_a_real_file; //~ ERROR file not found for module `not_a_real_file`
//~^ HELP name the file either not_a_real_file.rs or not_a_real_file\mod.rs inside the directory
fn main() {
assert_eq!(mod_file_aux::bar(), 10);
}