public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug rust/26197] rust FAILs with rustc 1.36.0 and llvm 7 Date: Thu, 13 Aug 2020 11:26:57 +0000 [thread overview] Message-ID: <bug-26197-4717-TS4RzoEhSQ@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-26197-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=26197 --- Comment #19 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Tom Tromey from comment #18) > Then I checked out the version before a1520ad8fc (see comment #6). > However, this one crashes trying to load the executable, which > maybe is why that patch exists? (I don't remember the context any more.) > I've checked out a1520ad8fc^ and built it. I'm observing the same as you, that is: ... UNTESTED: gdb.rust/union.exp: could not run to breakpoint UNTESTED: gdb.rust/modules.exp: could not run to breakpoint UNTESTED: gdb.rust/simple.exp: could not run to breakpoint UNTESTED: gdb.rust/traits.exp: could not read /home/vries/gdb_versions/devel/build/gdb/testsuite/outputs/gdb.rust/traits/traits with readelf UNTESTED: gdb.rust/rust-style.exp: could not run to breakpoint UNTESTED: gdb.rust/methods.exp: could not run to breakpoint ... Which means that my assessment in comment 6 was wrong: this is not a regression starting at that commit. > Do you know of a version that passes these tests with this executable > or rust compiler version? I've tried the you mentioned, commit 9852ceef, and get: ... Running target unix Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/union.exp ... PASS: gdb.rust/union.exp: print u PASS: gdb.rust/union.exp: ptype/o Union PASS: gdb.rust/union.exp: print u2 Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/modules.exp ... PASS: gdb.rust/modules.exp: call f3() PASS: gdb.rust/modules.exp: call self::f2() PASS: gdb.rust/modules.exp: call self::super::f2() PASS: gdb.rust/modules.exp: call super::f2() PASS: gdb.rust/modules.exp: call self::super::super::f2() PASS: gdb.rust/modules.exp: call super::super::f2() PASS: gdb.rust/modules.exp: call ::f2() PASS: gdb.rust/modules.exp: call extern modules::mod1::f2() PASS: gdb.rust/modules.exp: call super::super::super::f2() PASS: gdb.rust/modules.exp: ptype ::Generic::<::Generic<::Type> > PASS: gdb.rust/modules.exp: ptype ::Generic::<::Generic<extern modules::Type> > PASS: gdb.rust/modules.exp: ptype ::Generic::<::Generic<::mod1::Type>> PASS: gdb.rust/modules.exp: ptype ::Generic::<::Generic<super::Type>> PASS: gdb.rust/modules.exp: ptype ::Generic::<::Generic<self::Type>> PASS: gdb.rust/modules.exp: setting breakpoint at modules::mod1::inner::innest::f2 PASS: gdb.rust/modules.exp: setting breakpoint at *::mod1::inner::innest::f2 PASS: gdb.rust/modules.exp: setting breakpoint at modules::mod1::inner::f2 PASS: gdb.rust/modules.exp: setting breakpoint at *::mod1::inner::f2 PASS: gdb.rust/modules.exp: setting breakpoint at modules::mod1::f2 PASS: gdb.rust/modules.exp: setting breakpoint at *::mod1::f2 PASS: gdb.rust/modules.exp: setting breakpoint at modules::f2 PASS: gdb.rust/modules.exp: setting breakpoint at *::f2 PASS: gdb.rust/modules.exp: print ::TWENTY_THREE Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/unsized.exp ... PASS: gdb.rust/unsized.exp: ptype *us Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/simple.exp ... PASS: gdb.rust/simple.exp: print a PASS: gdb.rust/simple.exp: ptype a PASS: gdb.rust/simple.exp: print sizeof(a) PASS: gdb.rust/simple.exp: print b PASS: gdb.rust/simple.exp: ptype b PASS: gdb.rust/simple.exp: print *(&b as *const [i32; 0]) PASS: gdb.rust/simple.exp: print *(&b as *const [i32; 0_0]) PASS: gdb.rust/simple.exp: print c PASS: gdb.rust/simple.exp: ptype c PASS: gdb.rust/simple.exp: print sizeof(c) PASS: gdb.rust/simple.exp: print c = 87 PASS: gdb.rust/simple.exp: print c PASS: gdb.rust/simple.exp: print c += 3 PASS: gdb.rust/simple.exp: print c PASS: gdb.rust/simple.exp: print c -= 90 PASS: gdb.rust/simple.exp: print c PASS: gdb.rust/simple.exp: print *&c PASS: gdb.rust/simple.exp: print *(&c as &i32) PASS: gdb.rust/simple.exp: print *(&c as *const i32) PASS: gdb.rust/simple.exp: print *(&c as *mut i32) PASS: gdb.rust/simple.exp: ptype &c as *mut i32 PASS: gdb.rust/simple.exp: print/c f[0] PASS: gdb.rust/simple.exp: print j PASS: gdb.rust/simple.exp: ptype j PASS: gdb.rust/simple.exp: print j2 PASS: gdb.rust/simple.exp: ptype j2 PASS: gdb.rust/simple.exp: print simple::Unit PASS: gdb.rust/simple.exp: print simple::Unit{} PASS: gdb.rust/simple.exp: print f PASS: gdb.rust/simple.exp: print fslice PASS: gdb.rust/simple.exp: print &f[3..] PASS: gdb.rust/simple.exp: print g PASS: gdb.rust/simple.exp: ptype g PASS: gdb.rust/simple.exp: print v PASS: gdb.rust/simple.exp: ptype v PASS: gdb.rust/simple.exp: print w PASS: gdb.rust/simple.exp: ptype w PASS: gdb.rust/simple.exp: print w[2] PASS: gdb.rust/simple.exp: print w[2] @ 2 PASS: gdb.rust/simple.exp: print w_ptr[2] PASS: gdb.rust/simple.exp: print fromslice PASS: gdb.rust/simple.exp: print slice[0] PASS: gdb.rust/simple.exp: print slice as &[i32][0] PASS: gdb.rust/simple.exp: ptype slice PASS: gdb.rust/simple.exp: ptype &slice[..] PASS: gdb.rust/simple.exp: ptype &b[..] PASS: gdb.rust/simple.exp: print x PASS: gdb.rust/simple.exp: ptype x PASS: gdb.rust/simple.exp: print x as (i32,f64) PASS: gdb.rust/simple.exp: print y PASS: gdb.rust/simple.exp: ptype y PASS: gdb.rust/simple.exp: print y.field2 PASS: gdb.rust/simple.exp: print z PASS: gdb.rust/simple.exp: ptype z PASS: gdb.rust/simple.exp: print z.1 PASS: gdb.rust/simple.exp: print univariant PASS: gdb.rust/simple.exp: print univariant.a PASS: gdb.rust/simple.exp: print univariant_anon PASS: gdb.rust/simple.exp: print univariant_anon.0 PASS: gdb.rust/simple.exp: print univariant_anon.sss PASS: gdb.rust/simple.exp: ptype simple::Univariant PASS: gdb.rust/simple.exp: ptype simple::UnivariantAnon PASS: gdb.rust/simple.exp: ptype simple::ByeBob PASS: gdb.rust/simple.exp: print simple::ByeBob(0xff, 5) PASS: gdb.rust/simple.exp: print simple::ByeBob{field1: 0xff, field2:5} PASS: gdb.rust/simple.exp: print simple::HiBob(0xff, 5) PASS: gdb.rust/simple.exp: print sizeof(simple::HiBob) PASS: gdb.rust/simple.exp: print simple::HiBob + 5 PASS: gdb.rust/simple.exp: print nosuchsymbol PASS: gdb.rust/simple.exp: print simple::HiBob{field1, field2} PASS: gdb.rust/simple.exp: print simple::HiBob{field1: 99, .. y} PASS: gdb.rust/simple.exp: print e PASS: gdb.rust/simple.exp: print e2 PASS: gdb.rust/simple.exp: print sizeof(e) PASS: gdb.rust/simple.exp: ptype e PASS: gdb.rust/simple.exp: print e.0 PASS: gdb.rust/simple.exp: print e.1 PASS: gdb.rust/simple.exp: print e.foo PASS: gdb.rust/simple.exp: print e2.variant PASS: gdb.rust/simple.exp: print e2.notexist PASS: gdb.rust/simple.exp: print e2.0 XFAIL: gdb.rust/simple.exp: print k PASS: gdb.rust/simple.exp: print l PASS: gdb.rust/simple.exp: print *l.1 PASS: gdb.rust/simple.exp: print diff2(3, 7) PASS: gdb.rust/simple.exp: print self::diff2(8, 9) PASS: gdb.rust/simple.exp: print ::diff2(23, -23) PASS: gdb.rust/simple.exp: ptype diff2 PASS: gdb.rust/simple.exp: ptype empty PASS: gdb.rust/simple.exp: print (diff2 as fn(i32, i32) -> i32)(19, -2) PASS: gdb.rust/simple.exp: print "hello rust" PASS: gdb.rust/simple.exp: print "hello PASS: gdb.rust/simple.exp: print r##"hello " rust"## PASS: gdb.rust/simple.exp: print r"hello PASS: gdb.rust/simple.exp: print r###"###hello" PASS: gdb.rust/simple.exp: print r###"###hello"## PASS: gdb.rust/simple.exp: print r###"hello### PASS: gdb.rust/simple.exp: print 0..5 PASS: gdb.rust/simple.exp: print 0..=5 PASS: gdb.rust/simple.exp: print ..5 PASS: gdb.rust/simple.exp: print ..=5 PASS: gdb.rust/simple.exp: print 5.. PASS: gdb.rust/simple.exp: print .. XFAIL: gdb.rust/simple.exp: print str_some XFAIL: gdb.rust/simple.exp: print str_none PASS: gdb.rust/simple.exp: print int_some PASS: gdb.rust/simple.exp: print int_none PASS: gdb.rust/simple.exp: print box_some PASS: gdb.rust/simple.exp: print box_none XFAIL: gdb.rust/simple.exp: print custom_some XFAIL: gdb.rust/simple.exp: print custom_none PASS: gdb.rust/simple.exp: print st PASS: gdb.rust/simple.exp: print slice PASS: gdb.rust/simple.exp: print &w[2..3] PASS: gdb.rust/simple.exp: print slice PASS: gdb.rust/simple.exp: print &w[2..=2] PASS: gdb.rust/simple.exp: print slice2 PASS: gdb.rust/simple.exp: print &slice[0..1] PASS: gdb.rust/simple.exp: print slice2 PASS: gdb.rust/simple.exp: print &slice[0..=0] PASS: gdb.rust/simple.exp: print all1 PASS: gdb.rust/simple.exp: print &w[..] PASS: gdb.rust/simple.exp: print all2 PASS: gdb.rust/simple.exp: print &slice[..] PASS: gdb.rust/simple.exp: print from1 PASS: gdb.rust/simple.exp: print &w[1..] PASS: gdb.rust/simple.exp: print from2 PASS: gdb.rust/simple.exp: print &slice[1..] PASS: gdb.rust/simple.exp: print to1 PASS: gdb.rust/simple.exp: print &w[..3] PASS: gdb.rust/simple.exp: print to1 PASS: gdb.rust/simple.exp: print &w[..=2] PASS: gdb.rust/simple.exp: print to2 PASS: gdb.rust/simple.exp: print &slice[..1] PASS: gdb.rust/simple.exp: print to2 PASS: gdb.rust/simple.exp: print &slice[..=0] PASS: gdb.rust/simple.exp: print w[2..3] PASS: gdb.rust/simple.exp: complete print y.f PASS: gdb.rust/simple.exp: complete print y. PASS: gdb.rust/simple.exp: print (1,2,3) PASS: gdb.rust/simple.exp: print (1,) PASS: gdb.rust/simple.exp: print (1) PASS: gdb.rust/simple.exp: print 23..97.0 PASS: gdb.rust/simple.exp: print (*parametrized.next.val) PASS: gdb.rust/simple.exp: print parametrized.next.val PASS: gdb.rust/simple.exp: print parametrized PASS: gdb.rust/simple.exp: ptype/o SimpleLayout PASS: gdb.rust/simple.exp: print nonzero_offset PASS: gdb.rust/simple.exp: print empty_enum_value PASS: gdb.rust/simple.exp: ptype empty_enum_value PASS: gdb.rust/simple.exp: print empty_enum_value.0 PASS: gdb.rust/simple.exp: print empty_enum_value.something PASS: gdb.rust/simple.exp: python print(gdb.lookup_type('simple::HiBob')) Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/watch.exp ... PASS: gdb.rust/watch.exp: watch -location y Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/traits.exp ... UNTESTED: gdb.rust/traits.exp: could not read /home/vries/gdb_versions/devel/build/gdb/testsui te/outputs/gdb.rust/traits/traits with readelf Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/expr.exp ... PASS: gdb.rust/expr.exp: set var $something = 27 PASS: gdb.rust/expr.exp: set language rust PASS: gdb.rust/expr.exp: set language to "rust" PASS: gdb.rust/expr.exp: print 9__97 PASS: gdb.rust/expr.exp: print -5 PASS: gdb.rust/expr.exp: print +5 PASS: gdb.rust/expr.exp: print +-+-5 PASS: gdb.rust/expr.exp: print 3_2i32 PASS: gdb.rust/expr.exp: print 32i64 PASS: gdb.rust/expr.exp: print 8u8 PASS: gdb.rust/expr.exp: print 0x1f PASS: gdb.rust/expr.exp: print 0o07 PASS: gdb.rust/expr.exp: print 0o70 PASS: gdb.rust/expr.exp: print 0b1_111 PASS: gdb.rust/expr.exp: print 32usize PASS: gdb.rust/expr.exp: print 0x_4 PASS: gdb.rust/expr.exp: print 'z' PASS: gdb.rust/expr.exp: print '\t' PASS: gdb.rust/expr.exp: print '\n' PASS: gdb.rust/expr.exp: print '\r' PASS: gdb.rust/expr.exp: print '\\' PASS: gdb.rust/expr.exp: print '\0' PASS: gdb.rust/expr.exp: print '\'' PASS: gdb.rust/expr.exp: print '\"' PASS: gdb.rust/expr.exp: print '\xff' PASS: gdb.rust/expr.exp: print '\xFF' PASS: gdb.rust/expr.exp: print '\u{F0eF}' PASS: gdb.rust/expr.exp: print b'z' PASS: gdb.rust/expr.exp: print b'\xfe' PASS: gdb.rust/expr.exp: print b'\t' PASS: gdb.rust/expr.exp: print b'\n' PASS: gdb.rust/expr.exp: print b'\r' PASS: gdb.rust/expr.exp: print b'\\' PASS: gdb.rust/expr.exp: print b'\0' PASS: gdb.rust/expr.exp: print b'\'' PASS: gdb.rust/expr.exp: print b'\"' PASS: gdb.rust/expr.exp: print b'\xff' PASS: gdb.rust/expr.exp: print 23.5 PASS: gdb.rust/expr.exp: print 23.5e1 PASS: gdb.rust/expr.exp: print 2e4 PASS: gdb.rust/expr.exp: print 2_E+4_f64 PASS: gdb.rust/expr.exp: print 5e-1 PASS: gdb.rust/expr.exp: print 5e-1f32 PASS: gdb.rust/expr.exp: print false PASS: gdb.rust/expr.exp: print true PASS: gdb.rust/expr.exp: print 1+2 PASS: gdb.rust/expr.exp: print 1i32 + 2i32 PASS: gdb.rust/expr.exp: print 2.0 - 1.0 PASS: gdb.rust/expr.exp: print !false PASS: gdb.rust/expr.exp: print !true PASS: gdb.rust/expr.exp: print !0u8 PASS: gdb.rust/expr.exp: print 7 * 7 PASS: gdb.rust/expr.exp: print 7usize * 7usize PASS: gdb.rust/expr.exp: print 42 / 7 PASS: gdb.rust/expr.exp: print 42 % 7 PASS: gdb.rust/expr.exp: print 1.0 / 2.0 PASS: gdb.rust/expr.exp: print 1 < 2 PASS: gdb.rust/expr.exp: print !(1 < 2) PASS: gdb.rust/expr.exp: print 3 + 4 * 7 PASS: gdb.rust/expr.exp: print 1 > 2 PASS: gdb.rust/expr.exp: print 1 | 2 PASS: gdb.rust/expr.exp: print 1 & 2 PASS: gdb.rust/expr.exp: print 3 & 2 PASS: gdb.rust/expr.exp: print 3 ^ 2 PASS: gdb.rust/expr.exp: print (1 < 0) || true PASS: gdb.rust/expr.exp: print (1 > 0) && false PASS: gdb.rust/expr.exp: print 'z' == 'z' PASS: gdb.rust/expr.exp: print '\u{1016f}' != 'q' PASS: gdb.rust/expr.exp: print 32 <= 32 PASS: gdb.rust/expr.exp: print 32 >= 32 PASS: gdb.rust/expr.exp: print 1 << 5 PASS: gdb.rust/expr.exp: print 32usize >> 5 PASS: gdb.rust/expr.exp: ptype 32i32 as f64 PASS: gdb.rust/expr.exp: ptype 0xf9f9f9f90000 PASS: gdb.rust/expr.exp: print () PASS: gdb.rust/expr.exp: print [1,2,3,4] PASS: gdb.rust/expr.exp: ptype [1,2,3,4] PASS: gdb.rust/expr.exp: print [mut 1,2,3,4] PASS: gdb.rust/expr.exp: print b"hi rust" PASS: gdb.rust/expr.exp: print b"\xddhi bob" PASS: gdb.rust/expr.exp: print b"has\0nul" PASS: gdb.rust/expr.exp: print br##"hi"## PASS: gdb.rust/expr.exp: print br##"hi PASS: gdb.rust/expr.exp: print br##"hi" PASS: gdb.rust/expr.exp: print br##"hi"# PASS: gdb.rust/expr.exp: print $something PASS: gdb.rust/expr.exp: print $_isvoid($nosuchvariable) PASS: gdb.rust/expr.exp: print $_isvoid($something) PASS: gdb.rust/expr.exp: print [23usize; 4] PASS: gdb.rust/expr.exp: ptype [23usize; 4] PASS: gdb.rust/expr.exp: print [mut 23usize; 4] PASS: gdb.rust/expr.exp: print 0x0 as *mut () PASS: gdb.rust/expr.exp: print 0x0 as fn(i64) -> () PASS: gdb.rust/expr.exp: print r# PASS: gdb.rust/expr.exp: printf "%d %d\n", 23+1, 23-1 Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/rust-style.exp ... PASS: gdb.rust/rust-style.exp: print v Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/methods.exp ... PASS: gdb.rust/methods.exp: print x PASS: gdb.rust/methods.exp: print methods::HasMethods{value: 73} PASS: gdb.rust/methods.exp: print methods::HasMethods{..x} PASS: gdb.rust/methods.exp: print methods::HasMethods{value:19, ..x} PASS: gdb.rust/methods.exp: print x.take() PASS: gdb.rust/methods.exp: print *(x.incr()) PASS: gdb.rust/methods.exp: print *((&mut x).incr()) PASS: gdb.rust/methods.exp: print a.value() PASS: gdb.rust/methods.exp: print (&mut a).value() PASS: gdb.rust/methods.exp: print b.value() PASS: gdb.rust/methods.exp: print c.value() PASS: gdb.rust/methods.exp: continue to breakpoint: second breakpoint PASS: gdb.rust/methods.exp: print *self PASS: gdb.rust/methods.exp: info functions HasMethods::new Running /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.rust/generics.exp ... FAIL: gdb.rust/generics.exp: print identity::<u32>(23u32) FAIL: gdb.rust/generics.exp: ptype identity::<u32>(23u32) FAIL: gdb.rust/generics.exp: print identity::<f64>(23) FAIL: gdb.rust/generics.exp: ptype identity::<f64>(23) PASS: gdb.rust/generics.exp: print e PASS: gdb.rust/generics.exp: print generics::Hold::<i32> (7) PASS: gdb.rust/generics.exp: print Hold::<i32> (7) FAIL: gdb.rust/generics.exp: print identity::< Hold<i32> >(e) FAIL: gdb.rust/generics.exp: print identity::<generics::Hold<i32> >(e) FAIL: gdb.rust/generics.exp: print identity::<Hold<i32>>(e) === gdb Summary === # of expected passes 289 # of unexpected failures 7 # of expected failures 5 # of untested testcases 1 ... -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2020-08-13 11:26 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-02 15:01 [Bug rust/26197] New: " vries at gcc dot gnu.org 2020-07-02 15:01 ` [Bug rust/26197] " vries at gcc dot gnu.org 2020-07-02 15:02 ` vries at gcc dot gnu.org 2020-07-02 15:02 ` vries at gcc dot gnu.org 2020-07-02 15:02 ` vries at gcc dot gnu.org 2020-07-06 9:28 ` vries at gcc dot gnu.org 2020-07-12 21:20 ` tromey at sourceware dot org 2020-07-12 21:35 ` tromey at sourceware dot org 2020-07-13 9:25 ` vries at gcc dot gnu.org 2020-07-13 9:31 ` vries at gcc dot gnu.org 2020-07-14 1:52 ` tromey at sourceware dot org 2020-07-21 20:39 ` tromey at sourceware dot org 2020-07-22 12:55 ` brobecker at gnat dot com 2020-07-22 19:37 ` tromey at sourceware dot org 2020-07-22 19:40 ` tromey at sourceware dot org 2020-07-22 20:02 ` tromey at sourceware dot org 2020-07-22 20:13 ` tromey at sourceware dot org 2020-08-05 16:11 ` cvs-commit at gcc dot gnu.org 2020-08-05 17:52 ` tromey at sourceware dot org 2020-08-05 19:34 ` vries at gcc dot gnu.org 2020-08-12 21:31 ` tromey at sourceware dot org 2020-08-13 11:26 ` vries at gcc dot gnu.org [this message] 2020-08-13 12:43 ` tromey at sourceware dot org 2020-08-13 12:46 ` vries at gcc dot gnu.org 2020-08-13 14:13 ` tromey at sourceware dot org 2020-08-15 6:10 ` vries at gcc dot gnu.org 2020-08-17 16:49 ` cvs-commit at gcc dot gnu.org 2020-08-17 17:04 ` tromey at sourceware dot org 2020-08-17 17:09 ` tromey at sourceware dot org 2020-08-18 9:02 ` vries at gcc dot gnu.org 2020-08-18 9:34 ` vries at gcc dot gnu.org 2020-09-08 16:42 ` tromey at sourceware dot org 2020-09-10 18:39 ` tromey at sourceware dot org 2020-09-10 18:43 ` tromey at sourceware dot org 2020-09-15 15:27 ` cvs-commit at gcc dot gnu.org 2020-09-15 15:48 ` cvs-commit at gcc dot gnu.org 2020-09-15 15:48 ` tromey at sourceware dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-26197-4717-TS4RzoEhSQ@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).