Auto merge of #36684 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 7 pull requests - Successful merges: #36018, #36498, #36500, #36559, #36566, #36578, #36664 - Failed merges:
This commit is contained in:
commit
5a71fb35fd
2
configure
vendored
2
configure
vendored
@ -676,7 +676,7 @@ valopt_nosave local-rust-root "/usr/local" "set prefix for local rust binary"
|
||||
valopt_nosave host "${CFG_BUILD}" "GNUs ./configure syntax LLVM host triples"
|
||||
valopt_nosave target "${CFG_HOST}" "GNUs ./configure syntax LLVM target triples"
|
||||
valopt_nosave mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
|
||||
valopt_nosave docdir "${CFG_PREFIX}/share/doc/rust" "install man pages in PATH"
|
||||
valopt_nosave docdir "${CFG_PREFIX}/share/doc/rust" "install documentation in PATH"
|
||||
|
||||
# On Windows this determines root of the subtree for target libraries.
|
||||
# Host runtime libs always go to 'bin'.
|
||||
|
@ -131,7 +131,8 @@ def stage0_data(rust_root):
|
||||
def format_build_time(duration):
|
||||
return str(datetime.timedelta(seconds=int(duration)))
|
||||
|
||||
class RustBuild:
|
||||
|
||||
class RustBuild(object):
|
||||
def download_stage0(self):
|
||||
cache_dst = os.path.join(self.build_dir, "cache")
|
||||
rustc_cache = os.path.join(cache_dst, self.stage0_rustc_date())
|
||||
@ -142,7 +143,7 @@ class RustBuild:
|
||||
os.makedirs(cargo_cache)
|
||||
|
||||
if self.rustc().startswith(self.bin_root()) and \
|
||||
(not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
|
||||
(not os.path.exists(self.rustc()) or self.rustc_out_of_date()):
|
||||
if os.path.exists(self.bin_root()):
|
||||
shutil.rmtree(self.bin_root())
|
||||
channel = self.stage0_rustc_channel()
|
||||
@ -165,7 +166,7 @@ class RustBuild:
|
||||
f.write(self.stage0_rustc_date())
|
||||
|
||||
if self.cargo().startswith(self.bin_root()) and \
|
||||
(not os.path.exists(self.cargo()) or self.cargo_out_of_date()):
|
||||
(not os.path.exists(self.cargo()) or self.cargo_out_of_date()):
|
||||
channel = self.stage0_cargo_channel()
|
||||
filename = "cargo-{}-{}.tar.gz".format(channel, self.build)
|
||||
url = "https://static.rust-lang.org/cargo-dist/" + self.stage0_cargo_date()
|
||||
@ -238,8 +239,8 @@ class RustBuild:
|
||||
|
||||
def get_string(self, line):
|
||||
start = line.find('"')
|
||||
end = start + 1 + line[start+1:].find('"')
|
||||
return line[start+1:end]
|
||||
end = start + 1 + line[start + 1:].find('"')
|
||||
return line[start + 1:end]
|
||||
|
||||
def exe_suffix(self):
|
||||
if sys.platform == 'win32':
|
||||
|
@ -159,7 +159,7 @@ em {
|
||||
|
||||
footer {
|
||||
border-top: 1px solid #ddd;
|
||||
font-size: 14.3px;
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
padding-top: 5px;
|
||||
margin-top: 3em;
|
||||
|
@ -328,7 +328,7 @@ def extract_length_and_ptr_from_slice(slice_val):
|
||||
UNQUALIFIED_TYPE_MARKERS = frozenset(["(", "[", "&", "*"])
|
||||
|
||||
def extract_type_name(qualified_type_name):
|
||||
'''Extracts the type name from a fully qualified path'''
|
||||
"""Extracts the type name from a fully qualified path"""
|
||||
if qualified_type_name[0] in UNQUALIFIED_TYPE_MARKERS:
|
||||
return qualified_type_name
|
||||
|
||||
|
@ -170,7 +170,7 @@ def rust_pretty_printer_lookup_function(gdb_val):
|
||||
#=------------------------------------------------------------------------------
|
||||
# Pretty Printer Classes
|
||||
#=------------------------------------------------------------------------------
|
||||
class RustStructPrinter:
|
||||
class RustStructPrinter(object):
|
||||
def __init__(self, val, omit_first_field, omit_type_name, is_tuple_like):
|
||||
self.__val = val
|
||||
self.__omit_first_field = omit_first_field
|
||||
@ -205,11 +205,12 @@ class RustStructPrinter:
|
||||
return ""
|
||||
|
||||
|
||||
class RustSlicePrinter:
|
||||
class RustSlicePrinter(object):
|
||||
def __init__(self, val):
|
||||
self.__val = val
|
||||
|
||||
def display_hint(self):
|
||||
@staticmethod
|
||||
def display_hint():
|
||||
return "array"
|
||||
|
||||
def to_string(self):
|
||||
@ -226,7 +227,7 @@ class RustSlicePrinter:
|
||||
yield (str(index), (raw_ptr + index).dereference())
|
||||
|
||||
|
||||
class RustStringSlicePrinter:
|
||||
class RustStringSlicePrinter(object):
|
||||
def __init__(self, val):
|
||||
self.__val = val
|
||||
|
||||
@ -236,11 +237,12 @@ class RustStringSlicePrinter:
|
||||
return '"%s"' % raw_ptr.string(encoding="utf-8", length=length)
|
||||
|
||||
|
||||
class RustStdVecPrinter:
|
||||
class RustStdVecPrinter(object):
|
||||
def __init__(self, val):
|
||||
self.__val = val
|
||||
|
||||
def display_hint(self):
|
||||
@staticmethod
|
||||
def display_hint():
|
||||
return "array"
|
||||
|
||||
def to_string(self):
|
||||
@ -255,7 +257,7 @@ class RustStdVecPrinter:
|
||||
yield (str(index), (gdb_ptr + index).dereference())
|
||||
|
||||
|
||||
class RustStdStringPrinter:
|
||||
class RustStdStringPrinter(object):
|
||||
def __init__(self, val):
|
||||
self.__val = val
|
||||
|
||||
@ -266,7 +268,7 @@ class RustStdStringPrinter:
|
||||
length=length)
|
||||
|
||||
|
||||
class RustCStyleVariantPrinter:
|
||||
class RustCStyleVariantPrinter(object):
|
||||
def __init__(self, val):
|
||||
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_ENUM
|
||||
self.__val = val
|
||||
@ -275,7 +277,7 @@ class RustCStyleVariantPrinter:
|
||||
return str(self.__val.get_wrapped_value())
|
||||
|
||||
|
||||
class IdentityPrinter:
|
||||
class IdentityPrinter(object):
|
||||
def __init__(self, string):
|
||||
self.string = string
|
||||
|
||||
|
@ -37,14 +37,14 @@ DEBUG_OUTPUT = False
|
||||
|
||||
|
||||
def print_debug(s):
|
||||
"Print something if DEBUG_OUTPUT is True"
|
||||
"""Print something if DEBUG_OUTPUT is True"""
|
||||
global DEBUG_OUTPUT
|
||||
if DEBUG_OUTPUT:
|
||||
print("DEBUG: " + str(s))
|
||||
|
||||
|
||||
def normalize_whitespace(s):
|
||||
"Replace newlines, tabs, multiple spaces, etc with exactly one space"
|
||||
"""Replace newlines, tabs, multiple spaces, etc with exactly one space"""
|
||||
return re.sub("\s+", " ", s)
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ registered_breakpoints = set()
|
||||
|
||||
|
||||
def execute_command(command_interpreter, command):
|
||||
"Executes a single CLI command"
|
||||
"""Executes a single CLI command"""
|
||||
global new_breakpoints
|
||||
global registered_breakpoints
|
||||
|
||||
|
@ -171,10 +171,10 @@ def print_val(lldb_val, internal_dict):
|
||||
#=--------------------------------------------------------------------------------------------------
|
||||
|
||||
def print_struct_val(val, internal_dict, omit_first_field, omit_type_name, is_tuple_like):
|
||||
'''
|
||||
"""
|
||||
Prints a struct, tuple, or tuple struct value with Rust syntax.
|
||||
Ignores any fields before field_start_index.
|
||||
'''
|
||||
"""
|
||||
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_STRUCT
|
||||
|
||||
if omit_type_name:
|
||||
@ -221,7 +221,7 @@ def print_struct_val(val, internal_dict, omit_first_field, omit_type_name, is_tu
|
||||
"body": body}
|
||||
|
||||
def print_pointer_val(val, internal_dict):
|
||||
'''Prints a pointer value with Rust syntax'''
|
||||
"""Prints a pointer value with Rust syntax"""
|
||||
assert val.type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_PTR
|
||||
sigil = "&"
|
||||
type_name = val.type.get_unqualified_type_name()
|
||||
@ -275,8 +275,8 @@ def print_std_string_val(val, internal_dict):
|
||||
#=--------------------------------------------------------------------------------------------------
|
||||
|
||||
def print_array_of_values(array_name, data_ptr_val, length, internal_dict):
|
||||
'''Prints a contigous memory range, interpreting it as values of the
|
||||
pointee-type of data_ptr_val.'''
|
||||
"""Prints a contigous memory range, interpreting it as values of the
|
||||
pointee-type of data_ptr_val."""
|
||||
|
||||
data_ptr_type = data_ptr_val.type
|
||||
assert data_ptr_type.get_dwarf_type_kind() == rustpp.DWARF_TYPE_CODE_PTR
|
||||
|
@ -119,16 +119,19 @@ class Void(Type):
|
||||
def __init__(self):
|
||||
Type.__init__(self, 0)
|
||||
|
||||
def compiler_ctor(self):
|
||||
@staticmethod
|
||||
def compiler_ctor():
|
||||
return '::VOID'
|
||||
|
||||
def compiler_ctor_ref(self):
|
||||
return '&' + self.compiler_ctor()
|
||||
|
||||
def rust_name(self):
|
||||
@staticmethod
|
||||
def rust_name():
|
||||
return '()'
|
||||
|
||||
def type_info(self, platform_info):
|
||||
@staticmethod
|
||||
def type_info(platform_info):
|
||||
return None
|
||||
|
||||
def __eq__(self, other):
|
||||
@ -282,7 +285,7 @@ class Vector(Type):
|
||||
|
||||
class Pointer(Type):
|
||||
def __init__(self, elem, llvm_elem, const):
|
||||
self._elem = elem;
|
||||
self._elem = elem
|
||||
self._llvm_elem = llvm_elem
|
||||
self._const = const
|
||||
Type.__init__(self, BITWIDTH_POINTER)
|
||||
@ -503,7 +506,7 @@ class GenericIntrinsic(object):
|
||||
# must be a power of two
|
||||
assert width & (width - 1) == 0
|
||||
def recur(processed, untouched):
|
||||
if untouched == []:
|
||||
if not untouched:
|
||||
ret = processed[0]
|
||||
args = processed[1:]
|
||||
yield MonomorphicIntrinsic(self._platform, self.intrinsic, width,
|
||||
@ -756,22 +759,26 @@ class ExternBlock(object):
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def open(self, platform):
|
||||
@staticmethod
|
||||
def open(platform):
|
||||
return 'extern "platform-intrinsic" {'
|
||||
|
||||
def render(self, mono):
|
||||
@staticmethod
|
||||
def render(mono):
|
||||
return ' fn {}{}{};'.format(mono.platform_prefix(),
|
||||
mono.intrinsic_name(),
|
||||
mono.intrinsic_signature())
|
||||
|
||||
def close(self):
|
||||
@staticmethod
|
||||
def close():
|
||||
return '}'
|
||||
|
||||
class CompilerDefs(object):
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def open(self, platform):
|
||||
@staticmethod
|
||||
def open(platform):
|
||||
return '''\
|
||||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
@ -798,7 +805,8 @@ pub fn find(name: &str) -> Option<Intrinsic> {{
|
||||
if !name.starts_with("{0}") {{ return None }}
|
||||
Some(match &name["{0}".len()..] {{'''.format(platform.platform_prefix())
|
||||
|
||||
def render(self, mono):
|
||||
@staticmethod
|
||||
def render(mono):
|
||||
return '''\
|
||||
"{}" => Intrinsic {{
|
||||
inputs: {{ static INPUTS: [&'static Type; {}] = [{}]; &INPUTS }},
|
||||
@ -810,7 +818,8 @@ pub fn find(name: &str) -> Option<Intrinsic> {{
|
||||
mono.compiler_ret(),
|
||||
mono.llvm_name())
|
||||
|
||||
def close(self):
|
||||
@staticmethod
|
||||
def close():
|
||||
return '''\
|
||||
_ => return None,
|
||||
})
|
||||
|
@ -177,7 +177,6 @@ def run(test):
|
||||
|
||||
|
||||
def interact(proc, queue):
|
||||
line = ""
|
||||
n = 0
|
||||
while proc.poll() is None:
|
||||
line = proc.stdout.readline()
|
||||
@ -185,7 +184,6 @@ def interact(proc, queue):
|
||||
continue
|
||||
assert line.endswith('\n'), "incomplete line: " + repr(line)
|
||||
queue.put(line)
|
||||
line = ""
|
||||
n += 1
|
||||
if n % UPDATE_EVERY_N == 0:
|
||||
msg("got", str(n // 1000) + "k", "records")
|
||||
|
@ -82,28 +82,28 @@ def load_unicode_data(f):
|
||||
canon_decomp = {}
|
||||
compat_decomp = {}
|
||||
|
||||
udict = {};
|
||||
range_start = -1;
|
||||
udict = {}
|
||||
range_start = -1
|
||||
for line in fileinput.input(f):
|
||||
data = line.split(';');
|
||||
data = line.split(';')
|
||||
if len(data) != 15:
|
||||
continue
|
||||
cp = int(data[0], 16);
|
||||
cp = int(data[0], 16)
|
||||
if is_surrogate(cp):
|
||||
continue
|
||||
if range_start >= 0:
|
||||
for i in xrange(range_start, cp):
|
||||
udict[i] = data;
|
||||
range_start = -1;
|
||||
udict[i] = data
|
||||
range_start = -1
|
||||
if data[1].endswith(", First>"):
|
||||
range_start = cp;
|
||||
continue;
|
||||
udict[cp] = data;
|
||||
range_start = cp
|
||||
continue
|
||||
udict[cp] = data
|
||||
|
||||
for code in udict:
|
||||
[code_org, name, gencat, combine, bidi,
|
||||
(code_org, name, gencat, combine, bidi,
|
||||
decomp, deci, digit, num, mirror,
|
||||
old, iso, upcase, lowcase, titlecase ] = udict[code];
|
||||
old, iso, upcase, lowcase, titlecase) = udict[code]
|
||||
|
||||
# generate char to char direct common and simple conversions
|
||||
# uppercase to lowercase
|
||||
@ -382,7 +382,7 @@ def emit_bool_trie(f, name, t_data, is_pub=True):
|
||||
global bytes_old, bytes_new
|
||||
bytes_old += 8 * len(t_data)
|
||||
CHUNK = 64
|
||||
rawdata = [False] * 0x110000;
|
||||
rawdata = [False] * 0x110000
|
||||
for (lo, hi) in t_data:
|
||||
for cp in range(lo, hi + 1):
|
||||
rawdata[cp] = True
|
||||
|
@ -726,18 +726,18 @@ impl<T> VecDeque<T> {
|
||||
/// ```
|
||||
/// use std::collections::VecDeque;
|
||||
///
|
||||
/// let mut vector: VecDeque<u32> = VecDeque::new();
|
||||
/// let mut vector = VecDeque::new();
|
||||
///
|
||||
/// vector.push_back(0);
|
||||
/// vector.push_back(1);
|
||||
/// vector.push_back(2);
|
||||
///
|
||||
/// assert_eq!(vector.as_slices(), (&[0u32, 1, 2] as &[u32], &[] as &[u32]));
|
||||
/// assert_eq!(vector.as_slices(), (&[0, 1, 2][..], &[][..]));
|
||||
///
|
||||
/// vector.push_front(10);
|
||||
/// vector.push_front(9);
|
||||
///
|
||||
/// assert_eq!(vector.as_slices(), (&[9u32, 10] as &[u32], &[0u32, 1, 2] as &[u32]));
|
||||
/// assert_eq!(vector.as_slices(), (&[9, 10][..], &[0, 1, 2][..]));
|
||||
/// ```
|
||||
#[inline]
|
||||
#[stable(feature = "deque_extras_15", since = "1.5.0")]
|
||||
@ -764,7 +764,7 @@ impl<T> VecDeque<T> {
|
||||
/// ```
|
||||
/// use std::collections::VecDeque;
|
||||
///
|
||||
/// let mut vector: VecDeque<u32> = VecDeque::new();
|
||||
/// let mut vector = VecDeque::new();
|
||||
///
|
||||
/// vector.push_back(0);
|
||||
/// vector.push_back(1);
|
||||
@ -774,7 +774,7 @@ impl<T> VecDeque<T> {
|
||||
///
|
||||
/// vector.as_mut_slices().0[0] = 42;
|
||||
/// vector.as_mut_slices().1[0] = 24;
|
||||
/// assert_eq!(vector.as_slices(), (&[42u32, 10] as &[u32], &[24u32, 1] as &[u32]));
|
||||
/// assert_eq!(vector.as_slices(), (&[42, 10][..], &[24, 1][..]));
|
||||
/// ```
|
||||
#[inline]
|
||||
#[stable(feature = "deque_extras_15", since = "1.5.0")]
|
||||
|
@ -180,7 +180,7 @@ impl<'tcx> Mir<'tcx> {
|
||||
Some(Local::new(idx))
|
||||
}
|
||||
|
||||
/// Counts the number of locals, such that that local_index
|
||||
/// Counts the number of locals, such that local_index
|
||||
/// will always return an index smaller than this count.
|
||||
pub fn count_locals(&self) -> usize {
|
||||
self.arg_decls.len() +
|
||||
|
@ -2808,7 +2808,7 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
||||
|
||||
/// See `ParameterEnvironment` struct def'n for details.
|
||||
/// If you were using `free_id: NodeId`, you might try `self.region_maps.item_extent(free_id)`
|
||||
/// for the `free_id_outlive` parameter. (But note that that is not always quite right.)
|
||||
/// for the `free_id_outlive` parameter. (But note that this is not always quite right.)
|
||||
pub fn construct_parameter_environment(self,
|
||||
span: Span,
|
||||
def_id: DefId,
|
||||
|
@ -473,7 +473,8 @@ impl EmitterWriter {
|
||||
if spans_updated {
|
||||
children.push(SubDiagnostic {
|
||||
level: Level::Note,
|
||||
message: "this error originates in a macro from the standard library".to_string(),
|
||||
message:"this error originates in a macro outside of the current \
|
||||
crate".to_string(),
|
||||
span: MultiSpan::new(),
|
||||
render_span: None
|
||||
});
|
||||
|
@ -153,7 +153,7 @@
|
||||
//! The collection algorithm handles this more or less transparently. If it is
|
||||
//! about to create a translation item for something with an external `DefId`,
|
||||
//! it will take a look if the MIR for that item is available, and if so just
|
||||
//! proceed normally. If the MIR is not available, it assumes that that item is
|
||||
//! proceed normally. If the MIR is not available, it assumes that the item is
|
||||
//! just linked to and no node is created; which is exactly what we want, since
|
||||
//! no machine code should be generated in the current crate for such an item.
|
||||
//!
|
||||
|
@ -17,7 +17,7 @@
|
||||
//! the `render_inner_with_highlighting` or `render_with_highlighting`
|
||||
//! functions. For more advanced use cases (if you want to supply your own css
|
||||
//! classes or control how the HTML is generated, or even generate something
|
||||
//! other then HTML), then you should implement the the `Writer` trait and use a
|
||||
//! other then HTML), then you should implement the `Writer` trait and use a
|
||||
//! `Classifier`.
|
||||
|
||||
use html::escape::Escape;
|
||||
|
@ -1,3 +1,5 @@
|
||||
@import "normalize.css";
|
||||
|
||||
/**
|
||||
* Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||
* file at the top-level directory of this distribution and at
|
||||
@ -59,8 +61,6 @@
|
||||
src: local('Source Code Pro Semibold'), url("SourceCodePro-Semibold.woff") format('woff');
|
||||
}
|
||||
|
||||
@import "normalize.css";
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
@ -284,7 +284,7 @@ h3.impl > .out-of-band {
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
h4 > code, h3 > code, invisible > code {
|
||||
h4 > code, h3 > code, .invisible > code {
|
||||
position: inherit;
|
||||
}
|
||||
|
||||
@ -459,7 +459,8 @@ a {
|
||||
.content .search-results td:first-child { padding-right: 0; }
|
||||
.content .search-results td:first-child a { padding-right: 10px; }
|
||||
|
||||
tr.result span.primitive::after { content: ' (primitive type)'; font-style: italic; color: black}
|
||||
tr.result span.primitive::after { content: ' (primitive type)'; font-style: italic; color: black;
|
||||
}
|
||||
|
||||
body.blur > :not(#help) {
|
||||
filter: blur(8px);
|
||||
|
@ -107,7 +107,7 @@ nav.main .current {
|
||||
border-bottom-color: #000;
|
||||
}
|
||||
nav.main .separator {
|
||||
border-color: 1px solid #000;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
a {
|
||||
color: #000;
|
||||
|
@ -228,9 +228,14 @@ impl CString {
|
||||
|
||||
/// Retakes ownership of a `CString` that was transferred to C.
|
||||
///
|
||||
/// Additionally, the length of the string will be recalculated from the pointer.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// This should only ever be called with a pointer that was earlier
|
||||
/// obtained by calling `into_raw` on a `CString`. Additionally, the length
|
||||
/// of the string will be recalculated from the pointer.
|
||||
/// obtained by calling `into_raw` on a `CString`. Other usage (e.g. trying to take
|
||||
/// ownership of a string that was allocated by foreign code) is likely to lead
|
||||
/// to undefined behavior or allocator corruption.
|
||||
#[stable(feature = "cstr_memory", since = "1.4.0")]
|
||||
pub unsafe fn from_raw(ptr: *mut c_char) -> CString {
|
||||
let len = libc::strlen(ptr) + 1; // Including the NUL byte
|
||||
|
@ -83,7 +83,7 @@ impl Duration {
|
||||
|
||||
/// Returns the number of whole seconds represented by this duration.
|
||||
///
|
||||
/// The extra precision represented by this duration is ignored (e.g. extra
|
||||
/// The extra precision represented by this duration is ignored (i.e. extra
|
||||
/// nanoseconds are not represented in the returned value).
|
||||
#[stable(feature = "duration", since = "1.3.0")]
|
||||
#[inline]
|
||||
@ -93,7 +93,7 @@ impl Duration {
|
||||
///
|
||||
/// This method does **not** return the length of the duration when
|
||||
/// represented by nanoseconds. The returned number always represents a
|
||||
/// fractional portion of a second (e.g. it is less than one billion).
|
||||
/// fractional portion of a second (i.e. it is less than one billion).
|
||||
#[stable(feature = "duration", since = "1.3.0")]
|
||||
#[inline]
|
||||
pub fn subsec_nanos(&self) -> u32 { self.nanos }
|
||||
|
20
src/test/run-pass/issue-9837.rs
Normal file
20
src/test/run-pass/issue-9837.rs
Normal file
@ -0,0 +1,20 @@
|
||||
// Copyright 2016 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.
|
||||
|
||||
const C1: i32 = 0x12345678;
|
||||
const C2: isize = C1 as i16 as isize;
|
||||
|
||||
enum E {
|
||||
V = C2
|
||||
}
|
||||
|
||||
fn main() {
|
||||
assert_eq!(C2 as u64, E::V as u64);
|
||||
}
|
@ -4,7 +4,7 @@ error: requires at least a format string argument
|
||||
12 | format!();
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: expected token: `,`
|
||||
--> $DIR/bad-format-args.rs:13:5
|
||||
@ -12,7 +12,7 @@ error: expected token: `,`
|
||||
13 | format!("" 1);
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: expected token: `,`
|
||||
--> $DIR/bad-format-args.rs:14:5
|
||||
@ -20,7 +20,7 @@ error: expected token: `,`
|
||||
14 | format!("", 1 1);
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
@ -4,7 +4,7 @@ error: cannot apply unary operator `!` to type `&'static str`
|
||||
12 | assert!("foo");
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -5,7 +5,7 @@ error[E0282]: unable to infer enough type information about `_`
|
||||
| ^^^^^^ cannot infer type for `_`
|
||||
|
|
||||
= note: type annotations or generic parameter binding required
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -4,7 +4,7 @@ error: invalid reference to argument `0` (no arguments given)
|
||||
16 | myprintln!("{}"); //~ ERROR in this macro
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in a macro from the standard library
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user