parsing fails when namespace is redefined
This xml file cannot be loaded in minidom.spectest.xml
<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
<rng:name xmlns:rng="http://relaxng.org/ns/structure/1.0"></rng:name>
</rng:grammar>
thread 'spectest' panicked at 'called `Result::unwrap()` on an `Err` value: Error(InvalidElementClosed, State { next_error: None, backtrace: Some(stack backtrace:
0: 0x56e3199c44 - backtrace::backtrace::libunwind::trace
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/backtrace/libunwind.rs:53
- backtrace::backtrace::trace<closure>
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/backtrace/mod.rs:42
1: 0x56e319a0af - backtrace::capture::{{impl}}::new_unresolved
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/capture.rs:88
2: 0x56e319a00e - backtrace::capture::{{impl}}::new
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/capture.rs:63
3: 0x56e318d18c - error_chain::make_backtrace
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.10.0/src/lib.rs:417
4: 0x56e318d24f - error_chain::{{impl}}::default
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.10.0/src/lib.rs:504
5: 0x56e3173d77 - minidom::error::{{impl}}::from_kind
at /home/user/src/relaxng_rust/<error_chain_processed macros>:52
6: 0x56e3174032 - minidom::error::{{impl}}::from
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/error.rs:5
7: 0x56e315b002 - core::convert::{{impl}}::into<minidom::error::ErrorKind,minidom::error::Error>
at /checkout/src/libcore/convert.rs:398
8: 0x56e31715dd - minidom::element::{{impl}}::from_reader<&[u8]>
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/element.rs:322
9: 0x56e31702b5 - minidom::element::{{impl}}::from_str
at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/element.rs:124
10: 0x56e310e9b3 - core::convert::{{impl}}::try_from<minidom::element::Element>
at /checkout/src/libcore/convert.rs:453
11: 0x56e31093c3 - core::str::{{impl}}::parse<minidom::element::Element>
at /checkout/src/libcore/str/mod.rs:2466
12: 0x56e310d093 - alloc::str::{{impl}}::parse<minidom::element::Element>
at /checkout/src/liballoc/str.rs:1724
13: 0x56e311239d - spec::spectest
at tests/spec.rs:9
14: 0x56e3122751 - <F as test::FnBox<T>>::call_box::h909adad0de87b437
15: 0x56e321f91c - __rust_maybe_catch_panic
16: 0x56e311371a - std::sys_common::backtrace::__rust_begin_short_backtrace::h711e533aad7ce303
17: 0x56e3114462 - std::panicking::try::do_call::hb1969d8724e85263
18: 0x56e321f91c - __rust_maybe_catch_panic
19: 0x56e311bf92 - <F as alloc::boxed::FnBox<A>>::call_box::h3d7dc99368b296fa
20: 0x56e32178cb - std::sys::imp::thread::Thread::new::thread_start::h10fad04495d944f7
21: 0x7fb7b46b9233 - start_thread
22: 0x7fb7b41e575e - __GI___clone
23: 0x0 - <unknown>) })', /checkout/src/libcore/result.rs:860:4
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
1: std::sys_common::backtrace::_print
2: std::panicking::default_hook::{{closure}}
3: std::panicking::default_hook
4: std::panicking::rust_panic_with_hook
5: std::panicking::begin_panic_new
6: std::panicking::begin_panic_fmt
7: rust_begin_unwind
8: core::panicking::panic_fmt
9: core::result::unwrap_failed
at /checkout/src/libcore/macros.rs:41
10: <core::result::Result<T, E>>::unwrap
at /checkout/src/libcore/result.rs:738
11: spec::spectest
at tests/spec.rs:9
12: <F as test::FnBox<T>>::call_box
13: __rust_maybe_catch_panic