ldk-c-bindings
2 years agoImplement `Clone` for `SecretKey`
Matt Corallo [Thu, 3 Mar 2022 03:20:07 +0000 (03:20 +0000)]
Implement `Clone` for `SecretKey`

2 years agoMerge pull request #60 from TheBlueMatt/main v0.0.105.0
Matt Corallo [Wed, 2 Mar 2022 18:53:49 +0000 (18:53 +0000)]
Merge pull request #60 from TheBlueMatt/main

Update to 0.0.105

2 years agoUpdate bindings workflow in CI to 0.0.105
Matt Corallo [Wed, 2 Mar 2022 03:24:28 +0000 (03:24 +0000)]
Update bindings workflow in CI to 0.0.105

2 years agoUpdate auto-generated bindings to 0.0.106
Matt Corallo [Wed, 2 Mar 2022 03:53:18 +0000 (03:53 +0000)]
Update auto-generated bindings to 0.0.106

2 years agoUpdate demo.cpp with latest upstream API
Matt Corallo [Wed, 9 Feb 2022 21:48:41 +0000 (21:48 +0000)]
Update demo.cpp with latest upstream API

2 years agoExplicitly refer to `format!()` with an `alloc` prefix for no-std
Matt Corallo [Wed, 2 Mar 2022 05:33:31 +0000 (05:33 +0000)]
Explicitly refer to `format!()` with an `alloc` prefix for no-std

2 years agoAdd function-call generic parameters when they're resovable
Matt Corallo [Wed, 2 Mar 2022 03:19:46 +0000 (03:19 +0000)]
Add function-call generic parameters when they're resovable

We really shouldn't ever actually need to do this - rustc should be
smart enough to figure out what we're doing given all the
parameters are concrete types, but this appears to be failing
sometimes.

2 years agoHandle `Option<[u8; 32]>`, mapping it same as `Option<&[u8; 32]>`
Matt Corallo [Wed, 2 Mar 2022 01:23:07 +0000 (01:23 +0000)]
Handle `Option<[u8; 32]>`, mapping it same as `Option<&[u8; 32]>`

2 years agoDon't mark everything with a feature bound as TestOnly
Matt Corallo [Wed, 9 Feb 2022 21:46:27 +0000 (21:46 +0000)]
Don't mark everything with a feature bound as TestOnly

2 years agoConvert slices containing non-primitives that are clonable
Matt Corallo [Wed, 9 Feb 2022 21:16:31 +0000 (21:16 +0000)]
Convert slices containing non-primitives that are clonable

2 years agoUpdate build for lightning-invoice no-std support
Matt Corallo [Wed, 9 Feb 2022 19:21:35 +0000 (19:21 +0000)]
Update build for lightning-invoice no-std support

2 years agoRecognize `bitcoin::bech32::u5` instead of only `bech32::u5`
Matt Corallo [Wed, 9 Feb 2022 18:11:08 +0000 (18:11 +0000)]
Recognize `bitcoin::bech32::u5` instead of only `bech32::u5`

2 years agoMerge pull request #59 from TheBlueMatt/main
Matt Corallo [Tue, 1 Mar 2022 04:19:24 +0000 (04:19 +0000)]
Merge pull request #59 from TheBlueMatt/main

Detect aarch64-osx for using apple sed as well

2 years agoDetect aarch64-osx for using apple sed as well
Matt Corallo [Mon, 21 Feb 2022 18:36:19 +0000 (18:36 +0000)]
Detect aarch64-osx for using apple sed as well

May fix #58, but there's probably other broken stuff around.

2 years agoMerge pull request #57 from TheBlueMatt/main
Matt Corallo [Mon, 17 Jan 2022 00:19:00 +0000 (00:19 +0000)]
Merge pull request #57 from TheBlueMatt/main

Optimize more aggressively for WASM builds

2 years agoOverwrite ldk_ver.h to avoid back-to-back builds duplicating consts
Matt Corallo [Sun, 16 Jan 2022 03:02:37 +0000 (03:02 +0000)]
Overwrite ldk_ver.h to avoid back-to-back builds duplicating consts

This causes back-to-back builds to have an ldk_ver.h for which the
oldest content dominates.

2 years agoStop passing -mcpu=sandybridge to wasm builds on x86
Matt Corallo [Sun, 16 Jan 2022 02:49:36 +0000 (02:49 +0000)]
Stop passing -mcpu=sandybridge to wasm builds on x86

2 years agoUse -O1 on WASM debug builds as they are otherwise too slow to run.
Matt Corallo [Sun, 16 Jan 2022 00:06:17 +0000 (00:06 +0000)]
Use -O1 on WASM debug builds as they are otherwise too slow to run.

2 years agoDrop `cargo rustc` in favor of using $RUSTFLAGS
Matt Corallo [Sat, 15 Jan 2022 23:22:23 +0000 (23:22 +0000)]
Drop `cargo rustc` in favor of using $RUSTFLAGS

cargo rustc only passes the given arguments to the linking rustc,
not any building rustc calls, which is not generally what we want.

This further reduces `liblightningjs_release.wasm` from 2.4MB to
2.3 MB.

2 years agoOptimize more aggressively for WASM builds
Matt Corallo [Sat, 15 Jan 2022 22:59:11 +0000 (22:59 +0000)]
Optimize more aggressively for WASM builds

Use `-Oz` instead of `-Os` because why not, and include LLVM
bitcode in C dependencies.

This reduces `liblightningjs_release.wasm` from 3.0MB to 2.4MB,
likely mostly from removing secp256k1 symbols that were unused.

2 years agoMerge pull request #54 from TheBlueMatt/main v0.0.104.1
Matt Corallo [Thu, 6 Jan 2022 19:54:22 +0000 (19:54 +0000)]
Merge pull request #54 from TheBlueMatt/main

Support `no-std`

2 years agoUpdate auto-generated bindings
Matt Corallo [Wed, 5 Jan 2022 06:43:58 +0000 (06:43 +0000)]
Update auto-generated bindings

2 years agoUpdate git commit hash to instead point to 0.0.104-bindings branch
Matt Corallo [Thu, 6 Jan 2022 03:48:01 +0000 (03:48 +0000)]
Update git commit hash to instead point to 0.0.104-bindings branch

2 years agoSupport no_std on the generated crate
Matt Corallo [Tue, 4 Jan 2022 20:30:55 +0000 (20:30 +0000)]
Support no_std on the generated crate

2 years agoSwap std references in generated code for core/alloc references
Matt Corallo [Tue, 4 Jan 2022 20:30:37 +0000 (20:30 +0000)]
Swap std references in generated code for core/alloc references

2 years agoSupport building dependent crates with `no-std`
Matt Corallo [Tue, 4 Jan 2022 19:09:50 +0000 (19:09 +0000)]
Support building dependent crates with `no-std`

2 years agoMerge pull request #53 from orenfromberg/patch-1
Matt Corallo [Wed, 29 Dec 2021 19:34:59 +0000 (19:34 +0000)]
Merge pull request #53 from orenfromberg/patch-1

Improving readability of genbindings.sh

2 years agoUpdate genbindings.sh
Oren Fromberg [Wed, 29 Dec 2021 03:26:15 +0000 (22:26 -0500)]
Update genbindings.sh

2 years agoMerge pull request #52 from TheBlueMatt/main v0.0.104.0
Matt Corallo [Mon, 20 Dec 2021 09:38:14 +0000 (09:38 +0000)]
Merge pull request #52 from TheBlueMatt/main

Correct non-default lld version passing

2 years agoCorrectly detect non-default LLD usage
Matt Corallo [Mon, 20 Dec 2021 06:13:55 +0000 (06:13 +0000)]
Correctly detect non-default LLD usage

Passing `-flto=ld*.lld-X` only appears to actually work on debian
testing. The correct argument for an alternative version of LLD is
`-flto=lld-X`.

2 years agoRevert "Correct LLD detection when a specific version is needed for X-lang LTO"
Matt Corallo [Mon, 20 Dec 2021 05:24:14 +0000 (05:24 +0000)]
Revert "Correct LLD detection when a specific version is needed for X-lang LTO"

This reverts commit b33cce1a6255564b88e0615eb5c7941bd7b15759.

2 years agoMerge pull request #51 from TheBlueMatt/main
Matt Corallo [Mon, 20 Dec 2021 05:03:40 +0000 (05:03 +0000)]
Merge pull request #51 from TheBlueMatt/main

0.0.104 Bindings Updates

2 years agoOnly test C++ demo in std mode, as it relies on threading support
Matt Corallo [Mon, 20 Dec 2021 01:20:06 +0000 (01:20 +0000)]
Only test C++ demo in std mode, as it relies on threading support

2 years agoUpdate git reference in checked-in Cargo.toml and CI branch
Matt Corallo [Sat, 18 Dec 2021 04:08:03 +0000 (04:08 +0000)]
Update git reference in checked-in Cargo.toml and CI branch

2 years agoUpdate auto-generated bindings
Matt Corallo [Sat, 18 Dec 2021 03:31:43 +0000 (03:31 +0000)]
Update auto-generated bindings

2 years agoCorrect LLD detection when a specific version is needed for X-lang LTO
Matt Corallo [Sat, 18 Dec 2021 02:45:15 +0000 (02:45 +0000)]
Correct LLD detection when a specific version is needed for X-lang LTO

Also use the full LLD specified as ld*.lld as it seems to be needed
on Linux with LLD 13 now.

2 years agoUpdate C++ bindings to latest upstream API
Matt Corallo [Sat, 18 Dec 2021 02:38:05 +0000 (02:38 +0000)]
Update C++ bindings to latest upstream API

2 years agoSupport Option<()> (and &Option<()>) incl conversion and printing
Matt Corallo [Sat, 18 Dec 2021 02:07:52 +0000 (02:07 +0000)]
Support Option<()> (and &Option<()>) incl conversion and printing

2 years agoDrop allow_wallclock_use feature and use std/no-std directly
Matt Corallo [Sat, 18 Dec 2021 02:06:00 +0000 (02:06 +0000)]
Drop allow_wallclock_use feature and use std/no-std directly

2 years agoMap new lightning::chain::keysinterface::KeyMaterial type as [u8; 32]
Matt Corallo [Sat, 18 Dec 2021 02:05:49 +0000 (02:05 +0000)]
Map new lightning::chain::keysinterface::KeyMaterial type as [u8; 32]

2 years agoExpose a 12-byte array instead of 10-byte as OnionV2 has changed
Matt Corallo [Sat, 18 Dec 2021 02:02:10 +0000 (02:02 +0000)]
Expose a 12-byte array instead of 10-byte as OnionV2 has changed

2 years agoMerge pull request #49 from TheBlueMatt/main v0.0.103.1
Matt Corallo [Tue, 30 Nov 2021 21:55:52 +0000 (21:55 +0000)]
Merge pull request #49 from TheBlueMatt/main

0.0.103.1

2 years agoSupport cross-language LTO on OSX (with upstream clang/lld)
Matt Corallo [Tue, 30 Nov 2021 16:19:08 +0000 (16:19 +0000)]
Support cross-language LTO on OSX (with upstream clang/lld)

2 years agoUpdate git commit in Cargo.toml to upstream bindings changes
Matt Corallo [Tue, 30 Nov 2021 15:40:46 +0000 (15:40 +0000)]
Update git commit in Cargo.toml to upstream bindings changes

2 years agoUpdate auto-generated bindings
Matt Corallo [Fri, 19 Nov 2021 20:12:13 +0000 (20:12 +0000)]
Update auto-generated bindings

2 years agoExpose a method to unmangle pointers in test builds
Matt Corallo [Mon, 29 Nov 2021 01:28:30 +0000 (01:28 +0000)]
Expose a method to unmangle pointers in test builds

This is used by Java bindings to compare all pointers against those
returned by its malloc wrap, possibly catching some simple
use-after-free or invalid pointer deref bugs.

It is exposed only when built as debug and defined in C headers
with `LDK_DEBUG_BUILD` defined.

2 years agoSupport `use self::...` statements as they are sometimes use for submodules
Matt Corallo [Wed, 24 Nov 2021 18:07:57 +0000 (18:07 +0000)]
Support `use self::...` statements as they are sometimes use for submodules

2 years agoSupport new c_bindings cfg flag to enable bindings-specific logic
Matt Corallo [Mon, 22 Nov 2021 02:06:37 +0000 (02:06 +0000)]
Support new c_bindings cfg flag to enable bindings-specific logic

2 years agoUpdate C/C++ demos to support new Logger API
Matt Corallo [Sun, 21 Nov 2021 18:46:53 +0000 (18:46 +0000)]
Update C/C++ demos to support new Logger API

2 years agoStop special-casing `Logger`, instead map fmt::Arguments to string
Matt Corallo [Sun, 21 Nov 2021 18:19:14 +0000 (18:19 +0000)]
Stop special-casing `Logger`, instead map fmt::Arguments to string

2 years agoCorrectly print lifetime parameters when printing generic arguments
Matt Corallo [Sun, 21 Nov 2021 18:17:35 +0000 (18:17 +0000)]
Correctly print lifetime parameters when printing generic arguments

2 years agoSupport traits and structs with lifetime bounds (which are ignored)
Matt Corallo [Fri, 29 Oct 2021 18:59:25 +0000 (18:59 +0000)]
Support traits and structs with lifetime bounds (which are ignored)

2 years agoSupport mapping MaybeReadable
Matt Corallo [Fri, 19 Nov 2021 20:04:36 +0000 (20:04 +0000)]
Support mapping MaybeReadable

This fixes https://github.com/lightningdevkit/ldk-garbagecollected/issues/62

2 years agoAdd helper method on results to return `result_ok`
Matt Corallo [Fri, 19 Nov 2021 20:11:56 +0000 (20:11 +0000)]
Add helper method on results to return `result_ok`

This fixes https://github.com/lightningdevkit/ldk-garbagecollected/issues/59

2 years agoMerge pull request #48 from TheBlueMatt/main v0.0.103.0
Matt Corallo [Wed, 3 Nov 2021 21:17:11 +0000 (21:17 +0000)]
Merge pull request #48 from TheBlueMatt/main

0.0.103.0 Updates

2 years agoUpdate upstream git tag
Matt Corallo [Wed, 3 Nov 2021 03:52:52 +0000 (03:52 +0000)]
Update upstream git tag

2 years agoUse a branch for bindings, as rustc prevents us from using main
Matt Corallo [Wed, 3 Nov 2021 03:39:09 +0000 (03:39 +0000)]
Use a branch for bindings, as rustc prevents us from using main

2 years agoUpdate auto-generated bindings
Matt Corallo [Mon, 1 Nov 2021 21:49:12 +0000 (21:49 +0000)]
Update auto-generated bindings

2 years agoUpdate C++ bindings to latest upstream API + test PaymentRetrier
Matt Corallo [Mon, 1 Nov 2021 03:38:31 +0000 (03:38 +0000)]
Update C++ bindings to latest upstream API + test PaymentRetrier

2 years agoAvoid double-`ObjOps::nonnull_ptr_to_inner` on options in some cases
Matt Corallo [Tue, 2 Nov 2021 05:58:14 +0000 (05:58 +0000)]
Avoid double-`ObjOps::nonnull_ptr_to_inner` on options in some cases

2 years agoSeparate logic to print `create_ownable_reference` types
Matt Corallo [Mon, 1 Nov 2021 18:35:30 +0000 (18:35 +0000)]
Separate logic to print `create_ownable_reference` types

These types aren't actually mapped in the same way as all other
types, so we really shouldn't be trying to use the same conversion
logic for both.

2 years agoImplement additional `Into<Str>` auto-conversion
Matt Corallo [Mon, 1 Nov 2021 18:35:43 +0000 (18:35 +0000)]
Implement additional `Into<Str>` auto-conversion

2 years agoTrack generic param count and print types in ptr-conversion
Matt Corallo [Mon, 1 Nov 2021 17:55:20 +0000 (17:55 +0000)]
Track generic param count and print types in ptr-conversion

This will allow rustc to prevent an issue where we accidentally
map `&&Object as *const _` to get a `*const Object`, instead
getting a pointer to a pointer.

2 years agoAdd constructor for tuple types where all contained types are known
Matt Corallo [Mon, 1 Nov 2021 04:33:09 +0000 (04:33 +0000)]
Add constructor for tuple types where all contained types are known

2 years agoCheck if types are understood before we map an impl block for them
Matt Corallo [Sun, 31 Oct 2021 23:32:55 +0000 (23:32 +0000)]
Check if types are understood before we map an impl block for them

2 years agoSupport `use crate::*` statements
Matt Corallo [Sun, 31 Oct 2021 18:13:00 +0000 (18:13 +0000)]
Support `use crate::*` statements

2 years agoMap `PaymentId` to a `[u8; 32]` like other Payemt* IDs.
Matt Corallo [Sun, 31 Oct 2021 18:11:10 +0000 (18:11 +0000)]
Map `PaymentId` to a `[u8; 32]` like other Payemt* IDs.

This should solve https://github.com/lightningdevkit/ldk-garbagecollected/issues/52

2 years agoSupport resolving non-trivial bounds from parent generic contexts
Matt Corallo [Sun, 31 Oct 2021 23:27:11 +0000 (23:27 +0000)]
Support resolving non-trivial bounds from parent generic contexts

2 years agoSupport converting Option<&[]> to C
Matt Corallo [Sun, 31 Oct 2021 23:14:41 +0000 (23:14 +0000)]
Support converting Option<&[]> to C

2 years agoimpl-Trait on in-crate types in a diff mod from the type definition
Matt Corallo [Sun, 31 Oct 2021 18:09:31 +0000 (18:09 +0000)]
impl-Trait on in-crate types in a diff mod from the type definition

2 years agoSupport printing lifetime generics on an impl-Trait block
Matt Corallo [Sun, 31 Oct 2021 18:07:47 +0000 (18:07 +0000)]
Support printing lifetime generics on an impl-Trait block

2 years agoSupport printing impl generics without an immediate bound
Matt Corallo [Sun, 31 Oct 2021 18:06:42 +0000 (18:06 +0000)]
Support printing impl generics without an immediate bound

(e.g. if you have `fn <A> ... where A: Trait` we'd not have printed
`<A>`)

This further supports printing impl generics with a reference to a
struct (not a trait), which we concretize with a regular reference.

2 years agoSwap --pretty=expanded with -Zunpretty=expanded
Matt Corallo [Sun, 31 Oct 2021 04:42:10 +0000 (04:42 +0000)]
Swap --pretty=expanded with -Zunpretty=expanded

Apparently the `--pretty` option was dropped in newer
rustc, see https://github.com/rust-lang/rust/pull/83491

2 years agoMerge pull request #46 from TheBlueMatt/main v0.0.102.0
Matt Corallo [Mon, 18 Oct 2021 20:43:06 +0000 (20:43 +0000)]
Merge pull request #46 from TheBlueMatt/main

0.0.102 Bindings Updates

2 years agoBump upstream git commit to latest
Matt Corallo [Sun, 17 Oct 2021 00:05:09 +0000 (00:05 +0000)]
Bump upstream git commit to latest

2 years agoUpdate auto-generated bindings
Matt Corallo [Sat, 16 Oct 2021 22:22:11 +0000 (22:22 +0000)]
Update auto-generated bindings

2 years agoUpdate C++ demo to latest upstream changes
Matt Corallo [Sat, 16 Oct 2021 22:16:44 +0000 (22:16 +0000)]
Update C++ demo to latest upstream changes

2 years agoHandle bitcoin::Transaction aliases instead of the full path
Matt Corallo [Sat, 16 Oct 2021 22:16:27 +0000 (22:16 +0000)]
Handle bitcoin::Transaction aliases instead of the full path

2 years agoCorrectly convert Option<Generic<Inner>> to C
Matt Corallo [Tue, 12 Oct 2021 02:09:03 +0000 (02:09 +0000)]
Correctly convert Option<Generic<Inner>> to C

2 years agoDrop stale manual path mappings for generic containers
Matt Corallo [Tue, 12 Oct 2021 02:07:34 +0000 (02:07 +0000)]
Drop stale manual path mappings for generic containers

These are all mapped as generic containers now so there's no need
for manual mapping entries.

2 years ago[net] Ensure we don't spin loop by keeping the poll write bit set
Matt Corallo [Sun, 3 Oct 2021 21:41:18 +0000 (21:41 +0000)]
[net] Ensure we don't spin loop by keeping the poll write bit set

Previously we'd not been unsetting POLLOUT, which will result in
us spin-loop'ing with ChannelManager_write_buffer_space_avail.

Further, we'd also not been unsetting the POLLIN bit, which would
result in us never pausing read as the SocketDescriptor API
requires us to.

2 years agoMerge pull request #45 from TheBlueMatt/main
Matt Corallo [Tue, 28 Sep 2021 01:54:37 +0000 (01:54 +0000)]
Merge pull request #45 from TheBlueMatt/main

Correct clone logic for `Str`.

2 years agoUpdate auto-generated bindings to latest upstream
Matt Corallo [Tue, 28 Sep 2021 01:07:41 +0000 (01:07 +0000)]
Update auto-generated bindings to latest upstream

2 years agoUpdate git commit dependency to latest upstream
Matt Corallo [Tue, 28 Sep 2021 01:08:14 +0000 (01:08 +0000)]
Update git commit dependency to latest upstream

2 years agoCorrect clone logic for `Str`. v0.0.101.3
Matt Corallo [Mon, 27 Sep 2021 23:24:43 +0000 (23:24 +0000)]
Correct clone logic for `Str`.

Previously we'd blindly clone'd the fields, which, if
`data_is_owned` is set, will always result in a a double-free.

Instead, we always clone the underlying bytes, setting
`data_is_owned` on the returned value since its likely the caller
wants to hold onto the string outside of the current context.

2 years agoMerge pull request #44 from TheBlueMatt/main v0.0.101.2
Matt Corallo [Sun, 26 Sep 2021 22:54:31 +0000 (22:54 +0000)]
Merge pull request #44 from TheBlueMatt/main

2 years agoDetect a type as clonable with an explicit `impl Clone`
Matt Corallo [Sun, 26 Sep 2021 06:19:07 +0000 (06:19 +0000)]
Detect a type as clonable with an explicit `impl Clone`

These stay `impl Clone` even after the pretty-print rustc pass so
we cannot only match `core::clone::Clone`

2 years agoFix races in demo C++ bindings that can hang valgrind in CI
Matt Corallo [Sat, 25 Sep 2021 21:43:38 +0000 (21:43 +0000)]
Fix races in demo C++ bindings that can hang valgrind in CI

2 years agoCache multi-line sed replacements across methods to improve runtime
Matt Corallo [Sat, 25 Sep 2021 00:38:03 +0000 (00:38 +0000)]
Cache multi-line sed replacements across methods to improve runtime

2 years agoMerge pull request #43 from TheBlueMatt/main v0.0.101.1
Matt Corallo [Fri, 24 Sep 2021 22:56:26 +0000 (22:56 +0000)]
Merge pull request #43 from TheBlueMatt/main

Link libm for debug builds in testing due to new rust libstd dep

2 years agoLink libm for debug builds in testing due to new rust libstd dep
Matt Corallo [Fri, 24 Sep 2021 22:46:35 +0000 (22:46 +0000)]
Link libm for debug builds in testing due to new rust libstd dep

2 years agoMerge pull request #42 from TheBlueMatt/main
Matt Corallo [Fri, 24 Sep 2021 21:25:35 +0000 (21:25 +0000)]
Merge pull request #42 from TheBlueMatt/main

Update to v0.0.101

2 years agoBump lightning dep gitish to v0.0.101
Matt Corallo [Thu, 23 Sep 2021 18:45:18 +0000 (18:45 +0000)]
Bump lightning dep gitish to v0.0.101

2 years agoUpdate C and C++ demos to latest API and test custom messages
Matt Corallo [Thu, 23 Sep 2021 02:57:30 +0000 (02:57 +0000)]
Update C and C++ demos to latest API and test custom messages

2 years agoUpdate auto-generated bindings
Matt Corallo [Mon, 6 Sep 2021 01:13:29 +0000 (01:13 +0000)]
Update auto-generated bindings

2 years agoCall clone explicitly to avoid deref recursion when cloning traits
Matt Corallo [Fri, 24 Sep 2021 18:28:18 +0000 (18:28 +0000)]
Call clone explicitly to avoid deref recursion when cloning traits

2 years agoAdd missing C++ header for LDK::Str
Matt Corallo [Thu, 23 Sep 2021 02:59:04 +0000 (02:59 +0000)]
Add missing C++ header for LDK::Str

2 years agoStop tracking unused syn::Type mappings in GenericResolver
Matt Corallo [Thu, 23 Sep 2021 20:02:20 +0000 (20:02 +0000)]
Stop tracking unused syn::Type mappings in GenericResolver

They are now unused as of the previous commit

2 years agoUse `GenericTypes`'s type resolver instead of re-resolving
Matt Corallo [Wed, 22 Sep 2021 06:04:50 +0000 (06:04 +0000)]
Use `GenericTypes`'s type resolver instead of re-resolving

When we resolve a type with `GenericTypes::maybe_resolve_path` it
returns a resolved-path string as well as a syn::Path. When
resolving we'd previously then re-resolve the Path with the current
type/import information, instead of just accepting what was already
resolved. Simply accepting what was already resolved not only
simplifies a few cases, but also allows us to clean up where the
"crate::" prefix is printed, keeping "crate::" prefixes out of all
type resolution.

2 years agoWork around broken resolution on non-pub use aliasing in another module
Matt Corallo [Wed, 22 Sep 2021 23:14:41 +0000 (23:14 +0000)]
Work around broken resolution on non-pub use aliasing in another module