Skip to content

Commit 3d48592

Browse files
committed
Added crate for seeing warnings for const_format macros in external crates.
1 parent b99cbaa commit 3d48592

File tree

5 files changed

+120
-0
lines changed

5 files changed

+120
-0
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ members=[
33
"const_format",
44
"const_format_proc_macros",
55
"print_errors",
6+
"print_warnings",
67
]

print_clippy_warnings/Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "print_clippy_warnings"
3+
version = "0.1.0"
4+
authors = ["rodrimati1992 <rodrimatt1985@gmail.com>"]
5+
edition = "2018"
6+
7+
[features]
8+
nightly = ["const_format/assert"]
9+
10+
[dependencies]
11+
const_format = {path = "../const_format/"}

print_clippy_warnings/src/main.rs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
2+
#![feature(const_mut_refs)]
3+
4+
use const_format::{concatcp,formatcp};
5+
6+
7+
#[cfg(feature = "nightly")]
8+
pub mod nightly{
9+
use const_format::{
10+
for_examples::Unit,
11+
StrWriter,StrWriterMut,
12+
assertc,assertc_eq,assertc_ne,concatc,formatc,strwriter_as_str,writec,
13+
};
14+
15+
pub const TWO: u32 = 2;
16+
pub const TEN: u32 = 10;
17+
18+
assertc!(TWO != TEN, "{} != {}", TWO, TEN);
19+
assertc_eq!(TWO, TWO);
20+
assertc_ne!(TWO, TEN);
21+
22+
pub const CONCATC_A: &str = concatc!("hello", "world");
23+
pub const CONCATC_B: &str = concatc!(10u8, 20u8);
24+
25+
pub const FORMATC_A: &str = formatc!("{}hello{}{:?}", "foo", 100u8, Unit);
26+
27+
const fn as_str_ctor() -> StrWriter<[u8; 100]> {
28+
let mut writer = StrWriter::new([0; 100]);
29+
30+
let _ = writec!(writer, "{:#?}", Unit);
31+
{
32+
let mut writer = StrWriterMut::new(&mut writer);
33+
34+
let _ = writec!(writer, "{0}{0:?}", 100u8);
35+
}
36+
writer
37+
}
38+
39+
pub const AS_STR: &str = strwriter_as_str!(&as_str_ctor());
40+
}
41+
42+
43+
44+
45+
pub const CONCATCP_A: &str = concatcp!("hello", "world");
46+
pub const CONCATCP_B: &str = concatcp!(10u8, 20u8);
47+
48+
pub const FORMATCP_A: &str = formatcp!("{}hello{:x?}", "foo", 100u8);
49+
50+
51+
52+
53+
fn main(){}

print_warnings/Cargo.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[package]
2+
name = "print_warnings"
3+
version = "0.1.0"
4+
authors = ["rodrimati1992 <rodrimatt1985@gmail.com>"]
5+
edition = "2018"
6+
7+
[features]
8+
nightly = ["const_format/assert"]
9+
10+
[dependencies]
11+
const_format = {path = "../const_format/"}

print_warnings/src/main.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#![feature(const_mut_refs)]
2+
3+
use const_format::{concatcp, formatcp};
4+
5+
#[cfg(feature = "nightly")]
6+
pub mod nightly {
7+
use const_format::{
8+
assertc, assertc_eq, assertc_ne, concatc, for_examples::Unit, formatc, strwriter_as_str,
9+
writec, StrWriter, StrWriterMut,
10+
};
11+
12+
pub const TWO: u32 = 2;
13+
pub const TEN: u32 = 10;
14+
15+
assertc!(TWO != TEN, "{} != {}", TWO, TEN);
16+
assertc_eq!(TWO, TWO);
17+
assertc_ne!(TWO, TEN);
18+
19+
pub const CONCATC_A: &str = concatc!("hello", "world");
20+
pub const CONCATC_B: &str = concatc!(10u8, 20u8);
21+
22+
pub const FORMATC_A: &str = formatc!("{}hello{}{:?}", "foo", 100u8, Unit);
23+
24+
const fn as_str_ctor() -> StrWriter<[u8; 100]> {
25+
let mut writer = StrWriter::new([0; 100]);
26+
27+
let _ = writec!(writer, "{:#?}", Unit);
28+
{
29+
let mut writer = StrWriterMut::new(&mut writer);
30+
31+
let _ = writec!(writer, "{0}{0:?}", 100u8);
32+
}
33+
writer
34+
}
35+
36+
pub const AS_STR: &str = strwriter_as_str!(&as_str_ctor());
37+
}
38+
39+
pub const CONCATCP_A: &str = concatcp!("hello", "world");
40+
pub const CONCATCP_B: &str = concatcp!(10u8, 20u8);
41+
42+
pub const FORMATCP_A: &str = formatcp!("{}hello{:x?}", "foo", 100u8);
43+
44+
fn main() {}

0 commit comments

Comments
 (0)