From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- .../assume-incomplete-release/assume-incomplete.rs | 38 --------------- .../auxiliary/ver-cfg-rel.rs | 56 ---------------------- 2 files changed, 94 deletions(-) delete mode 100644 src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs delete mode 100644 src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs (limited to 'src/test/ui/cfg/assume-incomplete-release') diff --git a/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs b/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs deleted file mode 100644 index 24d2dc645..000000000 --- a/src/test/ui/cfg/assume-incomplete-release/assume-incomplete.rs +++ /dev/null @@ -1,38 +0,0 @@ -// run-pass -// aux-build:ver-cfg-rel.rs -// revisions: assume no_assume -// [assume]compile-flags: -Z assume-incomplete-release - -#![feature(cfg_version)] - -extern crate ver_cfg_rel; - -use ver_cfg_rel::ver_cfg_rel; - -#[ver_cfg_rel("-2")] -fn foo_2() { } - -#[ver_cfg_rel("-1")] -fn foo_1() { } - -#[cfg(assume)] -#[ver_cfg_rel("0")] -fn foo() { compile_error!("wrong+0") } - -#[cfg(no_assume)] -#[ver_cfg_rel("0")] -fn foo() { } - -#[ver_cfg_rel("1")] -fn bar() { compile_error!("wrong+1") } - -#[ver_cfg_rel("2")] -fn bar() { compile_error!("wrong+2") } - -fn main() { - foo_2(); - foo_1(); - - #[cfg(no_assume)] - foo(); -} diff --git a/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs b/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs deleted file mode 100644 index 678752702..000000000 --- a/src/test/ui/cfg/assume-incomplete-release/auxiliary/ver-cfg-rel.rs +++ /dev/null @@ -1,56 +0,0 @@ -// force-host -// no-prefer-dynamic - -#![crate_type = "proc-macro"] - -extern crate proc_macro; -use proc_macro::{TokenStream, TokenTree as Tt}; -use std::str::FromStr; - -// String containing the current version number of the tip, i.e. "1.41.2" -static VERSION_NUMBER: &str = include_str!("../../../../../version"); - -#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] -struct Version { - major: i16, - minor: i16, - patch: i16, -} - -fn parse_version(s: &str) -> Option { - let mut digits = s.splitn(3, '.'); - let major = digits.next()?.parse().ok()?; - let minor = digits.next()?.parse().ok()?; - let patch = digits.next().unwrap_or("0").trim().parse().ok()?; - Some(Version { major, minor, patch }) -} - -#[proc_macro_attribute] -/// Emits a #[cfg(version)] relative to the current one, so passing -/// -1 as argument on compiler 1.50 will emit #[cfg(version("1.49.0"))], -/// while 1 will emit #[cfg(version("1.51.0"))] -pub fn ver_cfg_rel(attr: TokenStream, input: TokenStream) -> TokenStream { - let mut v_rel = None; - for a in attr.into_iter() { - match a { - Tt::Literal(l) => { - let mut s = l.to_string(); - let s = s.trim_matches('"'); - let v: i16 = s.parse().unwrap(); - v_rel = Some(v); - break; - }, - _ => panic!("{:?}", a), - } - } - let v_rel = v_rel.unwrap(); - - let mut v = parse_version(VERSION_NUMBER).unwrap(); - v.minor += v_rel; - - let attr_str = format!("#[cfg(version(\"{}.{}.{}\"))]", v.major, v.minor, v.patch); - let mut res = Vec::::new(); - res.extend(TokenStream::from_str(&attr_str).unwrap().into_iter()); - res.extend(input.into_iter()); - res.into_iter().collect() -} -- cgit v1.2.3